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 11, 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 55 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.

5400 PUMPUSDT Aug 25
40082e95cd467b89755a163ca865811874bb8a3693c39daf1fef3b25520341d5
5401 ZECUSDT Aug 25
106e96affb488bb130aafd0fae11d8504001aae1cde9867d556435f82cb2ec70
5402 TRUMPUSDT Aug 25
c8eb407c95c80d26a9d906aaa131b2bac9a60199757f291d30e4caf23e9dd9ef
5403 DOGEUSDT Aug 25
f5e5aa601be8d288e60c514b7f06893932c0143b6d926f8a4435aeaf1900722b
5404 PUMPUSDT Aug 25
d3f789a56ea64559aff72a39325cb5f4bd528849bb26f7047227b0f23a2c2443
5405 BTCUSDT Aug 25
a85a607d70079d631e22a957e2373fd1220ab1a6b433bca6e2c2217c5016f858
5406 LITUSDT Aug 25
7ad63875503f169f3c8546335d93cdca99bf7b374df81f630b11a926a2e0fa1b
5407 ZECUSDT Aug 25
60fa0e9e2765a6c8705b27f79d8e8282923fc75c511cd3b15a439e33501e474d
5408 TRUMPUSDT Aug 25
739c84bceb05078ab0691c3c346cc8625982893fc6022b439193c7b49d906ee9
5409 DOGEUSDT Aug 25
148a62e5eaed409c545bec3f0a4ee478f669ec55d748089cbcfcde6b8839df21
5410 PUMPUSDT Aug 25
4a53e170b8ed926bf07bad63dc08145398d0e4cbe970bb1591722b045935d2a8
5411 SOLUSDT Aug 25
c724b612e2d775168b9e337f826568d6844594e296cf0deea9323f6112e6b988
5412 BTCUSDT Aug 25
6c0714f4e3fa579135a9edc3249232c44177c44ffa5ca4763cfd99efe926f895
5413 ADAUSDT Aug 25
7df5a930b9372e4d0e2fc96bd3050213cb37fb8faae32578f26f3a37afe8cedf
5414 LTCUSDT Aug 25
dfdf62642f0bc958a721916d56356c2a1a088d3d10e39285ae1269bb38d0530d
5415 ZECUSDT Aug 25
e0e27c8a0e333277e894c85fcb520e4ea01fda4eed81e5f7a5b4035cfd5c01b4
5416 LITUSDT Aug 25
6823abfc193aebd3f817b524cc0d2dca15e3cd2c2b73d2fa889ff7e72f6b8420
5417 TRUMPUSDT Aug 25
489271c420dec39a6ce3c87763f57a948241f0389401ccc562cdff3192eece05
5418 DOGEUSDT Aug 25
9aaa9ce834e60ea440ef33f37c867e197eac4bf0ebc824f7b20f9a87d95b7261
5419 BNBUSDT Aug 25
e36fd9132a5703db04058eb77219a23412e625de1d42bf6d823bd0d93d18d1a6
5420 PUMPUSDT Aug 25
3b56701c8985faa0aa980a74885155a4d4af3590648739494c7d0620633af465
5421 ENAUSDT Aug 25
e4f43fe007d4ca9cce02781e4e5cfc52e5bf88060e905825773c910aeb98b459
5422 SOLUSDT Aug 25
612e62a2458bbb60aab7d002ba33a7b427bd31abd27083b260ff3ff2eac555c3
5423 ETHUSDT Aug 25
e9b8c0bc5deef25326a87e1ea29b20dd5db983b9320a80e80ca53ca49db6c1cd
5424 BTCUSDT Aug 25
06a2d8a93f013f4174875f95a1b6cde8f976327e10ca150963275b1e5baa6882
5425 ZECUSDT Aug 25
6239bc8a87528b5a435fd05e4cb2ed3922e49b9650264617e749a1945e1bc17a
5426 LTCUSDT Aug 25
7ca973fa8e3b689756969a267f66d13951a015d1223f31ba8a9827bda669e568
5427 LITUSDT Aug 25
4e16ad46667c43d6a4d8f241189f49ac80640a7c1e707bf109ab4fe61c9c32a2
5428 PYTHUSDT Aug 25
8cd422d0f69d8461ca3262729587096a3be48aa35f0c07ccfd79ac958da0a546
5429 TRUMPUSDT Aug 25
9d5b5eca145dc59bafb0c622a2a0713e26a7e7ccc732c3befd9038adc8ba611b
5430 DOGEUSDT Aug 25
c3ce303f238caff80df002a8919274a9d487d4489f2117b0cf00c8dd945aaace
5431 BNBUSDT Aug 25
0752e8c235fb99abe6ddb0bdf791718edb82c6d85582ebe436ed261a29a4d257
5432 PUMPUSDT Aug 25
1be32df8b8d2873e9862249ed714965c5a069df8d7bbcd1e550bac7cc9821396
5433 ENAUSDT Aug 25
0bfd88fc81fe2e422ddb7b5cd759a64ce4174364c55b5e434da358b9888bd9f0
5434 XRPUSDT Aug 25
4d8a2487ce2e1dde668d12ca529d0db2ca003390d3087521e91163700e623fc2
5435 SOLUSDT Aug 25
1e4546875dcdf4435077e76febfcfe6ac2e90a2723ebc0ed8ba73c1da4943f66
5436 ETHUSDT Aug 25
f03047b0fa27ea1074640370a098d24b9c86f17aea8e3cc8aa4b4e7bb013fe95
5437 BTCUSDT Aug 25
cc55ea4622da2a7330319631eddb3854d8b2935578828edaa1ff9c9c2bbd56b3
5438 ZECUSDT Aug 25
f317a4c1e2d14e4aba597ef5a3fb422a23f921862cd139ac6b12c20aaf32e489
5439 LTCUSDT Aug 25
0c7e124c43dee3424e2851e256e4b20903944e487155c3d9fc0a0e6e654babec
5440 LITUSDT Aug 25
9f2c7bdb425ff9c4a060b8ad7d7561140e99011d63b3eb4a9b930cf801d0da48
5441 PYTHUSDT Aug 25
c1f666b8f0c3d1d8c787b169db075283347c77c8654d94f66979bb86d389e3a6
5442 TRUMPUSDT Aug 25
c2ed68fb482bb8599ee349bec2ef71aac9a7efdead4935d9f2cb56689a8e8ec8
5443 DOGEUSDT Aug 25
2602323beab3a03708c1b09331174cec970ee3453e3e4f5c777161674f349762
5444 BNBUSDT Aug 25
dcda503520ab9ad336ae177ea49be9e7756a3828bbeeb4ca085dba5e7a78e486
5445 ENAUSDT Aug 25
2083cdc6bcfd5960e85c5a89a05095a04362fc3e287236a9e200db021b44ba6c
5446 XRPUSDT Aug 25
6d9d3cec4ef6372a974f61ce22d1f15857799348905f732c5dea345fee61772e
5447 SOLUSDT Aug 25
650ba39807252a6e5ebaf6ca04318ac3cd7a4135e85f553ec8d6d8e5a754083b
5448 ETHUSDT Aug 25
b6985a9647d628e570f254c272c6977fffcc912cf56c9510a51db0b61f1c5212
5449 BTCUSDT Aug 25
fffefdbd22fa17f8e1553179ebef5d80eee898df5d3ed1e1c40b285a56c7c078
5450 ZECUSDT Aug 25
10cafe28a60b3856cbfbd12a13ff63ed43e9e9bb6259375d9cba0351165afb44
5451 LTCUSDT Aug 25
ca235031b200f9f4ad0b023f7c50def0b79e08c0742d86f7509df051c8be563a
5452 PYTHUSDT Aug 25
9f4e062bef7ab1050eca1054132b2dcb6933f644c825da52fedad7e1e7210695
5453 DOGEUSDT Aug 25
5d217735638dd55fea934b0623041152a59480f887cc0f60b8c557f20d17d97a
5454 BNBUSDT Aug 25
07ea82fe0e7f7afb9afc2704b32d5fa07c9ddf06daff9ecbddebfbb60a466b81
5455 XRPUSDT Aug 25
4c50bef68259a77ffaeaab3ac07c9d7d462ef616e8f948e1cbca0e7a39ae51aa
5456 SOLUSDT Aug 25
f1efa95f44b4b91d11bf01c45726be8a61ab94020470bc4f52270ccbc8a62cd4
5457 ETHUSDT Aug 25
6842306999a48911ca27d4c11447e0b534198a7e822b72b24889390ee711a460
5458 BTCUSDT Aug 25
c7747808116a69e68099cd4e6e55acb440e99de5678bc420cf857d1f5ed2554b
5459 LTCUSDT Aug 25
2dfad8c2a0df9e384dc65e5b4d90fc460d6b628fef7baa7b2582b7dcdb74fda9
5460 ZECUSDT Aug 25
e57ff5b50af50c57e3c75e467247c456a0e401e68cf2bb620fe74ca67c99ea9b
5461 TRUMPUSDT Aug 25
64e70d4d90662d2726b6d781dcc1be27b80ed5b4886e458c793ddd62139f1ac6
5462 PYTHUSDT Aug 25
30b47b003aa95c99f264bf555297e8e4ce8ef0cd70a9731b09bb7c0f089892b1
5463 DOGEUSDT Aug 25
edbe1d0ba0ccb73a55cad860038a00a72c5174942a15e6b92d6bd784659b3f7f
5464 BNBUSDT Aug 25
c49964d43af651740f2024b63b3881368195f4c12b1eee1dc31341b169500517
5465 PUMPUSDT Aug 25
fea27100ef166e89375b5679f964186888be186326e5747247ecacd5c8bf8d22
5466 ENAUSDT Aug 25
f13007fdd8825700a6f9bbc04aeae2d398c22b5960e1ae26df1f62fb4f1c6b42
5467 XRPUSDT Aug 25
e0543127e2b441769574da1131a1d85bb47c1d29c6a86e7f0b53eaf9d561d69a
5468 SOLUSDT Aug 25
af43cc14cbd2e84e95d2a58ba248f61bc75a3cfa3fc149de759b052a6d5c5a67
5469 ETHUSDT Aug 25
a3c651830bbac31ead1c9eba4a3c581b03c19884879254c46ee4d95788608d04
5470 ZECUSDT Aug 25
66a60e8bf9ac5a56c8b95cca9345510308776e7437ac1dccf46bd9991e49f39f
5471 LITUSDT Aug 25
d2b658c94d05aeeb2c86fe0d46d4927134e76e4abd6bba7fef7c19ad7edea235
5472 ZECUSDT Aug 25
e5992b37229976125621d300c457ff0209653c7f9a3545890eb4084c79f12d34
5473 DGAIUSDT Aug 25
08e3cee849f9326bce63bdc0b6f6cca22a0dfd1257e200cbc46d807edc136d27
5474 LITUSDT Aug 25
c9ed20b54913f2cdad08569c2f96c752897e5102f7f7fb07fa8290fe80e441fd
5475 TUTUSDT Aug 25
45d9c8d05b6eb44702e21a4cb96297239e5759b11984545b9a63c012ce1fccca
5476 DGAIUSDT Aug 25
138b9fc44ba11a1a01b9ea094464f1bfb51739e5c3df1444e0087100f11b136e
5477 LITUSDT Aug 25
ee028408683e0e19145117b90aa638827ab2ed31533fea4a6fdb1246c94c1dec
5478 TUTUSDT Aug 25
89b2f99a81237ac8b381e6ae259a257d673c1ede0cd17dfbae46f99eb4bc6935
5479 DGAIUSDT Aug 25
8a96b3715a8efc23535bbdd73a7f3b765833f51ff21a22104f3c6538dd87d1cb
5480 DGAIUSDT Aug 25
209a3209c4a5291750fd9c90ed5a66f8b6d8e0a8e3ae76bf370b04ddf1e908bd
5481 TUTUSDT Aug 25
ac74deea9dd2889c510bb2ff5a1929c1de162fcd65186586c2be1181cd7b46b0
5482 PUMPUSDT Aug 25
ade7f920cb01b032f2f9224d7752c568b38a3c8bd83a5446587d5c15419de951
5483 DGAIUSDT Aug 25
b2d1ebbdd06973cf8dd9cfa36aaeb5e94af2f7914bbe4e180c3e6da46fa03cf8
5484 TUTUSDT Aug 25
d9d7f45780d1fc5c7beb42d4b560c96d7c3ea9be1e63de04a37e69d634f591a8
5485 ENAUSDT Aug 25
f85939f78ec0fb4e4af9d1ed31dad2065f4ea375a30c5e67e9ecaeb4221bddca
5486 LITUSDT Aug 25
3f0607e053f84e177c66a45dbffb1520c757d2c3988b1075398b48a669d018c4
5487 ETHUSDT Aug 25
2a4d6d2b04fd180c8807abe086df6a38354d9a09ba5d780cfd9dddaa97a97444
5488 TUTUSDT Aug 25
34073bff65ded5576f43af5722269ac751abde6709be874ca02e0533c1737d7e
5489 SOLUSDT Aug 24
8c3bfd5810f352728e0f40f8105d63918bacb15de3a043e4803c5c984236a7e2
5490 SOLUSDT Aug 24
d0ffb2c47b93874a310b791400521ae09ce246346a367e8b7bb62a7e80686962
5491 BTCUSDT Aug 24
2d58a2e58271af2ff2f6f45fb12399b2d40502a0de970c04a90f0a8ac9d05bfe
5492 SOLUSDT Aug 24
9709df0de35c3b213d1cfaf2e3de32e4adf723f87669eba5307aa3f4a0e32069
5493 BTCUSDT Aug 24
63a6954e90d44806f5ed8741abff1dcef9e5b74005eef023e84be598f7617a1e
5494 SOLUSDT Aug 24
19a68afd04a96353cfd945b4adb9ee62bcbf2ec33f48f2abdb7de5f881328249
5495 BTCUSDT Aug 24
89c7ce754bcce96d209024710c55904bc63fe6209219514c1668379dff85b418
5496 BNBUSDT Aug 24
19b7e449155d922559773b424c5bb8db60288e7e2843227674873535d0a6db13
5497 SOLUSDT Aug 24
9ba4bdf65ce08c2f4be9f592247f05bd608f4e29e61313e56087a17e95611e0b
5498 BTCUSDT Aug 24
005563001c6eaa4cf679070fc0281295f396c7c301fdbb3b652b70183aad8722
5499 BNBUSDT Aug 24
7541f1a82f1b656be409b7f27eced843d11c6593b5601e98d5cda1cf90ff10c9

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