verify a proof
Verify is how a proof gets closed out the happy way: the account closes, the deposit goes home, and a permanent receipt gets minted.
A proof just sitting there is a promise waiting to be handled. Verify is the handling. One transaction does three things at once:
- The proof account closes. It's gone from chain, but this explorer keeps its whole history.
- The deposit goes to the beneficiary. The wallet the prover picked at creation time gets the rent back.
- A metaproof gets minted. A small permanent receipt that says this proof was handled. Chapter 5 is all about these.
who can verify?
By default, anyone. Any wallet can verify any open proof, at any time, even after the timer runs out. The deposit still goes to the recorded beneficiary, not the verifier, so there's nothing to steal. But the proof does get closed by whoever moves first.
If that's a problem for your use case, lock the proof to one specific verifier wallet. That's chapter 7.
a handshake, not a quiz
Here's the part most people get wrong, so read it twice. A plain verify does not check your answer. The program doesn't ask you to prove you know the original data. It closes the proof and writes the receipt. A handshake.
Want the quiz version, where the program actually checks the math and rejects wrong answers? That's merkle mode, chapter 6.
the attestation data
When you verify, you attach a fresh 32-byte value. We call it the attestation. It becomes the data inside the new metaproof receipt, and the receipt lives at the address computed from it.
do not reuse the proof's own data
verifying from this explorer
On any open proof's page there's a verify_proof button. One click. The app derives everything, picks a safe attestation, simulates the transaction first, and only then asks your wallet to sign. If something would fail, you find out before your wallet ever opens.