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 4m 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
0x94f2302e6d06c02da6ab336eb92826bd12528da36367d1d9af17f5c27b2d5e78
block 26,363,893 · 32 siblings fold it to the chain root · index = block number
L2Chain root
0x88e84fb26939d94c67549d22fc4ec046e6c5bd276ad7c2802604417e50e177e0
22,956,531 headers under it
L6Finality
0x2ed2392272aab7c4950b7dae00a278a23330098b5e8b4ddb37afb2b0222a9f50
ETH_POS_CHECKPOINT · finalized at block 26,363,794
L3Path to the root7 siblings
7 siblings combine the chain into the root · leaf 1 of 80
L1Root
0x3908d33ea74830fb24b7544cdef914475819f1294d70e9564baaa0717a962633
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.