What does "verified" mean here?
If you click Check this outcome and see a green Verified badge, it means the serverHash you pasted matches the hash that Provable.io committed to before generating the random outcome for that clientSeed. We cannot change a past serverHash after it has been issued — so a match is cryptographic proof that the outcome you have in hand is the one we actually produced.
How verification works
Every Provable.io response carries three things you need to keep: a clientSeed (your input), a serverHash (our pre-commitment), and a shortId (a permalink to the outcome). When you submit those values here, the verifier:
- Looks up the original seed state we stored for your
clientSeed. - Confirms the
serverHashyou pasted is the one we committed to before generating any outcome for that seed. - Returns the list of outcomes that share that seed/hash pair, so you can share a permalink to the exact one in question.
Want to verify without trusting our server? Use the open-source @provableio/provable-core library — it reproduces the exact byte stream from a clientSeed + revealed serverSeed. For day-scale auditing, the /transparency page lets you check inclusion proofs against the daily Merkle root.
A deeper explainer — HMAC-SHA512 mixing, commit-reveal, Merkle roots, signed webhooks — lives at /security →
Where do I find these values?
Every response from /api/floats, /api/ints, /api/dice, and other RNG endpoints includes clientSeed, serverHash, and a shortId. Save them when you make the request — they are the receipt. Account holders can also browse outcomes on the dashboard and copy the values directly.
If you only have the shortId, paste it into a URL like https://provable.io/o/<shortId> to land on the outcome's permalink page.
Don't have a shortId? Browse the recently shared outcomes wall → for real examples you can click straight through to.