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 9, 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 224 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.

22300 DOGSUSDT Aug 10
fe764c960a61dfee70db9f7542b5fd690d48dc8d6e493423e878084d456610d6
22301 ARBUSDT Aug 9
344875e31f415fe403389a7cbe90b230ddaa2780dd5dc3a72ed25de701890cd1
22302 MAGICUSDT Aug 9
fe4b6f0ddd3843be38bc9b271d27bb229927f3d9765759c2f6b65269cad6cf1f
22303 DYDXUSDT Aug 9
562ffca0aae8fb3e7fc75aee70a795ef7e4a2635de4147416f32b9a292b31e21
22304 GALAUSDT Aug 9
f02bf2cb9c8fb09a133c54b2aeb5a61bc8c7e0b2bb07747aebf3de06ffbb80c8
22305 XRPUSDT Aug 9
b8a7c0fd6aa8cb45c485b01f9eacbbda22f8966b77eef5e7c8fdb98a09d0e547
22306 APEUSDT Aug 8
4c3bf06012a554d24fe9bfa1921b044d83abdd1e922ccb1f1a57bd3699f6739e
22307 LDOUSDT Aug 8
4e050d63fc9c28ba691e3a35dfbdc94de1ccdc91b3f2d2f4cc1d67290872ff89
22308 DOTUSDT Aug 8
1dc9d38b9e56d8191af8882f99bce733ce83d1f544e874ced1591e50b519ebc8
22309 HOTUSDT Aug 8
05a5a2b21079a77b6d2eedbd98068cafaa7cdb25294b4d6a0283a2357506906c
22310 XAIUSDT Aug 8
3017077e2998ef34a9396392d31f5c20d89501ecbef62f7a5952e625af97f1f8
22311 CAKEUSDT Aug 6
acce51d1a7ba1efa0c02cd4ae419ba2ff71509b78f1609d5e0809462481a1ad1
22312 HBARUSDT Aug 6
94b1730c497c50e0fdfc7dd1927f4708b9fe2561157dedc3c17e8d4d3c74012a
22313 SHIBUSDT Aug 6
cf0b9448aaa9fda6492be168fc58570a4b7ab91d9ec578467a8807085b0e895c
22314 FETUSDT Aug 6
c802d93ec615aaf49fe84a54da6253bec2068a4d1bcbf4c117217c7c38314293
22315 ZRXUSDT Aug 6
7c96f2a891bbc951177d20670d265d9dc9eaca6e59fbdb485b752cfb94a92106
22316 INJUSDT Aug 6
8d07027933ad8c3ac5691be74447df89d02376de2abe39012acddce38e496eb7
22317 FLUXUSDT Aug 6
3f1a9461d682ebef50bb0ddc92ca940f0fe1a2fad1cb7df0c95827a0cf4e785c
22318 ZROUSDT Aug 6
9ee37494b10a2406c63cc141f0555f715454997d1319fc6f2f65753ede599ec4
22319 MYXUSDT Aug 6
7bfeef8e9533e7b6ae3b67a9ca9c32177b4c11fcb6290b2eeec674ffc2771607
22320 CFXUSDT Aug 5
33950612749c2797dcf9c35ccd7899c0cbb0e96846da190d09c1665bac9d6099
22321 CFXUSDT Aug 5
d96f5e3fd9374f7cc14ff0f8cc7b5383f2e2737f72ca9b4cc4c2c186ed08b124
22322 ETCUSDT Aug 5
257111c9b26fc16c344213616d73e41b1bd91ff4f4de36341dbb3ca2f5450ba0
22323 EDUUSDT Aug 5
828e107a932a124b53c3797101e1fcb0f3b8b379259f524f15c48f81d65c12c1
22324 AEVOUSDT Aug 5
f1a2cc6bceeb3ecc671bf1114a8e0fcd2a3a79aa2fd76299de6b105c3d767860
22325 MAGICUSDT Aug 5
90d37bd8d42227c96c9dbf55e25e5728631db3ea09b264a5ab6abbedbf82292c
22326 AVAXUSDT Aug 5
b9b6bae7ce69dcee2e0d1a54822d534a797c148f36eea4c9c15758e490944687
22327 XRPUSDT Aug 5
19cf3d50db18d894daedf646603b960ac27dbd62a1e19637ee574d5b04fee074
22328 DEXEUSDT Aug 5
9046d064b7dbbbd5e7eabb5ba993d991fa93a6c29579986f3e74a2c8325a6483
22329 STRAXUSDT Aug 4
c2345c731e16c226544800e37214efc5ba05951cca64567173263da96d930118
22330 ICXUSDT Aug 4
1d3acf1de1b2d522fa2ba61b834aff84a2390151f8629e8f7e37873a4c7b0065
22331 UNIUSDT Aug 4
6a245daa9ab1d8f1badf4a139070d9dfdd9456f77ee29d51024fa98540f05650
22332 CELOUSDT Aug 4
d5cfc0e5c26ce356a06a8a5c80626aa360e537ab51d4d0f9f7200078a6cb7d5b
22333 AUCTIONUSDT Aug 4
9e58c83a589516a6f09338a493f80dbc17d50a90674228dda0fa3e8d3000427b
22334 CVXUSDT Aug 3
0accacbecb991ea8d4e5ebe6ef5ed4da78602561322c7fef78dc52dcf6829de8
22335 LDOUSDT Aug 3
89889983046017b23509f1bfa5099b452bdcefe1fb53a46908e280bd0261173a
22336 DOGEUSDT Aug 3
d755918eb69d8babaecd50e356415ea4605f028d915ee975fc23268b8d504350
22337 ONDOUSDT Aug 3
087026a27f48949ad0f6106cae85c57a1f86b3bb3b228e3e503da67a781ec3a9
22338 DEXEUSDT Aug 3
308f430a3f34276b87332c1814be7744bcff40937312fa3a7d7f9799507bba09
22339 DASHUSDT Aug 3
75d6766ec5537f878bbd0fbea6688e94ceaeb7c5f55979b80ee5b291de97d62a
22340 DYMUSDT Aug 3
ab55e67fe528ec75292690b48626193202b242253f8ebd895b9fa303ec8bc3a1
22341 BTCUSDT Aug 3
8fab4180d352001f1969b05cbe35a75467d853ccecbbc7f022396d0cd3eb4874
22342 NEOUSDT Aug 2
eac8b62b6c011462008ffc8ec220fd336be9cd4c2e271af220dd1c13cbcc487f
22343 RLCUSDT Aug 2
6d4a56cbe5c78f569b6468305b8e6eca8cdcd28c7b5e3a96680be6bbf5f086a5
22344 LPTUSDT Aug 2
5e2e0322c85299e796de0c6dff1d148fbae97b92073cf666a22dca7bdc7728b1
22345 CHRUSDT Aug 2
e2152e9a77d40f74d1fc7432664dbbaaf7034db1204d89d0a0cd7e530a06b8d1
22346 GALAUSDT Aug 2
fff78e4a489d4b6a1f4247b20f6cebbc334ad421c01b3b4fe1a9b00fc50e3d75
22347 APTUSDT Aug 1
b5619f63ce982020697ffe7c0400490e73b3f466784fab0e35c94fcd414d637b
22348 ONDOUSDT Aug 1
94cbe2245a534b86bb8201c5f0584b2b2cc9d7dad1630e95b9071f768d64dd3b
22349 CFXUSDT Aug 1
14401aaeeb9957aafcd1f4f0fae44a0b2c5b9e94dc4ed9ee23b43ca2a66424a1
22350 ETHUSDT Aug 1
d5c3d046a7f3e16a04dacedf59789aebcf665fde27abf79db51269c4c742e18e
22351 DEXEUSDT Aug 1
75c6c682e2cbd863bb65516bff986e0da2028ccb922666c36c3b23cce227ac9e
22352 BTCUSDT Jul 31
69d1b63dd7b1ef8768f96cf767eac474f98eda8175d4406e32b0a3d944863fec
22353 XAUUSDT Jul 31
3dbffc89dfd438fda597bd9e6edce01da5751c3d44815ab33537127c289b26c6
22354 STRAXUSDT Jul 31
1140a636b01f53c0505f84bef3228ac6779c84895f95b1fe8b1a1249838f1bbf
22355 DOGEUSDT Jul 31
487f3b256ba43d91986d56c35fb6b7c849e019dfba476b9229f2b73d2b226753
22356 ZILUSDT Jul 31
759999572f2a0765c6ae86f0934360e9158c2f1caea6e6e6e81ac37f260419df
22357 RSRUSDT Jul 31
f3fb59523b2489376a11225e13f84a720dc0bbaf609900fa3ee7284e7261b7b5
22358 JTOUSDT Jul 31
4f919d768194a7be90ce8030bebb22b6026ea8e5e49671cc6a42f25f43877808
22359 SUIUSDT Jul 31
72d7d173b67ef00d2d730d281de016a1e607cf564e9673bbfb35b56444d806a6
22360 XVGUSDT Jul 30
50fe14d67d772488fff2687fc7313f638679406df6806731b26d81149db2af74
22361 ONTUSDT Jul 30
f575f45eec25ab0f12282a7a749577dd0bf2c93f24e06a7e8bc1629d34054108
22362 APEUSDT Jul 30
a356ac20260cf1c968417a605391680fa3bf486536311408a406037f48068e8c
22363 DYDXUSDT Jul 30
0c0d98d391bac0c83ac873b8f2466f1ae266f5c69e3f9f52457401c60a2fb329
22364 ADAUSDT Jul 30
b9bec71d38bd5a60d485f272e04d91451f5bc6e1ca64a48d82eaf82cc98928d0
22365 MYXUSDT Jul 30
db9be4108975ee5829da24c7745d2e8b9155565c4c4c2cb7ef724e1a1bd1c535
22366 DASHUSDT Jul 30
64c184b240a54a4fe400c4cc621bc4c02d9f9a3e3fec47ddeac4a572e93a8c15
22367 BTCUSDT Jul 30
4216f74b221aa7f2df6209fc7648fdd953f101f5321c505dbed2d5982d43095c
22368 AUCTIONUSDT Jul 29
a9abf847e2abd04985036a81b68d83b3cbf1f1360a21eec845ef3c57bb03a23c
22369 XAIUSDT Jul 29
635cb2113b15ba72efa961b05e17acc2b801e56c3fc731f584e4aa3c4e1ecdc0
22370 FILUSDT Jul 29
f78382366a7e434727217a128774e09c754f90bc2ed94701289749686e75125c
22371 FLUXUSDT Jul 29
e8ef6947813d2d0cbc04e0098435718756c6c9a133be89f6732ea5d63da628f9
22372 AVAXUSDT Jul 29
7213e814e78e617a3a0ea90f7de84d66901d06a2b41ad07f611e2a28645dbd3e
22373 ZROUSDT Jul 29
e3a9e2de120b1c89a941781d9ad7e297857406ef2994293ee3ce9ae167eaaddf
22374 OPUSDT Jul 29
01a524e43ce5b3f3313f1d42b3faaa48f9b5e5c8dff3620141ef7fd1485aa21c
22375 SEIUSDT Jul 29
edc1e17e2852862e79a19f36b641487474a91c6661e08366e850ef3be903c450
22376 BTCUSDT Jul 28
cbc2f249801c83cfe55b99d7567ebe786bb19fc5da6962e73677a20b01597401
22377 KSMUSDT Jul 28
65b74bbbad305cf2d1e0739e7d07bacf6d1525d95b2c2102ba5bfcecbc4832bb
22378 ETHUSDT Jul 28
5cf6db424a58018b267cb65aeaccdbbd59f632003a3efd47d1d12ff2073d5ac2
22379 CHRUSDT Jul 28
8c33954382cdaa0948693b1229118d02d30718c7787c0205849053047f538231
22380 SOLUSDT Jul 28
0141b872cc39110016bfdc79a732da3d7a7ae6edf7426c88678234d8977709d4
22381 SUIUSDT Jul 28
656e5998c24d2ddbf2ad8fe0c81be01c0509b6c344c793861ce85fbef5105acf
22382 WLDUSDT Jul 28
c28da25008f70b46b1d1515ce01fcd23a2727e5e4861cd322a0e300559f016e1
22383 DOGSUSDT Jul 28
7d850a5d15fb2fd9a94c6b93bce2cb2c43467e916050e0e7ec2b4f93f2b24a91
22384 BTCUSDT Jul 27
f04748340e08ca52e7c9ebcadbd377e6b1f60b3dc5929f18779805f195d9adc5
22385 RIVERUSDT Jul 27
ccfc6c4a9386ef1b4d36e1284e7979bbb283c5870f870071455d373c104196ce
22386 GALAUSDT Jul 27
76a27dc8a02439c81cce7ee735a5261d91cb65b0adc1c462e98260e2f876d9b1
22387 PORTALUSDT Jul 27
0efe70051804cf314df2f9dc3e717d5725697e3f34fe89eca7245fee2864c174
22388 DYMUSDT Jul 27
9ba0ca02606e03766e4dea2c5d03ad54c4dd6263f88877ace25a2ead260a7597
22389 LUMIAUSDT Jul 27
6f1d8b1092a662853031566a16be8bdafe7185165413992a405957f05b557fe0
22390 ZILUSDT Jul 27
70fff987fbd96e7db479520ad08176153c0a7a03f631fe3e5d567d6ef6a59f08
22391 CELOUSDT Jul 27
fe8c570c11d610592396016696fef1ab9bf8896b077212cab02bfab84ab6245b
22392 LPTUSDT Jul 27
8fb7caf396e3fcb9dc729a0dfccfcdd7467b7e0a00ab00b1b8b838ff2917e808
22393 CGPTUSDT Jul 27
686afedbe09a6486e517bfb2e1a7427b62f93b1746151e9a228cb44b7dfd26a0
22394 SKLUSDT Jul 26
54ebf2a350cd73f9e05cd9e59d79076bee1103f74f162121793aad5ac9b730ad
22395 APEUSDT Jul 26
4c58e972e4f93bbe7f1960b465dfb1900288561beb219f6f4d4f336141400340
22396 INJUSDT Jul 26
1695fcce1d3d882953366a9e08bb803e508ff393edda368cd790033bd3c8faa7
22397 WLDUSDT Jul 26
97744605fec69bbb297b37c88be1a11a829dfd65a0459dc1117ad199e6c7cbba
22398 DEXEUSDT Jul 26
c12d61b5ce9437a941ebf0e11f6974bd8a1eb6ab176f443e33feab6194645a6f
22399 ETHUSDT Jul 25
7a436a7a5f1b6ce8305283a2ea13c69d87e4cbc681b70d3261df971356e2910f

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())