verify a proof
Verify closes a proof the happy way. The account closes, the deposit goes back to the beneficiary, and the program mints a permanent receipt.
An open proof is waiting for someone to handle it. Verify is the handling. One transaction does three things:
- 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 gets the rent back.
- The program mints a metaproof. A small permanent receipt that says this proof was handled. Chapter 5 covers 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 whoever moves first closes the proof.
If that's a problem for your use case, lock the proof to one verifier wallet. That's chapter 7.
a handshake, not a quiz
Read this part twice. A plain verify does not check your answer. The program never asks you to prove you know the original data. It closes the proof and writes the receipt. A handshake.
Want the program to check the math and reject wrong answers? That's merkle mode, chapter 6.
the attestation data
When you verify, you pass in a fresh 32-byte value. This explorer calls it the attestation. It becomes the data inside the new metaproof, so the receipt lives at the address derived from it.
do not reuse the proof's own data
verifying from this explorer
Every open proof's page has a verify_proof button. One click. The app derives the accounts, picks a safe attestation, simulates the transaction, and only then asks your wallet to sign. If something would fail, you find out before your wallet opens.