Verify UMBRA
light client · runs in your browserDon't trust this website. This page downloads the raw block headers and rebuilds every block hash from block 0 on your machine, re-runs the proof of proof on recent blocks, then fetches every anchor straight from Solana and checks that Solana recorded the same hash your browser computed. If the node lied about any block, one of the three stops red.
Rebuild every block hash
Each hash is recomputed from the block's own fields (height, previous hash, time, difficulty, roots, nonce), and each block must point at the one before it, back to genesis.
Re-run proof of proof
For recent blocks: re-derive the seed and the 32 Fiat–Shamir challenges, re-check every opened step over Goldilocks, and check the commitment beats the difficulty.
Match every Solana anchor
Each anchor's memo is read from a Solana RPC (not from this node) and its hash must equal the one your browser rebuilt for that height.
After a full check, your browser signs "I verified umbra-1 up to block N, hash H" with its own ed25519 key and posts it. The node only accepts it if that hash is really its block N. Run one on a server: node verifier/watch.js.
Code: client/light.js, client/pop.js, client/rct.js on GitHub. The page uses only /api/headers, /api/proof/:height and /api/anchors?all from the node; everything is checked locally.