Anchor batch 20261005

22879 signal snapshots, hashed into one root and written to Arbitrum One. The list below is the batch's exact composition, in the order the tree was built — that order is part of the root.

Merkle root
0x2fe724f9fe21578e344b60fe062939096dd10e68c3c46eef159574882b4633eb
Network
Arbitrum One
Anchored
Oct 5, 2026 04:30 UTC
Last re-checked against the chain
Oct 10, 2026 — the root on chain was read back and rebuilt from our rows that day

Read the root from a node rather than from us — roots(20261005):

curl -s https://arb1.arbitrum.io/rpc -X POST -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0xceacc40cf7b7c797d990dce7164fcccd87dad693","data":"0xc2b40ae4000000000000000000000000000000000000000000000000000000000135288d"},"latest"]}'

Every leaf in this batch

22879 total · page 26 of 229

Leaves are numbered from zero in tree order. Each one is computed here by hashing that signal's stored snapshot — not copied out of a column — so a row whose bytes changed after the anchor shows up as a mismatch. Open a signal to see those bytes and the branch that carries it to the root.

2500 USUSDT Jul 31
3617f895d7832a58ac421d38ad22307d03cedce71a816e56158628f1b078997a
2501 SPCXUSDT Jul 31
d14e60e98206e241ac4277915b1d2f199760d789aa308b0c9e2bea07d3382dd4
2502 ESPUSDT Jul 31
2e283dbd2dc453cadb25f4fe4f29b3c004a405f0c8fbf6ae381efa972e3e9e0a
2503 ADAUSDT Jul 31
953af2e4ff9007fd26284add93b073d8f7ba41eed465d9fe9132e4c2282bfd82
2504 AKEUSDT Jul 31
686174df962fbc1e0827738bc8e0ed3325fb181d7e7c90f8354f9237f848a2ab
2505 ZECUSDT Jul 27
337e443bade3e10e9bf00da6a62de178739adcdcc4bb30c8d37b835f8a4243fe
2506 ETHUSDT Jul 27
5fb438a2a1280bd9f255144c8adfe9ef8ea809152844e303334bc24ead6100d6
2507 SOLUSDT Jul 27
01790ddacf1589ba0d64eca51edb9043aabd4a8cc32889fe49fc262c1f0f3040
2508 BTCUSDT Jul 23
29b238b241ab11fa36dce710385383caf698f4c52c94654c195874117188ea5c
2509 ETHUSDT Jul 23
f38444b5b78f2e8416c00a3537b2e8a0129de32477e7008d686bd46ea28fe6cd
2510 BANKUSDT Jul 23
c5394cdb68356f8eb54cdc2d206f8e4293f600f084ce6345b14d176b06a535d8
2511 BCHUSDT Jul 22
e13d9b9733d7b796f478c8810b53b1801352337710138d3c43980be99da16893
2512 SOLUSDT Jul 20
48215d3c2816e9fced3682314f1e55e7b93f6480a27985edd42058b3dd418b30
2513 ZECUSDT Jul 20
77c65954150386bffab4643efa73c1a4440ec135615d447e23a5f7bf5b1cc2d4
2514 ETHUSDT Jul 20
f1988f23019980f961daad94e9fc66135714e5a4ff3506d78bcb0cc9175acc14
2515 SANDUSDT Oct 3
5116260c1c1389b964a0e1d995839bde2f1448c20c42cf589c0ff64a42711cd2
2516 MAGMAUSDT Oct 3
e88ce42c82ed261e8875772a348c3f447000d5c543bdf8f6babd9c669dd4fa75
2517 MOVRUSDT Oct 1
e8e3772055f730eb47fc236cbf9ce60b25b726f0b6b80d67a114f2c5005d8ea2
2518 MOVRUSDT Oct 1
2510f6e96a26c5eaabe16cf357f6f6b6a83a59593a68a323a5cd49d69e4596e1
2519 MOVRUSDT Sep 30
d84625bd02ecb1ca2c0b6dcee0fc3cbae5ebd8f21429346944bc6660e3cd9b87
2520 INITUSDT Sep 29
9d9e5067c2ccac691fcaf5827705c2b9ac4b5dc25c49e1859508939307de37a9
2521 QNTUSDT Sep 26
7cf5e8518f2bb40220fdc046f78be4299032e09f426f970412d315c76b4ac886
2522 CCUSDT Sep 26
889595e1ca687e9f124b99a8ca65715557da2a7f607e13312753f7bd28d8a12d
2523 NEARUSDT Sep 26
cfbffe9c14ba7507f92e7c72214afd9d5306be73dfa11d2c4b97b910356dbaa8
2524 LYNUSDT Sep 25
8302cf3ee2f3f0a60143ffbe74f904c80c8e885c3c7093f3d07223e628e6b16e
2525 PHAUSDT Sep 25
63ab90750d1bf7b74a595af6cf558a946302b821f84573471089e67530bdbd09
2526 PHAUSDT Sep 25
8133dd98080dee78b9bca57c8b2562d281bbf00f33fad4617f13e352d862e20a
2527 SAGAUSDT Sep 24
79881e1aef8bd95c59c24984a6ba5f90b73924b3de3146dbf1503e0e9aed82dc
2528 BROCCOLIUSDT Sep 24
9fae22edd940a6a4206f05761ea45248977dfcc5406b96e4586600d35749b568
2529 NILUSDT Sep 24
4df3ad53a59a08a0484fb220c1674e7fa0f46a51b436a0dd0cead1d23aca02af
2530 DEEPUSDT Sep 23
cedd405276f0fa7f229f7f2677a19ef5ff3d28424adf093105d8d5e3e942f3cf
2531 TAKEUSDT Sep 23
bc7a627c7da42357f77d97936ffbaa6ee35ef5b1f8546769d6ab5afeb567b0eb
2532 METUSDT Sep 23
0562ab297a7e3ecba2f48fbd20ece41284565ab80e11ce8574f8435aa796ab7c
2533 MUBARAKUSDT Sep 22
fb422f0914804013687b0d10e34f4bb715f6976fa88deee57c5f282ab21a6a16
2534 MUBARAKUSDT Sep 22
71082c542fc835635bfd4373ca50603a5105e566f3886ca5c3967f7808de724d
2535 INTWUSDT Sep 22
8df71f1d1e2b1556984cf6ce8901d6982f0336d4ae43b7bae04fbb0e02215501
2536 AIOZUSDT Sep 22
935961c2ba8adc13dc6bd781ff96c3eb3fbb02d293c4ca4172b2784e82a361be
2537 BRUSDT Sep 21
8bc4ad7b87de23573faeb5f36f4b7750c3818f4ee6d0b9c32ea2a4e85c76e313
2538 MUBARAKUSDT Sep 21
41dbfcc576f34238852de4b38e1b5be78ff0aac1b926e1535507d7aef9bc21e5
2539 PHAUSDT Sep 21
4a0da1c325347a3a6bbcd1d5534a75af55d10a58bc799e79fe763a340876508a
2540 BRUSDT Sep 19
c86ca66954aa682bca7cd3018d649887c9ccaec6543d18dbb309fac973e85197
2541 AKEUSDT Sep 19
d8d88c8e51f3c66cf6c6b455d53b4f8eb324ade5f4d30b5444d127291ce32296
2542 B2USDT Sep 19
5c6bf66f41fcfe600954b1925f786fb6df01a8b9c379ed3a8236cc9bf74ee9bb
2543 NEARUSDT Sep 18
ca3143ccab1bbc1616a62297543f684fbcd8aed66362a9bc3896c8b71bad2f2e
2544 FUSDT Sep 18
21e7c0cebe89690ddf2900c07a8d2944a4d06b8465220dfa7b75bd4ab3efd55c
2545 LSKUSDT Sep 18
e823ab34daf319baa3194c327ca9172f378295e6de70674ad9b4789c319ace65
2546 CROSSUSDT Sep 18
80322401b59a3f297587ea8374a3be00a9ec34c4d029f771602451cb3b3baac0
2547 COTIUSDT Sep 17
4aa58df3f9336811110a1f7012452ff232297f46638dac8c2095a46b04fd609a
2548 BRUSDT Sep 17
a5d46a27d3ba9e06f9ddf2a044df6cea20e01fa85fd130d5b9762c02c512abf6
2549 ONEUSDT Sep 17
69adeac0a6c2e9adef939da8b5beadd665736755ca90584a2904e38955734cad
2550 AVAUSDT Sep 17
e424b54af2f0b1e20330b1a45560b628a2835f48444d99345adf136263638837
2551 BRUSDT Sep 17
5497840f285b0d4c28b05bc801aa8269d6b3b1446242b38d7b08bb95d07ea5a3
2552 AKEUSDT Sep 16
acba9a4b0b169b57b4b717df861b0bf8558d2065a640b4091e48a79ebf48ac04
2553 LSKUSDT Sep 16
d8510059d80f99fbdacb9e91549cbcc1c1f92d5a65be546f4ea7d0b7093e337c
2554 BRUSDT Sep 14
3f1cc4132cc17e7020ce399583f5e72fe9deb19edb5739c5da581b317c546fba
2555 CVCUSDT Sep 13
9e75a8228bd3fd8ed04bc668dc3c4fac43ef95f9d12335049a6aa266e58e7ea1
2556 FFUSDT Sep 13
c874a89b74b6a5fc4ba50ca0c1623d9a5db3637f53da552f61a8d7bd2c1c24a0
2557 LSKUSDT Sep 13
cc785dc8703a7dea85d4af97853b04a95717fa4c72928eb15c27a9a692f4e48a
2558 SHIB1000USDT Jul 25
69852865e6bf8963d78398b2dd77f98388cce706211c02d90ba0f85e199e4a77
2559 BANKUSDT Jul 19
bb0f04c8b9f33fcaf5daac40b64e1f3c596ba0006d4c91d270609f26a532ec4c
2560 ALLOUSDT Jul 13
39dcd7af8afc3871064f0fc245501b5c68c53afa4049d33b3bddb3da934ba2fd
2561 KITEUSDT Jul 13
e8ef20b18cbb1dc12745aefb519c6ae241d8f93a4ad86ebca0a4f407b04cfe30
2562 SENTUSDT Jun 16
550e5f9883e37c5f6a7524cebd3c9add889ab5d356a3a097ea6ef188be4cf6a0
2563 BSBUSDT Jun 16
2670a92f7a52481d101b0f881a3a197be45c26694d1d2d70aeaf1db1b1cb8012
2564 ZROUSDT Jun 15
1bb97bf29ec6cc61200a9d711f070852466b33363bffe78c5686c8f718596b55
2565 BTCUSDT Oct 2
f5d361d10f2ee7372f65a4977ac64be4d13933021d79eeb95e26faf172c75c2f
2566 BTCUSDT Oct 1
22d36468c84e961f32546aed80a6eab35899d5d1b9258330afbabbc73e36dabe
2567 BTCUSDT Sep 30
a6eaa330d543218242ca322f1a17e076a9f94693843ea29393e90fc9a9bae0d4
2568 BTCUSDT Sep 30
70d2e3ca87a21fcd655c0ab62e6c7ee4f21b8cc9bd962f420625afdc5c653e4d
2569 BTCUSDT Sep 30
918b0c5ac28a6c5a976bc3b6f9caa54993bf41bf5c3a5fb69cfc00fb4c01a5e9
2570 BTCUSDT Sep 29
dd751b55a8c2e5304ca990137298b12f68e033aabdefbab5fef6d1e39819f916
2571 BTCUSDT Sep 27
2398144ab537b5d9b312e05ae005d99d18d69d9c19f9d7a5b646c48dbc3c58aa
2572 BTCUSDT Sep 25
affbf3b6e6c69cbae986638058e63afaab5237d55027642ce7d6ea146ff62cb3
2573 BTCUSDT Sep 25
bd14ec26d252f25a25e70069a0bcf3764f411533fcf9c700cdd28c8368245e88
2574 BTCUSDT Sep 24
843095a2c00c4e5107418f92826514d1e13c25fd96ff39e348853fbb911b2e99
2575 BTCUSDT Sep 23
93cf8ce47b22213b143614ac4b7d2d6ad468b8579b12c0e879679408ed44d322
2576 BTCUSDT Sep 22
f64084b6a3cd06e73b1555ed44e27e541f72b0c10354f0342ddd323b6b6c0cfb
2577 BTCUSDT Sep 21
e782a1607bee19f02d678ac7994dc33b1846176b7195fe328c340443942c5c8f
2578 BTCUSDT Sep 21
1a471544d375a5a13a0d9e553cb6ffd9f068277ce2d74b3a98e3546e19b30086
2579 BTCUSDT Sep 20
102fe59089fd99a269712c43fff33dacce65a364de143f8255b1fd92eea2b8bd
2580 BTCUSDT Sep 20
1594a6842c01b2513d34286c3e8eaafb18fc6f3bb8854859bc25ffaae77d3554
2581 BTCUSDT Sep 19
200bdad658208d57a294769eaed035261171c9fc5292ffed2b0d01958907e652
2582 BTCUSDT Sep 18
227ae106bcdfc144c7489ba849d969405312b057304e4d20b4883ae5fd2c8a64
2583 BTCUSDT Sep 17
908376bd08ea091e624d4224591bebc91e5bc1c56185e767e899105a7440986b
2584 BTCUSDT Sep 14
79095990200b9cba0208b6666f8722cc69cbdfc608b86ab1225a761870e31788
2585 BTCUSDT Sep 13
00c505ad8df6df594782f08f441c3d6b8b16e12f807c2e2cb5a4a7abe4186bb3
2586 BTCUSDT Sep 13
bb64bcb37b4fee08c0a04686e011d0298da54e3cd7bbb1ce43a232c4d6aea570
2587 BTCUSDT Sep 11
34cac663c9933248c103ee694c634c351549a6deaad9f80b6935177cda9af892
2588 BTCUSDT Sep 9
d38934c4c0a7f02cf140791a294b5cb8fe06fceaa63af32c7dcea935874dd9e4
2589 BTCUSDT Sep 9
a579c44ad7e7df2a0a5f088007ea435920f3256f5d370d2dfe48586e0d4f052a
2590 BTCUSDT Sep 9
4870f7e96b95da32caaaa82125569c6a9997ae30a4d351130993b8951a10381a
2591 BTCUSDT Sep 6
15c7c759803f907e94b01976d2bd7feed569731ceee684ac26739f2ed8644094
2592 BTCUSDT Sep 6
77849e12203713d6bdbdd59c4fc4ee52f2ad9121e434e7a1d9214ec693aae064
2593 BTCUSDT Sep 4
b040750c64ce4a1918bc9340b849356ab5ed357863b90764ddf4af36c1838d3d
2594 BTCUSDT Sep 3
7040657ee47ae883557f99cc1868941612593380d743c2e8f5e54b83fbd42876
2595 BTCUSDT Sep 1
f59934c4ee1a463a45ef514113b37ee0ec6365ee3b0e1f7ce38e39e9a52b285e
2596 BTCUSDT Aug 31
31cd37bb35b73dca8bfd799ffae29532c2e3a63c10adbe2b678f8ee5d2bb9442
2597 BTCUSDT Aug 31
a9e0496a27c953ed1a516f57280fed8e5005267d65784408defb6e61a5e68711
2598 BTCUSDT Aug 31
c9aef7759ca96f6bd194756da949d7450a3ee0f5e9d7cb8393469c03477f0c95
2599 BTCUSDT Aug 30
380a97b5bee4c3a0dcf72b93a8b157df22be621460daf5e9c4335a796826ee72

Rebuild the root yourself

Take the leaves above in this order and fold them pairwise. The specification is published word for word on the verification page; the short version is below, and the rule that catches most reimplementations is the odd node — it is carried up unchanged, never paired with itself.

import hashlib

level = [bytes.fromhex(h) for h in leaves]      # in the order listed above
while len(level) > 1:
    nxt = [hashlib.sha256(level[i] + level[i + 1]).digest()
           for i in range(0, len(level) - 1, 2)]
    if len(level) % 2:
        nxt.append(level[-1])                   # promoted, never duplicated
    level = nxt

print('0x' + level[0].hex())