REDACT / Compose
Predicate composer

Define the predicate. The client does the rest.

This is the same prompt the extension presents before proving. Choose an origin, a field, and a threshold. The preview on the right is what a verifier receives. Nothing is transmitted until the proof is complete.

Verifiers enforce their own maximum age. This sets the value shown in the preview.
Live proving requires the extension. Request access.
credential, non-transferableRobinhood Chain
follower_count ≥ 100,000origin: instagram.com
proof0x3f9a...c21e
issuedblock 4201338
holder0x8a4e...c41f
circuittls-predicate-v2
notaryredact-tee-01
max age7d
The verifier receives the claim line and the proof. The field value is not recoverable from either.
Flow

What happens after you press generate.

In the extension, this sequence runs locally. Timings are typical for a laptop.

0.0 s
Extension opens the source endpoint in your existing logged-in session with the notary attached.

Origin sees a normal browser request.

0.4 s
Notary signs a commitment to the encrypted response.

Notary never sees plaintext.

0.9 s
Client decrypts locally and isolates the one field at the pinned path.

Everything else is discarded from the witness.

2.1 s
Client generates the Groth16 proof.

Runs in a web worker. No network activity.

3.0 s
Wallet prompts once to submit the proof to the registry.

Gas is paid by the holder. Credential is minted to the holder address.