Checking the proof in your browser…

All of Bitcoin's coins,
checked in half a second.

One 1.6 MB proof shows that Bitcoin's chain is valid and holds exactly these 164 million unspent coins. Your browser checks it, then lets you look up any coin.

1.6 MBthe whole proof
0.5 sto check it here
164.5 Mcoins covered
2 MBdownload per coin lookup

Powered by Stwo, in Zig

How it works

Do the heavy work once. Check it anywhere.

Normally you trust a node, or spend days running your own. A proof replaces both.

Replay Bitcoin

GPUs replay every block and apply Bitcoin Core's rules, coin by coin.

Compress into one proof

All that work becomes a single STARK proof of 1.6 MB.

Anyone checks it

Any browser checks the proof in under a second. No node needed.

Try it

Check it yourself

Everything below runs in your browser. The files come from plain storage, and nothing is taken on trust.

Step 1

Your browser checks the proof

This started when the page opened.

Step 2

Look up a coin

A coin, or UTXO, is written txid:output. Your browser fetches about 2 MB of the 14 GB coin list and checks it against the proof.

Have a proof file? Check an .sbmember

Don't trust, verify. Now it takes half a second.

Why it matters

What it could unlock

Trustless bridges

strkBTC signers could mint on Starknet only by proving the BTC really arrived on Bitcoin. No proof, no mint.

Nodes in minutes

A new node downloads the proof and the coin list, checks them, and is ready. No days of syncing.

Why Lean

The rules are proven, not just tested

A proof is only as good as the circuit behind it. One missed rule, and a fake chain could pass.

So each circuit is written in Lean, a language for math proofs. A computer checks that it enforces Bitcoin Core's rules.

provenSHA256 matches the official standard
provenHeaders follow Bitcoin Core's header rules
provenBlocks and coins add up exactly
testedLean rules match Bitcoin Core's own code
Status

Is it ready? Not yet.

It works end to end. Three things stand between this and production.

$

Updating costs GPU timeProving up to the newest block costs about $50 to $100 of GPU time, so the proof is refreshed now and then. That cost is tractable.

=

Same trust as a Core snapshotThe proof starts from Bitcoin Core's own coin set snapshot at block 935,000. Earlier blocks are not replayed, only their headers and proof of work are checked. Like Core's assumevalid, it does not check signatures and scripts. The other block rules are checked for every block from 935,001 on.

?

Not yet reviewedNo external review yet of the proof system or its circuits.