how a proof settles

From "are you allowed?" to a receipt, in about two seconds.

One order on a tokenized-equity venue, followed end to end. Hover any black bar to see what stays hidden at that step.

The timeline.

t − 1 day

The venue publishes what it needs.

Requirement: jurisdiction ∈ permitted_set and age ≥ 18. Accepted issuers: five KYC providers. Max TTL: 90 days. Scope: self. This is on-chain and public.

t − 30 s

Your wallet reads it on page load.

Before you touch anything, the wallet checks it holds a matching credential from an accepted issuer and pre-warms the prover. If nothing matches, it tells you which issuers would work.

t = 0

You press "buy".

The wallet shows exactly what the venue will learn — two booleans and an expiry — and what stays under the bar: name issuer jurisdiction code date of birth. You confirm.

t + 0.4 s

The proof is computed on your device.

Credential decrypted in memory, circuit run, proof produced, credential re-sealed. No server is involved. The output is a few hundred bytes that reveal nothing.

t + 0.5 s

A relayer submits the settlement.

The proof goes to a relayer, which pays gas and calls the receipt registry on Robinhood Chain. Your address is not the sender.

t + 2 s

The registry verifies and writes a receipt.

On-chain: claim id, true, scope = the venue, expires in 30 days, nullifier. Nothing else. The venue's contract can now read check() and fill your order.

t + 1 week

You come back. Nothing to do.

The receipt is live. The venue calls check() again; it passes. No proof, no prompt.

t + 30 d

The receipt expires.

It becomes inert. Next time you trade, the wallet proves again — under a second — and a fresh receipt replaces it. Nothing persisted past the window you set.

What each party ends up holding.

partyholdsnever holds
youthe credential, the proof, the receipt id
the venuea receipt: two booleans, expiry, a scope-bound nullifieryour name, issuer, field values, other venues' receipts
the issuerthe fact that it signed a credential oncewhere or when you used it
the relayera proof (opaque) and a request IPthe credential, the link between nullifier and IP if it follows policy
Robinhood Chainthe receiptwho you are

If something goes wrong.

The claim is false. The proof still computes, with result false. You can choose not to settle it. Nothing about why it was false leaves the device.

The credential was revoked. The proof fails against the issuer's latest revocation root. The wallet explains and points you back to the issuer. Existing receipts remain valid until they expire.

The relayer is down. The wallet falls back to another relayer, or, if you allow it, submits directly from your address with a warning about linkability.