exit-protocol.io / log

Evidence log

EXIT appends its own observation records to one append-only Merkle log (RFC 6962). Roots are committed on Solana in a memo transaction. Everything needed to check this is published here, and the verifier is a single Python file that imports nothing from EXIT.

Current anchored state

Anchored tree size200 records (the log holds 200; 3 anchors so far)
Root (SHA-256)54e5d8d4e5682a4d971a55865bd001e4a5818a56169ffef5599b90862ef7778b
Anchor transactionZrMT4j1SbNDfGoNm5u5YEqL4F9ZA5VqYALRPJMJfZ1g3mkQxyvtBLewAEWvDsuDu7QKR5iBwihd6Sw7GBVpJnaf
Solscan ยท Solana Explorer
Slot, block time (UTC)462273926, 2026-10-28T00:30:07Z
Expected cadenceOne anchor a day, shortly after 00:30 UTC. If the block time above is more than about 26 hours old, an anchor was missed; the log itself still verifies.
MemoEXIT-ROOT-v1 200 54e5d8d4e5682a4d971a55865bd001e4a5818a56169ffef5599b90862ef7778b 2026-10-28 134
Notary key4QuiVCiYFzBjHFNEzZnHu9WCYBAZPnUxtfHcWX9UkqJH
Records with published proofs198 records at the anchored size. 2 further records have their proofs held until their own publication, or belong to an account; their leaves are in the tree.

Verify it yourself

Python 3.9 or later, standard library only. Download exit_log_verify.py, read it, then run:

python3 exit_log_verify.py log https://exit-protocol.io/log/ --rpc https://api.mainnet-beta.solana.com
python3 exit_log_verify.py proof https://exit-protocol.io/log/proofs/200/00000000.json \
  --rpc https://api.mainnet-beta.solana.com --notaries https://exit-protocol.io/log/notaries.json

The first command rebuilds every root from the published leaves, checks every consistency proof, and fetches every anchor transaction to compare its memo and signer. The second checks one record: its leaf, its audit path to the root, and the anchor. Any Solana RPC provider works; use one you trust.

What a passing check proves

New roots use append-sequence/2: insertion order is separate from a record's stated known_at. A late record does not backdate inclusion or change an earlier root. Service-private submissions are distinct from operator-authored public research.

stated knowledge time โ†’ bounded admission โ†’ append position โ†’ independently verified anchor

Admission can be deferred or refused. Account views report capacity, expiry or unavailable status; a pending submission is not an anchored record.

What it does not prove

Memo format

EXIT-ROOT-v1 <tree size> <root> <log date, UTC> <previous tree size>. The last field is the size of the previous root in roots.json, the root that the consistency proof starts from. It is not a reference to an earlier anchor: the first anchor (tree size 68) names 66, the log's first root, which was never anchored itself.

Files

Not in this version