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

4300 FILUSDT Jun 26
7ffbdb2e3d151b5f508eb3814954d63bcd39600f5152a675ab5a1b7293627b26
4301 XLMUSDT Jun 26
844248146d5fcf4bdcf28985e054d92a353f29bb2e620a6392076f9ad973d28e
4302 BNBUSDT Jun 26
b74d91cb8c8ba88cf03f5c09ff2edbaf3e37f4ed82a9a958456f57ab33b073c9
4303 SUIUSDT Jun 26
8658ebd15119747b1efaefc9c33d1b31a09fc3c42d3e377fdba3233f9c7412aa
4304 AVAXUSDT Jun 26
d3d871297fda380a61bc561ecd26cc0ba302f4930fa616f4156697f3609a1f08
4305 LTCUSDT Jun 26
db19b2aa318bc4a09e616e13f6e9da28ac73b63311a9e57924f433d43e9364e6
4306 OPUSDT Jun 25
bcf99031b82c2dfcaa297f534efd1be8d75b31dad3c8aa83cc7bc97e5c926ad7
4307 SUIUSDT Jun 25
ed97bf9108405bbf86895bbcbc4b73daa66a6fdaac0c86b256cdcede806712c8
4308 FETUSDT Jun 25
50eed75aa2cde9ae298c464632a243fc4cb2d9bfb219e1f7e6f37f75e30d6cf5
4309 APTUSDT Jun 25
61c9c943aaca2ff33b0d15918a4075d579f680d5261e6a7393444ccb7d7a9319
4310 APTUSDT Jun 24
a0e71e4bad6be85fcf8c1d7eb1a7d88d7ec602fbb9f54b64a7c4b311fab28d87
4311 BNBUSDT Jun 24
81335d131bfcf133de47b09a841547b49d589f14dd7f8ebcbcfb8102a68a726b
4312 SUIUSDT Jun 24
12b650e4a0f2413b077e7ebad9fce4a7d0c7ab67b2d1ca09ea1b91fb3c52d6a5
4313 LINKUSDT Jun 24
df0f1244fb7b1493d142d10119ecebe1991c9aab60cbbd1efdc4b4fe2260b9da
4314 NEARUSDT Jun 24
fe4a5f8ddf02f7b5c29da14222fcd8728b171ff5a5d5336104d2fbcbba833367
4315 APTUSDT Jun 24
536b9cffc39b4f022511e153c01aef4f9db9ead30aca0b84a8d326a14a627f54
4316 OPUSDT Jun 24
b2e3c6c3dd37e0738310998e2590a502875b4fdd0b9bbd8b18621beaecf3f2b6
4317 ATOMUSDT Jun 11
156c694bfa30ac407c6e8389418d5ceb5c798e5750e97c6f75001647705dc353
4318 ATOMUSDT May 10
d7b2a4717371156dd8ff460ee58e4ce81e9888e7175bd6053d37e3bb49fe6e85
4319 SUIUSDT May 10
49950ce9813beab641f6ddbe16544106116eea37674e29660b5e620681f8e017
4320 UNIUSDT May 10
d9a7c852c5745bebec66d29e13f9e054ab95caee9eb503e9c9cfd2ae5aa0c534
4321 JUPUSDT May 10
9ee7ee2963753d3a0de315720766134c399f30b21947e26e0f0d088ab5d0eee7
4322 INJUSDT May 10
f5f318e362efb2a7841f0618e82c6d7a7dcc292ee1ced06e8f2abf0dc676ce53
4323 APTUSDT May 10
b86ce8402792b18db151eecbdfb6b80dcc5da0111f06c1b9e9a8d9778d20dafb
4324 ONDOUSDT May 9
8bf71e4cfbc0f220b306d5fadad2673e9a7ed39d05865c96d08733b753e8daf4
4325 SEIUSDT May 9
60aceb97c9675aca3d68adf7d8cfc10d48bc06d1d337fd48bb3998bf2fba68a1
4326 ONDOUSDT May 9
df9ed2b5bfdef353f655331165cd9d1f431ecbd7aefff16ac680b49ad2b8d914
4327 OPUSDT May 9
36168b3dbbaa83fecd5c1fe3aefbac7352644d4676600da9269e79776ce4e4c5
4328 ONDOUSDT May 9
dd5b6a0746cd2ccd45c3fd17d0b684bfa17cc813098ae96c74cd99b299d99bbd
4329 TIAUSDT May 9
bbd04d00128a9176f01b013b1fa8ee83f979f8176a1c0757057edf46b89866ab
4330 ONDOUSDT May 8
7ffba8caded1e643f85956ae5dfd0971265f7e5dabfade6dc3ce3c86c2550557
4331 TONUSDT May 8
37716a3c45fae35a60ee560cc28264e77a3a91473dc8cd1ebe8f390e556ee6dd
4332 XMRUSDT May 8
3f4d9ce2eb85732def3b1e0fcd03323272a1016ed88f38792d78e6a526e8e051
4333 ENAUSDT May 8
e1ecd12d55bb547a94819aaeb2b6cc53d11efe3c5ff6687e7e378680d9bbe313
4334 TIAUSDT May 8
328080513b2daaeb112bc35bddfed9d6605a4f6339024ba56edcc9febf2fbc4c
4335 ONDOUSDT May 8
6d583dff1928bf08f413cac4f2eeae97ea336b62d82d3248f52f967849c40a84
4336 DOTUSDT Apr 27
5ba7aa8fd496f925b3ed2141dfd1bf56cfef7fe3ec6a8d2862322ab54ba9f4ae
4337 INJUSDT Apr 27
e29bf3be6003c7b88c4f31343f27af337e8c0921cbd8223d5200c107e1ffb48c
4338 JUPUSDT Apr 27
67851e7843f28ab876fab7080c94ff305b4f84bd77f19759924d9bb668ebc940
4339 OPUSDT Apr 27
2d0f6f66b575f564d37239a76d3375f86e7eb5b3c7b88c243e74f5d7b8ac0846
4340 XMRUSDT Apr 26
a5418983951b35c45cec6bbbfc25c7a1d4331b15bfc4c2877ce432c6c6dc5a90
4341 IMXUSDT Apr 26
e08fea9c23c686615e34daea82b8eea11f9791193e3d6d5adad865fa55b6d10b
4342 INJUSDT Apr 26
e042f86473e8bc31fa787447748d2c62fd7d2f418ccde0ae40f36e15a961d31d
4343 IMXUSDT Apr 25
36d173ebca5a5e4561dba3cc0527d2294115816689175a3c23a419c42bb0d880
4344 ALGOUSDT Apr 25
ce5f010754a6ea15fd5cbfa9d98eb511d4a919c785f851c8ca5913a401f66442
4345 XMRUSDT Apr 25
08837d4e9a43236ba3e8c6e304b6c867c0de8680178d0048e502292fc5174bec
4346 ZECUSDT Apr 24
5bdb54151bdf0794e5a0c077af44d6d72ecc69d8edf449c1c320f78f7b72d86b
4347 INJUSDT Apr 24
69c431ce671f19fbee89dd1594ee1a831ae2e1c5a7b7d0817354ccbdeb597abf
4348 ATOMUSDT Apr 24
6ac38d3e928287aa7ac4a2dfca68ec451460b8fb8c55babb202e4f96c2f9b5bc
4349 CHZUSDT Apr 24
70016665a0d56a24209944007b01c7e0045eca17dcc2cb0d59d42d91054024c2
4350 DOTUSDT Apr 23
47dce6e3ce41c2dee4d5a6a8a621f9fe4de7ec9bb537cedeb5efa0101419cbe6
4351 SUIUSDT Apr 23
f5549016b52e3f25540a3ba03766cb2322ff474d76e28d42c540f56756a4097f
4352 UNIUSDT Apr 23
14164786683f62fed0ce8245a153b97fcea3aa644783a931fb0e98a0277387dd
4353 ONDOUSDT Apr 23
e69a1083ebe9985b5d989f81831e9465bbf5ce305f04beeffd4af18c0dba7497
4354 HYPEUSDT Apr 22
23d2e1eff3af93473b901ef2dff647be06e6bc5f6449eead67dab5ead440e470
4355 AAVEUSDT Apr 22
798469490496a896e99f6a6fb88a263f24b10e3b437bdb2beefde2913e67594d
4356 CHZUSDT Apr 21
76cefc0e0ef5b6e2259fb80d324f7d888f54a7e4f731f9e5d3589c68c0aa6cc2
4357 TIAUSDT Apr 21
2a671d71ac511dd6174b3cf25f6809b22d05e1fd92e7f87402ebea294bbf33cb
4358 ARBUSDT Apr 21
a7fa61d838dc0ee796f80d941a6f9050f4401c06b9722adde74093629b329b7e
4359 XLMUSDT Apr 20
9b39800b65a5cc2409480ea7cb2a1f700e37cfda0a0c2fc6f2a7a7f2f044ac23
4360 AAVEUSDT Apr 20
9b53cfd1cee861a102e49600068556587f4dc67c796a0c5a4286d93735aa8df0
4361 MNTUSDT Apr 19
51593382ab11e05231228382163e1713794520003839267e11003b431d4a1371
4362 ALGOUSDT Apr 18
36dda92b669b94fe086f46766e6c51282559fd1a5cd6a2f34e6738a2ef2bdbe9
4363 HYPEUSDT Apr 14
6d54b116f163c51cab15f5a98dbf4b09f34392102740ec95ae60c19f0d93af99
4364 ETHUSDT Apr 14
755378351b9f3d019ddb77342dd6ff1e5ee6c534718a93b4f711c917f59a4787
4365 UNIUSDT Apr 13
3707d902293eae9c13cf8fe39d7daefee946df8c53052407127c4a37d687978a
4366 ZECUSDT Apr 13
9dc74996b829a736804285acda15bdc1756640e389328af106484b45b6701fea
4367 APTUSDT Apr 13
d9807aca9d42e15a7d7feea3f317d039f158fd8fb59b90f32343f97e19b75dac
4368 DOTUSDT Apr 13
b530763beaebb9aa59d94b4614fe1bfe5f89d79d39b3aa4e17144f4ab85f214e
4369 ZECUSDT Apr 13
6a1cf8b02c5bdd25af94fe608e3a19fcc3981fc5a9be053db383b49d75237910
4370 ZECUSDT Apr 13
78699561781a1af4a03268106c68409294c39319c84ecb090ea398f1dea4a9a8
4371 DASHUSDT Apr 12
b6150bf09f5ec6811e5f3f352597ab88d2bc444400c4fd5f66b7dd8096fbf994
4372 ADAUSDT Apr 12
6fd58d8037ad61c1310e941f6aefb35082baf6909695baa0f12b5acf95af8d6a
4373 DASHUSDT Apr 11
f1506a2fa55b0d871d40d1c4c73ad1781ff0b94d2ed61ed6d89ae2f33b53f566
4374 ZECUSDT Apr 10
d377c02f7c8182214d74e591e9747eba12f9033acab1bbf45a2c6ad6053df51d
4375 HYPEUSDT Apr 9
bd6a943f517178f972decc189240ff10eca898be003f4e6d4853de44d87454c9
4376 HBARUSDT Apr 9
370c51356fcc608e3b50fd9a59014a3df88c93ace48112f82606510d3482d741
4377 UNIUSDT Apr 9
4ff05b5ba3f1fa0371fbb5ce991ef144d26e048afd03b0b0499f9cd2897ca2cf
4378 ONDOUSDT Apr 9
3a718cc1282f3044b4de304a5b8032d8a9d128b114e98ec8c5d4050bfbad6ade
4379 APTUSDT Apr 9
03ed89f7ed72e7c7d056e84aa1541eb9e1e1a0af3d65737e1fdf0bb204b506e0
4380 AAVEUSDT Apr 8
16cf552a13ac637d69b1da6a86b4008b57904b5fb29cf239c07eb1e3f8b83725
4381 ETHUSDT Apr 8
d74fe38b28ed9f2f151db07074fc8381b7c1c819f978676e56734fb7885edb0f
4382 HYPEUSDT Apr 8
2b74c29a71958819be85ad8896260eaacbc66a31a546408fd31c81069336cbd9
4383 NEARUSDT Apr 8
abd765d06ac0454a51c2019b244494764f7bed919092942b019cb9edcc291aa4
4384 RENDERUSDT Apr 8
680242f0debbe96c6f845f4ef6c4bc2710a7f4cb78890f25f29670df2443d923
4385 ZECUSDT Apr 8
dd0794e28ad9e9ae2d783ab5e5d1522360cb09d7549f77bf2f07e87ef6a5fb65
4386 AVAXUSDT Apr 7
d39e981bf8196c6505f313b2c4d3acc32535dc65290dab5ff6a1bebc83672ab8
4387 ZECUSDT Apr 7
222495ca05ad69681ad4a4887697c428ce58916a500429e5eacde4c6b8f5f725
4388 DOTUSDT Apr 7
d6d54fb5e7565b042aebfdf03d6e596a5de9a8073262c5c62a0586ff1505bf36
4389 ONDOUSDT Apr 7
b154acba751974c50f140c415f0ece300e0b7ae3d0a93aa6faec1946d2a500de
4390 AAVEUSDT Apr 7
c29cbe425a92981393dff608dc6462b8fb022d48ace065130019f405d93e98fd
4391 RENDERUSDT Apr 7
8e7faa78c8e996fdd36f06aa61bbb47f55430a60094507dd151e81f70ba0c656
4392 IMXUSDT Apr 6
921f6c40e6b97eb96d66d1e784f0c9c6a6af513e6b45ef1ccb2aeb61e1a752f1
4393 ENAUSDT Apr 6
e6a1336ee46963d2c43fed0bbdbd0822db8946d8eddccbfd50535db490fc6114
4394 RENDERUSDT Apr 6
eee689af5afcab04c9e23ef9127285c7582bd8306932518389b30ad4f7450c89
4395 XMRUSDT Apr 5
c1479f56ac12265932763ce6716beaca5ce5a65401d1d4deef08ff38b3b2fa5f
4396 XMRUSDT Apr 4
c299ed1d1f492e3ebe9b53aca0a78de3b0c9b30cb7864eaea5160782b9e13bce
4397 NEARUSDT Apr 3
0e22c1c7c9495b266ccd380bf4d5c437be5ed463ab11f5c5c0a8c5a1dbd92988
4398 AVAXUSDT Apr 3
8b3c9c790cf58a2b1e678999f75f2b46df0fd471235081c821a504ec94c4f698
4399 RENDERUSDT Apr 3
08185279ec596f827fb055f5df802e0d159f2effc4f579696ec0bc08ff393e67

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