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 195 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.

19400 QNTUSDT Nov 5
fd728ea0f97fb523c5e4693ffb3e47234fb3c4e60eef2b165d56052bec502d56
19401 KITEUSDT Nov 5
eb2a33394c9d29ff5a4f8db4f22217849a038521f3f450905664ddb9a0b81193
19402 PHBUSDT Nov 4
d6877a7241f9311ceb8cdc6d806c117dfd676a13d5ea8725455ef13c79b0beca
19403 DOGEUSDT Nov 3
ddef22d90606334a3ceb16258bd0fb30bdaef06af6af499106a2b8fd95258cdf
19404 PHBUSDT Nov 2
287564a3ccddd94026db58cd73bc3a6d13289322a53110fbba5b6f18f0c0f1d4
19405 EGLDUSDT Nov 2
f462d38de161b714dab0f7a9ac36239abc51728b95b2e2a3a21ae8c26594dc09
19406 PERPUSDT Oct 31
5f6cbc146d8e5ee561537389e252c9fdd6463a7b7cf21637d2de1cf93b564297
19407 SOLUSDT Oct 31
632b4f44d0a75fc158adbdaeff227f892a8b80abcc80ca3f882ad8e586999a5a
19408 ZENUSDT Oct 31
1387a37c609741dcae6069c26d8795435e09c4893a70c79bdd65fc982c22a35b
19409 BATUSDT Oct 30
a27c26556008042aa3fc28586929d3baa189918476bedbe83114c67c3cb4c53f
19410 ADAUSDT Oct 30
7fb16f317c1f4b47f27d03178070804e444df3cd2ea042adb4fa41c40fabf3fe
19411 DENTUSDT Oct 29
7aed726f1d2ebb5838b80262859c6cd5b0021b63e3fd9f3120c85a342387414f
19412 DOGEUSDT Oct 29
3e69b1feb04fe00bfa4fd11c700b05ff7b28d765d56d5e4f37e51eb4de89a14f
19413 FXSUSDT Oct 29
4abe89af7e5f84f4055142b5e091ee06e23544e55aad87c562398c2bbd97a294
19414 EDUUSDT Oct 28
53ec2d09a14f997028a161fe4e57d29af93590cfcf74ce2b7d5bfa140e555771
19415 XMRUSDT Oct 28
e0413259d312ec1a0216a9ae5430745aa4ada2fdb3f0ba91247986203634fe59
19416 LTCUSDT Oct 28
88d16ebc4b7a6d0a35dc7cecc0e2a8caf2fb7ae26b9332d1a5e2bc72c841a18e
19417 CELRUSDT Oct 27
da3d61bbece4fd98ac303e8d0518a58c11938575281caa54524d6c0e127a6242
19418 TRBUSDT Oct 27
d36b51ba55dcce8914b805ce7f91a813de6227893aad612f7ba0eec52335cf3b
19419 INJUSDT Oct 27
00ca006be2ee76d53e86f9858b04edaa5d41a1e458c708492041c436e98c455b
19420 ZECUSDT Oct 26
2ffc37516124901edf4b4ba18a3f9ed982248ff7c597a28e87865a6a63b4ab29
19421 ICPUSDT Oct 26
ebaab20cc2008534373d9e07917a70c3b15485d0f4ae32c78790b985e4acb6be
19422 BTCDOMUSDT Oct 26
bc68b3edccbf508ce2e09d57677e96f6cab2a58fbb8cf9ac6d49ad54ce521bd3
19423 GALAUSDT Oct 25
26a4b7e7622e9fb78dcbc46b2618317c70531c930ad68cdf66c00f4562c9567a
19424 BCHUSDT Oct 24
c5a7e04e931474effbc73857b3b6207015202e84e7731785e407cfd6adad1972
19425 XRPUSDT Oct 23
4d5b2ba6dcf38872b4361b82c91b17ffe608c104fc6ba882024cd588c0c760c8
19426 YBUSDT Oct 23
067e81f6477024203ddbfae799354645df39f55ee400f898f62080eeedfd67c9
19427 DYDXUSDT Oct 22
f0bbe54c065c1c47916e2d337802466d7616e64eb7d3bd823238d2227791d177
19428 SFPUSDT Oct 20
f891960e84a5fd70528cf37b8e9d2dc9a522e65f233871483391ca9f53dc8d68
19429 LINKUSDT Oct 20
f1e055858db1df586abd7bad63f03b0d5cea24680a72b206a2d981faf8c0a47d
19430 ADAUSDT Oct 20
060b216c380296c079d495d236b36ecc144a8f7bce9fb003659984652b6deac9
19431 RDNTUSDT Oct 20
506c93987c960a376d2aa365771e77498607e15bab77b9bbb14bd0869cb6a8d1
19432 CRVUSDT Oct 19
d5e2a21157dd6f76306c9b0fc0c960e1cdc92d29e2378d0c07c5e327f16ef122
19433 LPTUSDT Oct 19
75562a8dd344363c473cf54991774320c9365161f9854efaa47181cc7aea1ecb
19434 BCHUSDT Oct 18
ac34caf9883f3253deb482ab0099ffa208b341869af780186d7e583fd5ee2385
19435 VOXELUSDT Oct 18
5d76718b2bdcb158875ec1816063f079689b70f295d5d1ae875a09ac0821d53b
19436 ETCUSDT Oct 17
ea3a3d97ec4e9186156bb1250e0712fdd86c0ee771171c43f85ad14ccb831aea
19437 FXSUSDT Oct 17
a6b6c4b49edecadb5b41b8e62904ae711b3e345f532519fa8801cdb8330c184c
19438 LDOUSDT Oct 16
df96e17fbc7c7ef2fce2b8e1349b6f446bd60b9fd1f28a2f31d9f5955901ba75
19439 ARKMUSDT Oct 16
e0f0a2665456f49d1afc2002218bd5aff491a77760f5bdc7a649990430d91b9b
19440 BELUSDT Oct 16
62e2aeb97ae4fa226b167a56ca5df21747b4dd9537462e52b4252aa522d09069
19441 APTUSDT Oct 15
c87ae4c78081252f2e41313cd32ad10361aae48095b7d64bc4d73e0d3da54b02
19442 CFXUSDT Oct 14
afe13f5150a7e51015921e8f8c54d0a4e5616f6be2839acf7735ab1ea6476a51
19443 LTCUSDT Oct 14
9dcd18f4d655e07e84fa0469519641895e08fbac0affee7ab362bb9431bc647e
19444 UMAUSDT Oct 13
90cc7780410a3d750e8d2246b6acc5f3e7ab2ff2dd8b3949ea99ce8f92495926
19445 TLMUSDT Oct 13
443837e4c4c3ccebc6944807151b4f0b956ff8eae13be983a71e31263cc7256e
19446 ALICEUSDT Oct 13
fbc3e4e94a62767878d50e846bf8f86f828c0185e3dafba4d45e17f8394dd26c
19447 KAVAUSDT Oct 12
fa71607609c2294017779ff004dafb11b21f872963cbbc7a071742ce6de2cdca
19448 ASTERUSDT Oct 12
6ae13ffed263de70b584ea699028ad4d282432175f1d1aeffa14c5b656361151
19449 SUIUSDT Oct 12
ef748b7e07f1d75b9b2160aed16a04013b1a9005ee41785829e6edc41a03941a
19450 ENJUSDT Oct 12
ed15c0fb4fbd741aa4e4eaf730a4fe2579a812634be371fe443feafead2600b2
19451 DUSKUSDT Oct 11
d7ca05e2bcb7ffb21ff35b04cb42ca6039e47c322bf077b3bdf5098df92d8241
19452 KAVAUSDT Oct 10
0fe96938e25a61157ca8173444c8bd6a6b6edab86631bcb8823116ae0c1cd671
19453 LTCUSDT Oct 9
e72e93d17ba612e2a1466aa96b8e3fe0acb83db1b1e38c057da1e6b95e84cb67
19454 LRCUSDT Oct 9
61844b1caf0b0f1f2f1e553cdfad2e0425476b5512f7409f74c9611a3ae85e6c
19455 C98USDT Oct 9
db8fd1208cf77f090aebb653fbfe75568412fe6138ef5ad1381aae1b0b1fcd0a
19456 ASTRUSDT Oct 9
d27fe998eea031cac69fd6ac785a2d46008319b4c015456ac69438b5bb0cdea3
19457 XMRUSDT Oct 8
c89a696abf3500e7ea565fb7538a8928d7903bf1b94de4dec047e48e04d5e5f0
19458 AVAXUSDT Oct 8
b0783e0c2d34727e877123cfa3f65e9ba34495bcef3f38c178589133e55bdbce
19459 QTUMUSDT Oct 8
06dc4c8a35db692e954bee9a6ce1bed855abb4e9216432c52c4fa5139cbf7ab3
19460 PYTHUSDT Oct 7
33118748d27ef1a838c159aeae1af48337a2e4891a75446ca16b283d018e23a2
19461 KSMUSDT Oct 7
32b149ab8b075efde51ef5e2f64c648f04f611734c1706594b3dc274dcbac9c4
19462 STGUSDT Oct 6
0fa922e46a3f7c73a995a05a784641f43ae3d53b11632ea2d6f6c327f11700c4
19463 SNXUSDT Oct 6
6eb3e68dcf0a77f2ee82ac2cee7485ce044bcffd5ae7647ed1d46c2adee85fcb
19464 DASHUSDT Oct 4
cbf5e6c101c903013d80183402c485aa158c1305b6285ac0a321225295ce5b89
19465 XMRUSDT Oct 3
88753f7f420db125e618599e0157faebe3dfea6027618215e589de2435af7fe5
19466 HBARUSDT Oct 3
4845bdcdb21695220ef21f36f8658c962ae13923db1e6444ed21f5771fd6f2d8
19467 APTUSDT Oct 3
c93c8166b7277d8dd126b8aa11b27796f64bdfda38767f6a338982f29ef8f680
19468 AVNTUSDT Oct 3
5979c12d55c8ef15e601cf1cb7812a3e15c48170258c001b741cd4202463ee93
19469 SNXUSDT Oct 2
f5331d0d6701722176b8bf4084f4f3f965dbbc323b7f96b46521ef2ec8846f40
19470 HOOKUSDT Oct 2
ec44232536627944551c6e6e904a60e69520e1ad6d20bf1ec000b79244d859e6
19471 KAVAUSDT Oct 2
4e2e2fc088156aa78caf04b3c2907484e3e3e13422aba9012723d2f6d6a69e59
19472 DUSKUSDT Oct 2
e4c98d97fb2dd000a2d5c727ec3d92c4b16293cb8a84d8d0e93c6f3d365ef823
19473 KNCUSDT Oct 1
4b1487e06c6e70e7775a2f6f13dbbf5d48b0a3c114d3f0430eeb544b6c08269a
19474 ARUSDT Oct 1
d3be6a43ae9862499cbf2c5249a0df725fdc57a9f322b2f71bc19183e9a1c2ef
19475 AVNTUSDT Sep 30
871ba993cc5f36495bf3987080194cee451363f7db74b7f8f6f377c9b7022ed2
19476 BTCUSDT Sep 30
3b5f072910d72ca33429bd6d9be455dfa0d349782f50c1ab3ea2a5d49778cafc
19477 SUSDT Sep 30
fa97ce8e02504952982d2f74c336cf546a0c0f5c79de5d6dda36687f385c1bd1
19478 ASTERUSDT Sep 29
b57cacdcfff8fb6e7560c01ac03565ce3d8d82e7e4a97dfabf2f2bbe13d2ba76
19479 SNXUSDT Sep 29
6bf8ada785efd144876d6e4b02e2a5859b8c20ac2f6df8da1b0bb43076487f58
19480 AVAXUSDT Sep 28
6a5fc45114c43f70bde047b04f6873be46f0b1834975e7a1870d8e9c37079348
19481 APTUSDT Sep 27
8101e608b5d3e2ad5126f94f7c09ee3dbcb57a6d0e8e72556761a8d49a058bef
19482 WUSDT Sep 27
ae8edcf91a8d120f4b9a523b2e6e95b2cc6e53d74ffb0b3beb22608b897449fd
19483 KAITOUSDT Sep 27
5ddb24b4abf624f8f5c0e3756174b7471b8497e8d562e23fc0bf511420154d31
19484 LTCUSDT Sep 25
a478d1f63c6c6fb42dca8505459007104b6f239b0a5b52f7b9602705c7b36b6a
19485 IOTXUSDT Sep 25
19301999175090e1b3c0400a41737ef2b0fc8ab327aba8907351724f1be7c54d
19486 NEARUSDT Sep 25
358a767b8d7e45f2bc1b16865c594e7a875e9d8d0da207b1e0af9ac2d66b5965
19487 SNXUSDT Sep 24
14c593a99c45f0f594acf2556f6f80ff2404c6aba431a1e5b15d26c44d65f245
19488 MAVUSDT Sep 23
3d731db82770f0085b79c56ba1bd991a534067a32fa24120c339343ff33222dc
19489 NEARUSDT Sep 23
728ea538de62a9d3c789df94359df83f1035e817316bba6b415424bc1471c403
19490 WUSDT Sep 22
af805d8169dd7d0300579be7770dfad9cf642d654368a7f39329fae01fe790aa
19491 BELUSDT Sep 21
b2aa959f01d567b303265a1473e9a39b761c7802f3ae6ee4d77f30e2be2da4e4
19492 CGPTUSDT Sep 21
3ecd5aec7481b0fbe9b732fa2d4cb6630dd67152c329baa39a770fa25cbf5265
19493 GTCUSDT Sep 19
e4b1b3db669b882e4665f64881387e99840fa697a23d59ebbd389a7adedb2c43
19494 UBUSDT Sep 19
c7760cf58244d947a88e8ac1b7399bc38374a64438ee7c09e5b6d064392e6d87
19495 BCHUSDT Sep 18
653a38d97ecfd2bda6a0904b787abe20ca2d41e146ac274da7b16216adfaffe0
19496 HBARUSDT Sep 18
05e6babefb2a20ec4242aaf536848e801a8a902d38f1fe56ff6e9c5d167ecae7
19497 XMRUSDT Sep 17
08e589f028ec57a5087c895da127c274c8a9b0718b340123a97fd07b815cdc05
19498 DOLOUSDT Sep 17
9bfeb03329349d25b792b7534f8813589ba29d1a6af5da5e7cf86cbd76be08d7
19499 ARPAUSDT Sep 17
a7063ad6233d79ee3616f124bebb2fa7edc3049156bcb727dffb22706ac6dc13

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