Verify UMBRA

light client · runs in your browser

Don'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.

01 · headers

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.

–
02 · proofs

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.

–
03 · solana

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.

–
watchtowers · independent verifiers–
watchtowers–
active 24h–
attestations–
server watchtowers–

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.

logidle
readypress verify the chain

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.