Prove a transaction on any chain.
For bridges, solvers and agents: prove a block, a transaction or an event on any covered chain, and check the proof yourself.
WHY YOU CAN TRUST THE ARRIVAL
One transfer, six steps up to one root.
Your transfer is a cell on the tape. Seventeen sibling hashes carry it up to the root anchored on Taifoon mainnet. Anyone can redo the climb.
Reading the last transfer's proof.
Submissions into the root
How often each chain and each protocol submits into its twig roots under the superroot, and what has reached the target chains. Counts are measured in spinner; a row is live when its last submission is within 3 block times, quiet when it lags, silent when nothing arrived in the window. Measured 1h ago.
| chain | state | leaves / h | last leaf | twigs / 24h | tree tip | in root | committed run |
|---|---|---|---|---|---|---|---|
| Ethereum 1 | live | 294 | 11s | 4 | 26,364,010 | yes | |
| Optimism 10 | live | 1,772 | 1s | 22 | 159,234,091 | yes | |
| Unknown 25 | live | 8,089 | 1s | 95 | 104,467,986 | yes | |
| BSC 56 | live | 7,871 | 1s | 94 | 132,228,342 | yes | |
| Gnosis 100 | live | 700 | 1s | 9 | 49,158,737 | yes | |
| Unichain 130 | live | 3,542 | 1s | 42 | 63,318,600 | yes | |
| Polygon 137 | live | 2,361 | 1s | 28 | 96,907,669 | yes | |
| Monad 143 | live | 11,681 | 1s | 139 | 120,220,781 | yes | |
| Sonic 146 | live | 1,605 | 1s | 20 | 82,221,511 | yes | |
| Manta Pacific 169 | live | 354 | 1s | 5 | 9,984,299 | yes | |
| X Layer Mainnet (OKX) 196 | live | 3,543 | 1s | 42 | 75,297,922 | yes | |
| Solana 200 | live | 16,119 | 1s | 193 | 466,570,461 | yes | |
| Unknown 204 | live | 14,176 | 1s | 168 | 203,800,072 | yes | |
| Fantom 250 | live | 171 | 1s | 4 | 123,983,448 | yes | |
| Fraxtal 252 | live | 1,771 | 1s | 21 | 43,628,123 | yes | |
| zkSync Era 324 | live | 432 | 1s | 4 | 72,791,893 | yes | |
| Polkadot 400 | live | 590 | 1s | 7 | 33,774,551 | yes | |
| Kusama 401 | live | 572 | 1s | 7 | 35,998,680 | yes | |
| World Chain 480 | live | 1,777 | 11s | 21 | 37,365,654 | yes | |
| Tron 500 | live | 876 | 1s | 12 | 87,797,728 | yes | |
| Astar EVM 592 | live | 537 | 1s | 7 | 15,397,452 | yes | |
| Flow EVM 747 | live | 4,427 | 1s | 53 | 84,347,965 | yes | |
| Acala 787 | live | 292 | 1s | 3 | 12,381,739 | yes | |
| Mode Testnet 919 | live | 1,768 | 1s | 21 | 53,099,510 | yes | |
| Lyra 957 | live | 1,769 | 1s | 21 | 47,022,669 | yes | |
| HyperEVM 999 | live | 3,601 | 1s | 43 | 50,640,284 | yes | |
| Metis Andromeda 1088 | live | 197 | 31s | 2 | 23,381,165 | yes | |
| Lisk 1135 | live | 1,769 | 1s | 21 | 39,669,081 | yes | |
| Sei EVM 1329 | live | 7,545 | 1s | 89 | 242,034,423 | yes | |
| Soneium 1868 | live | 1,771 | 1s | 22 | 30,466,102 | yes | |
| Kava EVM 2222 | live | 622 | 1s | 8 | 23,386,462 | yes | |
| Abstract 2741 | live | 2,716 | 1s | 23 | 88,877,561 | yes | |
| Peaq 3338 | live | 510 | 1s | 7 | 12,290,058 | yes | |
| Unknown 4663 | live | 33,980 | 1s | 402 | 108,526,115 | yes | |
| Mantle 5000 | live | 1,771 | 1s | 21 | 102,968,321 | yes | |
| Unknown 5042 | live | 6,991 | 1s | 83 | 30,032,347 | yes | |
| Unknown 7560 | live | 1,768 | 1s | 21 | 40,319,190 | yes | |
| Kaia (formerly Klaytn) 8217 | live | 3,532 | 1s | 42 | 231,863,742 | yes | |
| Base 8453 | live | 17,714 | 1s | 211 | 54,382,918 | yes | |
| X1 EcoChain Testnet (Maculatus) 10778 | live | 1,180 | 1s | 14 | 12,233,901 | yes | |
| ApeChain 33139 | live | 4,016 | 1s | 46 | 54,194,088 | yes | |
| Mode 34443 | live | 1,772 | 1s | 21 | 46,949,687 | yes | |
| Taifoon Devnet 36927 | live | 1,646 | 1s | 21 | 2,841,302 | yes | |
| Arbitrum 42161 | live | 12,373 | 1s | 141 | 522,124,970 | yes | |
| Celo 42220 | live | 3,541 | 1s | 42 | 82,166,199 | yes | |
| Avalanche C-Chain 43114 | live | 3,833 | 1s | 43 | 99,685,650 | yes | |
| Ink 57073 | live | 3,543 | 1s | 42 | 60,568,546 | yes | |
| Linea 59144 | live | 346 | 1s | 3 | 32,542,663 | yes | |
| BOB (Build on Bitcoin) 60808 | live | 1,770 | 1s | 21 | 40,602,485 | yes | |
| Unknown 80094 | live | 1,772 | 1s | 21 | 28,526,120 | yes | |
| Base Sepolia 84532 | live | 17,712 | 1s | 211 | 55,725,441 | yes | |
| Taiko Alethia 167000 | live | 1,771 | 1s | 21 | 13,711,555 | yes | |
| Hydration 222222 | live | 1,554 | 11s | 20 | 16,734,738 | yes | |
| Arbitrum Sepolia 421614 | live | 12,450 | 1s | 153 | 326,978,069 | yes | |
| Scroll 534352 | live | 315 | 1s | 4 | 35,641,194 | yes | |
| Espresso 1000006 | live | 7,530 | 1s | 88 | 31,021,264 | yes | |
| Taifoon Mainnet 3692781 | live | 1,351 | 1s | 24 | 2,546,694 | yes | |
| Zora 7777777 | live | 1,771 | 1s | 21 | 53,686,557 | yes | |
| Ethereum Sepolia 11155111 | live | 291 | 11s | 3 | 12,084,686 | yes | |
| Bitcoin 21000000 | live | 5 | 17m | 1 | 974,941 | yes | 4,271 blocks |
| Unknown 223 | quiet | 716 | 31s | 8 | 40,149,561 | yes | |
| Unknown 5757 | quiet | 303 | 16m | 4 | 9,436,254 | yes | 108,303 blocks |
| Unknown 42170 | quiet | 14 | 4m | 3 | 85,291,033 | yes | |
| X Layer Testnet (deprecated) 195 | silent | 0 | 27d | 0 | 72,955,433 | yes | |
| Polygon zkEVM 1101 | silent | 0 | 0 | 33,391,890 | yes | ||
| Moonbeam 1284 | silent | 0 | 0 | 16,796,699 | yes | ||
| Moonriver 1285 | silent | 0 | 0 | 17,381,654 | yes | ||
| Blast 81457 | silent | 0 | 8d | 0 | 42,240,859 | yes | |
| RARI Chain 1380012617 | silent | 0 | 0 | 4,086,594 | yes |
| protocol | state | transitions / h | sequence | last | lanes |
|---|---|---|---|---|---|
| erc8183 | live | 5 | 5,979 | 44m | 1 |
| mayan_swift | live | 1,559 | 776,248 | 2s | 22 |
| taifoon_assurance | live | 5 | 5,270 | 42s | 12 |
| taifoon_coord | live | 26 | 24,742 | 9m | |
| taifoon_pipe | live | 11 | 14,316 | 4m | |
| across_v3 | quiet | 5,403 | 1,262,119 | 2s | 20, 1 behind |
| layerzero_v2 | quiet | 1,760 | 1,493,807 | 2s | 52, 2 behind |
| bitagent | silent | 0 | 1,201 | 24d | 1 |
| memo_acp | silent | 0 | 3,946 | 3d | 1 |
| u_demo_counter | silent | 0 | 39 | 23d | 1 |
| u_taifoon_bridge_arc | silent | 0 | 0 | 17d | 1 |
Six layers, one root
A proof is a path. The block is hashed into its chain’s root, the chain’s root into the one root over every chain, and the block is final on its own chain. This is one proof, read live; each tick is one sibling hash it folds with.
L5Event
carried when you prove a transaction or a log
L4Block32 siblings
0xf662f410fd0af653cd693365b021adb802136e43b8e03ad0705312590a31c59f
block 26,364,344 · 32 siblings fold it to the chain root · index = block number
L2Chain root
0x7aa272217300a09327e25b9ba7684a8b7c28f12f0d00e63389ded443139a6dd8
22,965,458 headers under it
L6Finality
0x86104360e1a54051f4f2791492c2f46cb59c34cbb9830951eaaf4d14fa5b54c1
ETH_POS_CHECKPOINT · finalized at block 26,364,209
L3Path to the root7 siblings
7 siblings combine the chain into the root · leaf 1 of 80
L1Root
0xcae2c17d93ea0be6313639fc72c6b5ee0921502af93bfcc51cc43bdc7d114b2b
one hash over every chain, sealed every 10 seconds
Prove what your protocol depends on, with one API
Bridges, intents, solvers, oracles and agents all rest on the same facts: this block happened, this transaction is in it, this event was emitted. The coordination layer proves them on 60+ chains through one API, and anyone can check the proof without trusting Taifoon.
| Current root | one hash that commits every chain, refreshed every 10 s | LIVE |
| Blocks are canonical | up to 256 blocks in one compact proof, under the root | LIVE |
| Your transaction happened | receipt, block and root checked together | LIVE |
| Full V5 proof | the six-layer blob a contract verifies | LIVE |
| What the layer watches | decoded cross-chain activity per chain and contract, refreshed every 4 minutes | LIVE |
| An order, end to end | every transition of a bridge, intent or agent job in one bundle | NEXT |
| Signed quotes and commitments | RFQ answers and solver commitments as provable facts | NEXT |
Agent view · the calls
| Current root | GET /v1/root |
| Blocks are canonical | GET /v1/proof/blocks/{chain}?blocks=a,b,c |
| Your transaction happened | GET /v1/proof/tx/{chain}/{tx} |
| Full V5 proof | GET /v1/proof/verifiable/{chain} |
| What the layer watches | GET /v1/genome/live |
| An order, end to end | /v1/proof/order/{protocol}/{key} |
| Signed quotes and commitments | POST /v1/attest |
Check it yourself
The proof explorer above does exactly this in your browser: it recomputes the proof with keccak and compares it with the published root. The same construction runs in Rust and in Solidity, where checking a batch of blocks costs about 18k gas.
Agent view · the same in three calls
# 1. three Base blocks, one proof (≈ a few hundred bytes) curl -s "https://coord.taifoon.dev/v1/proof/blocks/8453?blocks=52136000,52136001,52136010" # 2. one of your transactions curl -s https://coord.taifoon.dev/v1/proof/tx/8453/0x<your tx hash> # 3. check it yourself: two folds, no Taifoon code trusted # multiRoot(blockTree) == anchor.root # fold(chainLeaf(anchor), anchor.l3Siblings) == anchor.superrootHash
Ready today for
Order-level proofs for bridges, intents and agent jobs are next; the block and transaction proofs they build on are live now.
Onboard your protocol
Get a proof of one of your own transactions, verify it, then register your contracts and events so the layer decodes and tracks your orders. Registration has a dry run that tells you, per chain, what is proven for you.
Browse the most recent MMR twig per chain.
Every block header lands in a twig. Each {chain, block, twig_index} maps to a Merkle path to that chain's own root, then into the one root over every chain. These are the live tips, sampled from the busiest chains right now.