expire a proof
Every proof has a timer. When it runs out and nobody verified, anyone can sweep the proof up. The deposit goes to the protocol. The cleanup crew.
Proofs can't live forever. If they could, dead proofs would pile up on chain like junk mail. So every proof gets a timer at creation, and the ceiling is hard: 30 days, no more.
how the timer works
The timer is a moment in time, not a countdown you can pause. Before it, expire is impossible: the program rejects it with a ProofNotExpired error. After it, expire is open season:
- Anyone can call it. No permission needed. Even locked proofs (chapter 7) can be expired by anyone. This is on purpose: deposits should never get stuck.
- The account closes, and its deposit goes to the protocol treasury. Not the beneficiary. Not the caller.
- A metaproof receipt still gets minted, same as verify. The record always survives.
Notice who doesn't get paid: you, the person calling expire. You even pay for the receipt. Expiring is a public service, not a payday. Around here a little robot called the reaper does most of it.
the lesson
Verify before the timer runs out. Verified means the deposit went back to the beneficiary. Expired means the treasury took it. Same closed account, very different endings for your SOL.
reading the status words
This explorer uses four words, and they mean exactly this:
| status | meaning |
|---|---|
| pending | alive, timer still running. verify me. |
| expired | timer done, but still on chain. ready for anyone to call expire. |
| verified | closed the happy way. deposit went to the beneficiary. |
| closed | the expire call ran. deposit went to the treasury. |