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 13, 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 104 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.

10300 FRAXUSDT Oct 2
4e88fabe8fa5593c023f492d107110002aaad89507aa76c2774cc8608b6948bc
10301 2ZUSDT Oct 2
c44a1ce9bd405ba3f949b027f9ecca39f83101e49af697b7de620e9d19b8ea33
10302 BILLUSDT Oct 2
0135668bb31ca180622a2bdc12fc2bd50d590ac0bfded229a486cf8ef7b14d72
10303 BASEDUSDT Oct 2
d6d5915bcf9a9fa3db757f056f595c2fdbf207f292abffee115bce721930ce16
10304 4USDT Oct 2
711d91bbc0583ab506e7b73728bf4f9492cd52174c7a8bcb3dac578b565ddf9a
10305 VELVETUSDT Oct 2
a8857a4cd3e66d32b70f97488c3dd8732936ae972bf7f0e9fe738c9838f5c350
10306 BANANAS31USDT Oct 2
2a88e19fb825bccecd120d61494a44b30530a87eea954458c221f63e275e7c19
10307 USELESSUSDT Oct 2
3f3fe5bfd527d4e41a17aceeb9eba3845195c8adda7bf389c4e0c3abca0d74bc
10308 INUSDT Oct 2
2655da5d1d921923df0dffbda2d6606936f76e98ee3fbbedb0ed4ba51835d1f6
10309 CTRUSDT Oct 2
ddcb613f38dfe4b5bdefa103b559dc6fd38eb5ae90090975dd0f0a44f99c212b
10310 FIDAUSDT Oct 2
06f1765c57726727c0e51dd072d9b5b285fee18b053294e0082607185fb2e55f
10311 ALCHUSDT Oct 2
faf0b49022efb1ab2258ebe2d0c33faf9f6d99ff70c88dbc4573f8d4f249a713
10312 MITOUSDT Oct 2
844fab44657a8a05805e3e5ddd4b166465f29bb7baec325cc96b911a2d70220d
10313 BBUSDT Oct 2
9fdd7da4cbe058fdbc9e3b6534b8cd7e8b06a3b8a5eb2abc555c68087ee52606
10314 BLESSUSDT Oct 2
b5e97d15b20e6f17ae51823510c04e86813abc8104d9d676fee091b54fd9ff5a
10315 HAEDALUSDT Oct 2
37b6f639d6358cdd1d2664e66da990ecad78d29935bbfa21c233f9ecdacb1694
10316 HEMIUSDT Oct 2
323ede98b61b966d94dd6ba03437ce9b30d40b77df9e9d2969ef3adc8b4d3e72
10317 ETHWUSDT Oct 2
549224e3a3168d8cf6e4df507677d80d6bde5597abb71c3d6ba23ad1cccedf81
10318 KERNELUSDT Oct 2
312319107ca96c04f658f96a6713af8443eb95fccd90ec31b291effe3ccac9e8
10319 WIFUSDT Oct 2
6057cd6fe5bd117f15e708b4ea23b972f69c4f9d3da95f5b6ae468cafffcfebd
10320 XPINUSDT Oct 2
72ddd21a0bb28bfba555abd7d46b7596bd1f68878ea3b6eb151c634a00e729a3
10321 BREVUSDT Oct 2
145767f848939fb5c66215ca5fb0eeefd40c48d9390b566bdb72ef46d474ee51
10322 BEATUSDT Oct 2
ebc7c219a2ff7c2e6a5b12eb3a3e134bc9229761028cbb5a65f8aede1302f8a7
10323 METISUSDT Oct 2
f7fa281d0562137b50660d2a7c32457e59867a2d58e5c33a774dd1fed1ac1354
10324 PRLUSDT Oct 2
2fd2462b40e17bcab49dbaed846b06919959ded5345558e0f2f2f253c583e040
10325 1000000MOGUSDT Oct 2
e4cb3c350af450cf36a3a57eb52c7d42da61462119ed8e7ff32fe34e0bbf5aad
10326 JCTUSDT Oct 2
02684c5ca0daf8f4ae66a9828d5167b8c7ddf52d720760cf9358015a15e8af6b
10327 LINEAUSDT Oct 2
2c5d854bb127a36e1df1936f93ea6b6b46bacde3606d5d9dbc0dd312124a472b
10328 BANUSDT Oct 2
e0e1564cf1d820fe5208e83511c0b7b3f2a414791f075f43a46aab25eaf3f77c
10329 IOUSDT Oct 2
5f49de674879094e27064a62d3c9f7170cf4180a23923c3b80e7a0b9bfb08cf6
10330 RVNUSDT Oct 2
2a2065acaf4ca5167696fd22763b6a4b5a0f7b90c07bee0f115c90fcea431f5f
10331 HYPERUSDT Oct 2
510883c95db2523a0a0cb50ae75ab375402477fc795c16a78aed99b20ec15a09
10332 VIRTUALUSDT Oct 2
2b642e01b401e51f6591e3fd6f33ad42a899372ed95da549f05fb16f54826c28
10333 COWUSDT Oct 2
a1f1fcdb015e0c8f7288e9a9a95da249bba87cb563813f1a6d0050596430a2de
10334 CFXUSDT Oct 2
31626a0957f1b367b9ea096273d7f179a76728141b1dd5e09b329f2569e84764
10335 IOSTUSDT Oct 2
f07cc59d528421e3936d3e889523dab40fe8ae90a5a83297bbd0861193dae2c3
10336 BSBUSDT Oct 2
f73dfe6ea93ee102e72b7de7e0cde85bd1d291c810588c7957a79f91314c76e3
10337 COAIUSDT Oct 2
e2bad3d70b4885622c34fb72e1b94f5e31f1525b9d734ea0d94411ccae336511
10338 ASTERUSDT Oct 2
9ccb159afb3f2c34ca8bb44a86716bc0e0add5054c9aa70c145f2fb06e07a431
10339 SQDUSDT Oct 2
0f8dc9e6294e7d8595668476ac2b1837de1e581dd49f6b5f6f410572e70000d0
10340 BROCCOLIF3BUSDT Oct 2
69905c30440a999507d8982ae91a7b3c7e262943e9f75e59ce403bb7336c958b
10341 SSVUSDT Oct 2
59ea49ee84409525020b15fdedd7da14d2a47f4a56a8b3e3870d3a53b6c7f59a
10342 SUSHIUSDT Oct 2
5b8480e6d925dc1438787611e74a0b69e41a23755be81a9657b0f8244366283a
10343 DASHUSDT Oct 2
013d75a39f2dba23fff8bd33c597f2c9550130a2bc10c85894ecc8ae789f1bf2
10344 STBLUSDT Oct 2
f8dd3e5c5cf01cdf576a43d1214daee1baa23cd30e7cdb39d269e3abd523fc16
10345 FUSDT Oct 2
da24a67b5dae68e476c36c451e89c2086b591dab8d6a79b868e52376b23454a9
10346 LUMIAUSDT Oct 2
73116d62c94936f85778e548d104cacfcf4a6a5709338bd96da0292f591a5483
10347 CYBERUSDT Oct 2
9e49613060a93a06dd56ee28a361ac407e58e84fa66eb3c259ec0e681f8ab64e
10348 RUNEUSDT Oct 2
47249396e42b17fc49267192c823f9e0f7fae4ff9033d51698261a493aed2b47
10349 BASEDUSDT Oct 2
702987c43d0ee47246b4208e71e827cb5ba3f20351ff6391319d87c0535aca4c
10350 KATUSDT Oct 2
8fa1999330ec44fa80536a3d079f9ec83924c1f3a14c0dc1640de1a6666735c9
10351 METUSDT Oct 2
5dfc0a4b59d8dd6467e4a67989748a7021ec51004e68b87d9739a8c2d8c8c9c0
10352 ZORAUSDT Oct 2
4ab69581b00891baafe2171bac1297fd2e1cd6d5531025194393a2ac4497f05d
10353 ICNTUSDT Oct 2
b7ffd9e3137e3d06de0485d456ab41ebd4a5477088517f8ade2445a3b9fdf66c
10354 MERLUSDT Oct 2
f0a7d6f3ec445e36e67f54998edbcd7bf8b708f5b77f02b1a366830275a18f5a
10355 DOODUSDT Oct 2
9d56b199e5b065a15d5626a59ad00c4a0d760884f0de713d78b2e855c272c376
10356 STOUSDT Oct 2
e5c1cc3fe031b17234711932d2777d398886d163906c5243446a6d8f6b8ff9e0
10357 KAITOUSDT Oct 2
af44ec6ceea1bf5e9acb0b182b16a20cfc44f41b4cf3d74b6c098427266b91a8
10358 CGPTUSDT Oct 2
d673eaae739b0b8a9e62e0bef03c8654b24d3b23da197a46569dcac6117daee4
10359 USUALUSDT Oct 2
52064b28aa364371b665e4f5aa54ef6245430357847ba8a3a30a8a446fc7afd5
10360 DOGSUSDT Oct 2
d92d23b75867f6087b0a30b205e468a23f37e69f990dd2dd556991ef762c15bf
10361 TNSRUSDT Oct 2
82cf36bcd69d5ab2ff39b5c42b91eedb2e61064fe00275a78ef5a636687fd7b9
10362 XVGUSDT Oct 2
65c22cc9eb1535b7cd095586b60fb9aec1125b0654d028a576a2b8c739f72572
10363 DUSKUSDT Oct 2
3d3605a6c3797cbffa8f12486b8854eb8e59b13594d7c8de5facd4db934803c5
10364 ROSEUSDT Oct 2
1801052cfd446320be322f8ce88d58f06a6f66f7d9bb806a92a6ee88fdb30cd1
10365 SFPUSDT Oct 2
b8961b80d57ece0ca8e339c2d171295fc0b13a90a9b81e588daa67584cff3ede
10366 ROBOUSDT Oct 2
693d9d561e49cfc6e5b80a579331980362c0715d4bf77fda807e7ae897f4fab8
10367 4USDT Oct 2
96ed67f63be70d3255d8f332cf16cacc6def89c7c89eed5617871c4c9d521bc4
10368 ERAUSDT Oct 2
a36c224e822bd293413af5bee0029767ef2b6f017dd50bf418242d20204c22f0
10369 LAUSDT Oct 2
955dd5bb884df448cdc63051d1d80dc2a75482911801d55301bb38246af229b0
10370 AUSDT Oct 2
20cdcc792b28eeddd0d9145f3c5d11d022129976746fd346a12e6b79d96a9a08
10371 BANANAS31USDT Oct 2
54cf3a0ee1d99ba7bed48c21a2febc834578c4011634f8237ac9d817614cd0ab
10372 AIXBTUSDT Oct 2
5f21e77ba2b1253488d52f472c747c4d7d8621d68b98c743ddef602c75822709
10373 PENGUUSDT Oct 2
35f0b47b9e3610e038ebd7c4b11327746701dedb05166cb61ced799ea212ea95
10374 SPXUSDT Oct 2
58e48f564cd17eb57d5a2ff813e0cc93ea188b0e6d826f3648e21ba9a2458281
10375 MOODENGUSDT Oct 2
4c778f6febed15ecdf6f43f4ec629f207a9b17740cbef320f512513a353db699
10376 REZUSDT Oct 2
5d3cea4e450f5ec3fa24046d38d67b462e458349b663ab9e2210ac55d133a65c
10377 1000SATSUSDT Oct 2
f38d570414d2ecf89cccc9908e8d188e8bb69a9771d355c5f9fab725628a7975
10378 JTOUSDT Oct 2
1b0661e22d4c6590df13e34a8af1b6ed051b2bcdbbf8b82186e006cddb3c6f38
10379 1000BONKUSDT Oct 2
75806e12fcdfb7faf99a02829090eaec8a8f5154fe74373434dcd07c6fda7d63
10380 POLYXUSDT Oct 2
761e74835e7c1cd05f31413a9ee58e26d0cc0733faac4e2d0f0eda8d466f1838
10381 1000FLOKIUSDT Oct 2
be5cc07f4093f9d5b8d39777475bfaff1eb928cc36131a07ecf4d0dcab179823
10382 CKBUSDT Oct 2
1cd0b91ea8bd8241a1e6024ad60f4aef7d879ad5e8bc77bac9ecef107333e63a
10383 LPTUSDT Oct 2
aa8417f81122fd87f955947cf9d97c7a02dee1b59fdb40dd799a6c199d36fb15
10384 ZENUSDT Oct 2
2db081a6694190e01e0cf802283756e73598aedb8784ffa74511c4d492960921
10385 TRBUSDT Oct 2
52328f012a014db4cb2411c435675820b4ad0443396137d99c7d50d6ad59c042
10386 VETUSDT Oct 2
049bc6500ab547e5f7827595cd6ecccab7ba342a2599b2615c702738f5fcd08f
10387 LINKUSDT Oct 2
99161396fd6f1156379828c5d817799efd2224318a8d7a6dac112ae9cd6fb5e1
10388 HOMEUSDT Oct 2
7056096334f0e541eb5cacdd7dd3a9a4c9929b201c1fad7bb53cd1f454a0b505
10389 FORMUSDT Oct 2
e74ce1a8ae270602d5e6f868156c855787e5f301945597e237089218a0d6f8b7
10390 1000CHEEMSUSDT Oct 2
f7562c54782e75689e63978b42f0e9d6fa094973f08353014582cf5e7c9031b9
10391 PNUTUSDT Oct 2
c43eb65379afee15cd95dfe171ed0d3d1821f6813bf8bc3af903536f0b8697f5
10392 TAOUSDT Oct 2
06d7abf2ccf7502350416a88fac5dfaf4692c16b763903284ef269a25b2945ed
10393 ETHFIUSDT Oct 2
ba10ae2041a56a9d3bdca7866b13118b0dea62814c0cbf3d6cb8192bafc6d4da
10394 SEIUSDT Oct 2
ae99b412b6a690313079df4f40ddfe698de5d09ef017cd8d28b95a13e43ce380
10395 ATOMUSDT Oct 2
0ff1d5dee9956c804831a9a3ea73619384eb0e92d977644737a91f43f1e542a2
10396 COMPUSDT Oct 2
0e92e2461d9c370f0e8759607d9eb820fa6133dce15e9b5564995c6b4db7d6aa
10397 ETHWUSDT Oct 2
017179a6c31485a68590b800dfe8da3b7a7a034259d13849361f76b2f00ebf0d
10398 BASEDUSDT Oct 2
be352044cb1339a456f9c32478bcbca1a1a24cbc0945ddfcdc041df54a507d3c
10399 TRBUSDT Oct 2
259088e3e45873c4c2cba44b795c745f31fb30ab6e5d17a7192dcca36a147816

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