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

5000 ZECUSDT Sep 8
6a2c51cc09e60fe23044502f27cc4845a96218cda495c9ac64ccc528cc664672
5001 ADAUSDT Sep 8
2a77929927629a7881f732b5703ee92754b2d6abca0fb697e3ad86c626911859
5002 KIIUSDT Sep 8
c8aa38079be45bbf60a2d696ed710ac2320354efeafbe2f8c245c5fea0bb9408
5003 DOGEUSDT Sep 8
cee522c75d931e83bbc7dcfbb462911253b366c48aba97360399b717ccb54a79
5004 PUMPUSDT Sep 8
b7580e7647626cb5d7cf6f0f3f16a37e1af72eb730875f6cb2e9891e52f8c91d
5005 XRPUSDT Sep 8
cce49a03e56dc3b5699f8b235d00b3c622cecabcadcaf69ba72886a11fdc19ba
5006 DGAIUSDT Sep 8
e3bcbd7bd9877bfcb30786e15884c1b3a8ce5a140c8876073232b693c37c8e28
5007 SOLUSDT Sep 8
e0e6558a26ca2b9e45db73611a924868620dc61d1bd5a55b8b5263601ee30e3a
5008 ETHUSDT Sep 8
aec4ed6f5e2d8065dcdd44db1fd4e86bd6bbac4dfdcba375f2df8590b153510f
5009 BTCUSDT Sep 8
4c986a93bc700976d60e8d1aadee0608e930dd102ec02decf42a8188c699ee4f
5010 PONSUSDT Sep 8
e8d31c91abdc064247ac42c08b2af48227f8bc9fa72755345fe8afe976d62050
5011 BNBUSDT Sep 8
94b4f4903e16118af4edf7b73d5bb72e3b7eb097e939bcc5eaa258d36778053d
5012 INJUSDT Sep 8
e1b022f1b93c81798fdf97d39e1872d9bd2f667727b36a03072c5ff8a2623d26
5013 AEROUSDT Sep 8
37f62e00073f5553532150c7eb67be3403b8afeb1e374547b1cff6cc14415e2a
5014 DOGEUSDT Sep 8
06cfa21c61e6bd2f4d69a2076098e0b0b4c1f82bd920adc80207990d49431365
5015 LITUSDT Sep 8
b7500866642728a81f983dbbc7c83105cb90fb914a69ff58666ed6eed08fc071
5016 BNBUSDT Sep 8
d5ca07028d18fa9d6a881ea00d08162ed886880ba9f58eadd405b07d1911f87f
5017 XRPUSDT Sep 8
5e9a7e901693d16d6d52091a8133b648a03254f6f77fadb5d3913f754dc85921
5018 PUMPUSDT Sep 8
82c8bf801096adc41e55648c061d51c41078a87bfdd2d2361e301ddbd433ef74
5019 ETHUSDT Sep 8
4461030daa53083b277082c2c3e8882b8082774c09942af704c3d5d2b1347b08
5020 DOTUSDT Sep 7
ae2674131b96a3302e9d8e498c807b58fd2dbba5aad52d2ddefb14171eaab5a0
5021 ADAUSDT Sep 7
897033fb8ca9af630afbcb7bb1a29b4a3a243f6337c4a8d63067dd7b394c4f7f
5022 HYPEUSDT Sep 7
6105f9850e19fbc1bcc2e83d4c524acd98da1aaf2b0bbcddcd27b8b46607ae55
5023 LITUSDT Sep 7
54af1cc9849a12797593d88218d9bb38123984d0f71772b66b96f8ef3e8c9ab8
5024 LTCUSDT Sep 7
8069d26be452f55b7389b339dc8974a201c7470c3d9cd6c37954f7f03f8d3803
5025 PONSUSDT Sep 7
c0945017669ff61a7571bfc95c4045a5604fc805d3d7d16c60babb4a2bb6b571
5026 DOGEUSDT Sep 7
1fed447356a71dfd403bac6ccdabc18d9b5518ae19db2414b368189d7328e844
5027 PUMPUSDT Sep 7
5efd963284c2f6b601f3784e1378b773458897353ae2d1067ba27a13562ce1d9
5028 TAOUSDT Sep 7
49b173576befbfa84570ba3903f2b96e427e11c0d3cda3eec69a0c3e2adc4bd9
5029 ETHUSDT Sep 7
a6b29df06060092da2100027bb604f7930af7a8965eea412665a1eeaef93987f
5030 DGAIUSDT Sep 6
7d9c90eac7fb192ee8cc6961ff8a23fda7164006993a3351b87ebe56cdbcb4ed
5031 LITUSDT Sep 6
76433a6b9b1c63e771338ddb9e1f991d8681c29bdb1cf78a13269c13311b5064
5032 LTCUSDT Sep 6
8dfd7ec73f9bddf7f744a33e40242e39ddd47c584c271254fe8824ec0198e188
5033 ZECUSDT Sep 6
4ada1b9b1a271d9213a3c65aee28a0b1f46b911783ccdbd6569954c6b32cbfe0
5034 ZECUSDT Sep 6
2fdf2e32112753ecd9d3fce959f9b8a0be99e98bb8e56414be6e37bfb5a53939
5035 PONSUSDT Sep 6
59766a8642533663dbe19a2ae21386d91887145e3b44da26a62ad7f4a0077a43
5036 SOLUSDT Sep 6
a22e17f156b0aa4be0ae0b860d8db85d3a5df32cb499c94b484975dbd30973ff
5037 ZECUSDT Sep 6
201c83bf94c7f113560b1c6ed0795285a76d0ebe126fea0fd33cbecc47ecd79b
5038 PUMPUSDT Sep 6
3293efb63088368213ae0ead4dd808d19f138023d889cc4d9fed90bc2edf6369
5039 SOLUSDT Sep 6
d18d2e76c2454b20fa79f132b5c594435de34f0eede1b4871f74ade3030d228e
5040 XRPUSDT Sep 6
0c31b4d5336c79b37693126dfc92429a2fc478fe02cf2ba4cf6615fa7be01e94
5041 PUMPUSDT Sep 6
d7d15d9c70b437b00230e4c0193056e0e55f1b5addca028791fb1dc6dbe70f26
5042 SOLUSDT Sep 6
39e11196957f2b365f2719d9ae8a44d21363092d5bb03602bb1afa453e5fab4f
5043 ETHUSDT Sep 6
55be0aae7c2e9eb5fee6f9cc6f4851f9518fa65f7175da9f3ed4ceb8ae53ac2e
5044 DASHUSDT Sep 6
62f69270f41f4dd19b6a555c94cacb12d97825737db6d97ee2e749b66d9466f6
5045 ADAUSDT Sep 6
3ed5c4d1adc4eeda6581d433f6d711c3a68288043ba75052be2d9a81b764a678
5046 TRUMPUSDT Sep 6
8810943bcffaaf657c6aac9205a39b19ce461710aa310abe594b2948d9a892cd
5047 LTCUSDT Sep 6
7d8acfe3538897ea9a6ccdcaefe8aa349c625c75472dd39824e320e58a8a1068
5048 ENAUSDT Sep 6
4adfbef8694f657e7118bb7969fa00b5ac998d9e3606a96e0cc0806089dbb2dd
5049 ETHUSDT Sep 6
e131061056787ed1e9ba3eb145bd926f047996ec00140f0bdbf62c51ce054c09
5050 ADAUSDT Sep 6
548049208c4b136f7fdf0e8c7d371c7f7ce88c9129a1b4641e41979e68fc35ae
5051 LTCUSDT Sep 6
f10bf254c30eb3641803303ad13530a2f03f05e0c79477489284db4968f1dcf6
5052 DOGEUSDT Sep 6
df1aadddbaa2fa6d9fed4525e139435f8de37368b125ebc682865a7bf220a59c
5053 SOLUSDT Sep 6
39f582c972e98e2acf6705fc117b2993fad825e4d49d78865074f1ced3bd9373
5054 ETHUSDT Sep 6
c4c0de555bf1875b5be9a7b188629cdca02c580f5af8e6aec6884e6b7ca84d10
5055 ADAUSDT Sep 5
534aff630ccb99ad8bee10702e3d8978b797f423cd6fa9598e8919639459eb23
5056 LITUSDT Sep 5
4b0f5468d5cf0da1798abdd5ea12a9e17029d3c6a40ff44a4a18f32ca5e0c0e2
5057 LTCUSDT Sep 5
8d5b15e16baed46ed6355915e307b8711485dd54608fb53c5bc72486f1fd4603
5058 XRPUSDT Sep 5
aab6539339441bf65b1462405fac135d272df3756aa8216678db8878901c3e79
5059 DOGEUSDT Sep 5
9454a55e68d1b689a6ff3405c7859b7947b396a11f216c2ec85c7ba4f546b292
5060 BNBUSDT Sep 5
dd178e5eaf1530ade13005b342e9765ece72b1dcec354e09173061f189fdd983
5061 SOLUSDT Sep 5
05fdbf17b10c690a25445487be5f7ca2d3a3e3bf4c7c348dacc70271ae3bdafd
5062 ETHUSDT Sep 5
f099789d577f32fdd9ac2ca504c2944023af2f3be2de9cbd627ea4244efe2c38
5063 BTCUSDT Sep 5
33a66d72c2fa839bb8fd86376bbfc8540a3551445c8145c631a397fa9e7127a2
5064 ADAUSDT Sep 5
8de7bc54d4c896ed7664a6803c28257263a924acc6cda13a2e0369762c9cc46d
5065 LITUSDT Sep 5
e17e094468ab39168699417c143c48e5822dba9e72dd1e903bb533491da36e82
5066 LTCUSDT Sep 5
e7b5c29ac6bbef81757a790820a04599cbce6ab7c363ba846cef896de1154a7f
5067 PONSUSDT Sep 5
ad2ec06da32a65dc13a6e544a94134a90d1d93756cb1ffa51c6d6284e7611cb2
5068 DOGEUSDT Sep 5
96e51bf403e9ffca91851d4f4c63b810347211c2983f8e8285cae5df9c853b93
5069 XRPUSDT Sep 5
807379b6b15ce0bc06a3d8a7bd470f73fb9980f1c0551c98b65c045a84d32125
5070 BNBUSDT Sep 5
b5b47fb56c1e550cef54445196f1ccff12d505ba1a062c7639822d0ab879b501
5071 SOLUSDT Sep 5
9f66555bcf53e0bd3a2a6dd138c321d942040e2e71bd3000e1ceb1f10bea1e36
5072 BTCUSDT Sep 5
f54b612cf3b95a681caf4d5fe3e32b7c55497689cc70175516cce4c0a41b82f7
5073 ASTERUSDT Sep 5
92ef0b4455cfef34984c62623d4bf0d2b11978b441b707dd512e3c57aeed6d49
5074 PONSUSDT Sep 5
79f61d4c5b40e6a63c7082c95c90a20ace830a914cc5fe13315d34da04cf04f8
5075 XRPUSDT Sep 5
42096e6e2d242f0ac45b60991080d602a140e7cd873d193817a26a8739ca1f62
5076 BNBUSDT Sep 5
9d613bd23fdc50d4183bf5c40afcb4a0b3cc67883f41aab58be8919ac8901023
5077 ASTERUSDT Sep 5
cc6742e6d8b0479ec2221345ddf5924b2745854b7a3d28a0423a32a616f1e27a
5078 PONSUSDT Sep 5
38d23e45352653d23dd5d8a16dabd64d1c01bcff71da0f80fb00ce3ab41ae634
5079 BNBUSDT Sep 5
7c827e0aef369ee5bd62c7f2ca6e56c5a257dc8dfa9b27a256a30dd885d3c96a
5080 ASTERUSDT Sep 5
02939abab55ce2ee38eab77567d52febe56c35e5c5790c09bc2e382302499a93
5081 PONSUSDT Sep 5
1901308892338f0a07231dc1ccf4806f8e41de889f7a765c74e9ffe7d8e621eb
5082 XRPUSDT Sep 5
1f08d2f2a981de709494e70b1f7238e33e6114c7ea5af21b87ac033db8d2dbb4
5083 SOLUSDT Sep 5
614526a6b7c2dd0d67f1168eca558949c495dbc77f142fe08131ec06c74dd808
5084 ETHUSDT Sep 5
bc5a1ba44b81be9a7b84a3092ae6bfe72d6ae87996c92d4421642a32e0c69440
5085 BTCUSDT Sep 5
6132135432c47138ded0d3b525da84787e632d7a5c61b112e43b5efd3709d823
5086 LTCUSDT Sep 5
1ec85122625a5f91fb3700cf4fafa2346194fa8ecb2c95a03f6a9b73390a39a6
5087 TRUMPUSDT Sep 5
e2d46ba10919df0d014dfa60a8c5e26150e3ad92d67ab8b4bec46f03eee4f951
5088 DGAIUSDT Sep 5
77253135fd662adf4865e46eae58afbc4c171cf9dcaa703a98df249d52b7ac67
5089 XRPUSDT Sep 5
8b907b8e9a787d1189c7bf7b8bf587f2d2c6ca9f68c81bfa4d2c7e785b24b488
5090 SOLUSDT Sep 5
a09ddb24560071001406dc1253815285cc76b9d59fa9a52c9c64cef4df832f69
5091 ETHUSDT Sep 5
9834b03687d77862be8fe5dea3b728cdb14d11bf14df5166ea2f9cfc2b09c4b9
5092 BTCUSDT Sep 5
35c153b579fd337c661773369f6a7ccc3e0d9e18c0db6b2d13d9a3d69c22f9e3
5093 DASHUSDT Sep 5
8b50ba64feb956e1fa50c0635c517cf45799a46b33da4064ca57d070291bcc30
5094 LTCUSDT Sep 5
35976cd0e97f3c127be1de76479f147011081b2d1ad14b8f90ffa7e516544687
5095 TRUMPUSDT Sep 5
24baab4a650c6b37f3ae88e90b0393d0264515d18efcd6a7702797fb5f9b443f
5096 ENAUSDT Sep 5
2f69a9b075059de7f7a4947e6975e56dab120667c8b28128b52211ce4d9d47ec
5097 XRPUSDT Sep 5
bbaba14fe7e29a0d6daa5b85cc0e82f1c543c993ae93b740a0100cde865152dd
5098 TRUMPUSDT Sep 5
4b404441b2b9082c3d97b1d84faf00f9f29cea06bdffc3719e3948410797fbdb
5099 DOGEUSDT Sep 5
f28010ee293c80163e44d655696fa33dc43ada44cdb159b5a652899992b9d9a0

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