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

5300 LTCUSDT Aug 26
755c19700fa7d6a8769bb64fa9a3922dda69e8bf2cd32296b4b867d4747ec4d6
5301 TRUMPUSDT Aug 26
507297c93aafeb1de0f6f2fca3b129eb26c2878e65d31494c7b5dfad399682a7
5302 BNBUSDT Aug 26
fc66bfbaa0d04819230c4220e84da5ef346c15c8a47bfc56cbbc1a07bcb08847
5303 ENAUSDT Aug 26
bc0e0d7a933072da0f81daf16a31811b09e34f5e9c7e936be3dc3bb89ede2ac2
5304 SOLUSDT Aug 26
860eaec440938f5eec58491d83e682c96af52af6a1fae3126e383531cde6bc54
5305 ADAUSDT Aug 26
59a12c1c6c1bc74ddb8b2832ab171ff93ad85595c901b31c6de899f0d6b6c686
5306 ZECUSDT Aug 26
a477c7945de523be0845988e3d87dae44d35cf60ca8ce062f172b4e06d87f152
5307 DOGEUSDT Aug 26
59fc5e2e39aba0eefea6673ffdc829d03da9968281b11089b347fd7b8802ea88
5308 BNBUSDT Aug 26
4a84118ae1537ebdccf1f3578d3b66e312a3f3f7bb520c07d2ba0ab72fce1e90
5309 PUMPUSDT Aug 26
c5c8ea0b287e7f97d3f96c273c6f133d472c23a85a7a47909a8ce3f2f1f9a4fe
5310 XRPUSDT Aug 26
427e64ca441b302503f581e0ce25be368a89f8a9896430d8d57cf8f4a362dfa6
5311 LITUSDT Aug 26
187f81bfd83b2f33d4c6b5694e167e3a6d2dc07f4a7a78e68c42097174b23eb2
5312 ZECUSDT Aug 26
3084c9e2cb2ede3b8be01836e25bcb604d8057fd3f52d2a07cce7c3e40593d99
5313 PUMPUSDT Aug 26
0c8c7723d8819a728f4d1e2c5b6c174199aa9385814205c2e40c4ca6dd55d3e4
5314 LITUSDT Aug 26
bc63d37c47350b695186543111b8a13d3520aa3c1fdaf7b44a3e71fb421c6a0f
5315 TRUMPUSDT Aug 26
8d86fb4bd2a59e3ebe5fc9bb2b9cfd38e9093779e26b48425b8d06b59da19807
5316 ZECUSDT Aug 26
aab02f9e3e4507f16003938507d116ac5806428e8d4a83d4b7878b7188bb7b5a
5317 DOGEUSDT Aug 26
379fffe027b5160a792ebb3933a301928513a86065e749f80f3f9e21411829c5
5318 PUMPUSDT Aug 26
50a6068ac197fbc3d6237d4284936193b771e7d489a3d632895f284f82afabb9
5319 ETHUSDT Aug 26
e1e74ad3e499b7f614b5f70f2b65682d76ae95922d829d199103e91a4f80269a
5320 LITUSDT Aug 26
bf57a53f105ea59edee9fe184cd76ac1f1c3d936721c9638e767b42215b38f08
5321 ZECUSDT Aug 26
293a221f342b81456ed00b2f858dcc63aa5f4446484f816ff19efd0cf8636577
5322 DOGEUSDT Aug 26
fcc81af6e2e5ef9b43eb69abd9b1e23a17d0b1a0342f63d00c07bc20017e7d72
5323 PUMPUSDT Aug 26
fa2cb212943e4e6866d0029151bd5b67f1965f3fefe667e2bb3205067c944b4f
5324 ETHUSDT Aug 26
a342bad2de9e40facd44ba3ebd10bb421a6e811f230e22391a17890672cfefa1
5325 ZROUSDT Aug 26
f2e064f1cc374c88cd662adfd59e45d3ea1108c52dc529faafc6f697799e1d2e
5326 LITUSDT Aug 26
37d8602bbf61719a0c038fcb5fcc81567529e6504bcc85e7839b985a9c0fee4d
5327 ZECUSDT Aug 26
6c19966dad73fa4686fdef2a197eb0d9a4397d928d803259b34e7cea7ebc86dd
5328 DOGEUSDT Aug 26
f40c700ef67c3a2ce70079f65a49b997080e7af3b810ceec5a1aa7ad89527d10
5329 BNBUSDT Aug 26
69fd523712937a361d4be0a0de6abe8bc10439238f65fb2f511591d279b1120b
5330 PUMPUSDT Aug 26
e988258f2b265402d5ffa3adaa462e1da3d9480cf07274cc66db5f6b8aa32ff5
5331 ETHUSDT Aug 26
2286ed4194c9a8667a0e9c84dd41af39e2917013cc6040a9f872e15193d7add9
5332 ZROUSDT Aug 26
5c94e0fd900b0f8b25bbee866428b5a0195660fb9fb1ef3f17d1a5101c5a88dc
5333 LITUSDT Aug 26
bb251c8f8d2d4e3ff8330aecabe0eb4d47be7e71501b9152507377fd941c4a84
5334 ZECUSDT Aug 26
5b429ea2c02e06e630e72e03ecf0d208cf39db73cc3186df2d2f405431302590
5335 DOGEUSDT Aug 26
02e335a8c4214354b66bdd4908b223df2ff6ac38d9d35c9814f7129b1d694bb4
5336 BNBUSDT Aug 26
2bf1a8dca1a3c21692837512d2ebaa6f23ac8ac763591be1cbc484caa4d5bd50
5337 DGAIUSDT Aug 26
7074f797d6cc2edaf10fc68cf1ea5414f661d7b33f418cf48386acf8772d3559
5338 PUMPUSDT Aug 26
83abe1fc3e75da96df32329a7865a4dacffbb00a1de52e2f61ba3a181d33e417
5339 ETHUSDT Aug 26
959ccb6a3b30eebc21143859722fc9f7b9d1ddceec435bf1c8e1a98574253086
5340 BTCUSDT Aug 26
1f83f43953cfb47b60875c56d58f224e89f923e341a87f8e7729fa13f36e3fb3
5341 ADAUSDT Aug 26
4b99734700403a17b698bc1fbdfc5a889803bca127ed00d12ef7a06f5673493b
5342 ZROUSDT Aug 26
15f438cee4b3265948e7a960f8001b46546daac032cbedabe0c3e5c777bce983
5343 LTCUSDT Aug 26
d12f85524747d89f8ccecca1acb872104da3e2044e6d10a4331b07c38c3f7ec9
5344 LITUSDT Aug 26
055866f7cf4b0acbf1111a4eab46b5758b1c979e7a6f4ed1ab74d87f1bdcf28e
5345 TRUMPUSDT Aug 26
8ce467b6430caee7695762d340fe386be7f82eb4bfd501e0a3bf147aa5486c31
5346 ZECUSDT Aug 26
de730c78f00dff05f0f5ffbe177e16b1a76bf06def6ff76f4e1eed4823f4ada6
5347 DOGEUSDT Aug 26
d3d1e615efbf9a9813c9c2ff4e3c8655cd4dc88a9818781e305da3cac0667993
5348 BNBUSDT Aug 26
3f92632acbbe7cfbac8ca798f2e199807c43dc287ba8c2c8f712ea0d4a927956
5349 DGAIUSDT Aug 26
d6069c93e8fac068e40b9071cad1a1b442f7cef812a3b4efc0d9ab4952a30af3
5350 PUMPUSDT Aug 26
ab8347e33c05253e508b5e85a9d80eed5fe5f9efbe49eadff40222cdbfb54bde
5351 SOLUSDT Aug 26
93e353450d4454562cc1abee4960f15be3485804111554036c43e00196580de1
5352 ETHUSDT Aug 26
40355d92e45e2237d6d5a91e730889971cde62bb5974c0cf0048bbac3d0a2b24
5353 BTCUSDT Aug 26
5af450813f822b9f7b26a8a3128a0ca0f0ded554a6122792f517003725b164b1
5354 LITUSDT Aug 26
eb860cfea3a82ff5fd4e19b4a355facaa07e106d7e57e8e8d2944677244a7064
5355 ZECUSDT Aug 26
cdadab67c7de58fb2fc24f61000f22ffa583f9789998ca2f2c29793565001fd8
5356 PUMPUSDT Aug 26
9f3e1ed0253a3081a8c951e956e38539eaa1b03c2cef75fc3cca22e1eefe343d
5357 ETHUSDT Aug 26
1be7253c0eb49fe0ba31f9872c79e75016f1423114561d22b087f6b634483a43
5358 BTCUSDT Aug 26
6121f8847270dfcf30973a92c194de695992cdb6dc2837f6e7836c0ce33f00d8
5359 BNBUSDT Aug 26
3bf1b5b4a052c005f34586f8e265be980dda20a7dd8a2d4957cc7cb5c2397c2b
5360 ZECUSDT Aug 26
644a83c0169db0c518a8facf73bcc00c4c3517f6d54b75bd6386f4df9d7d5996
5361 ETHUSDT Aug 26
6dd63ec710b67828c06d696d5d227db8e1ec2694884714bdc7e8c295c051d87e
5362 BTCUSDT Aug 26
2e0c3e73d92573e274ae2efecce3a446c165391ac048a8621cb1b628da6eaaaa
5363 ADAUSDT Aug 26
cabb0fd7b4342e1fd276f27e8c96eabdd4c84b2007e55b418b461ea49252f005
5364 LTCUSDT Aug 26
e957e1fc6563fdfb3afc516d8eb7e8e1656c339f2cd319ed23dec8fb7d7f80ef
5365 SOLUSDT Aug 26
3acdfb3733149c1f72dad9c39b46e22d30ae544839e34a77935ef4ca9eb47e35
5366 ETHUSDT Aug 26
15e0fbfe11d74904012474e2b3ffe4406894c6e664cda7964e7c3fa228a6ee9d
5367 BTCUSDT Aug 26
bf3d0124496d4b9787a9c2030dd81932968623c3669416fd158d96e4d530d8a3
5368 TRUMPUSDT Aug 26
e56664284a79a4f20a309be410e2f073609bf4f2ed8acc18e8a6f7796e64a4e2
5369 BNBUSDT Aug 26
216101b16f1b93a707852d93e8c054feaace267c9c185f9d25b79c1689589257
5370 SOLUSDT Aug 26
a824f83138923f67d5250c24c1cf5a79499b03e71e6214e82c23f1ceaee22e38
5371 DGAIUSDT Aug 25
07c86aff37afda4608b8fb3a57ee64e83c94bd9aa7197572f544a238be8cd471
5372 TUTUSDT Aug 25
6f5f5d8047c3c4bfbc51a0862b8afe3047a2eb782956b2837215a550ee84582b
5373 BNBUSDT Aug 25
f7697b6480b040ca97b4b34a6a74fe43dcb9caa1274958ad2006c779670a98f2
5374 DGAIUSDT Aug 25
f824a736d36a36a3098fbe3b586e61675bd08b4d762d2503db6999b0f975ad41
5375 TUTUSDT Aug 25
1aa2e9ca30a8ad69657aa6c7fd0f8bdcab643b02af14ce41fb08140f453cc268
5376 BNBUSDT Aug 25
b7a7c19e358092f837a8ddd9a81638e3828ae64ba5ef41b67e697566ec957b8b
5377 DGAIUSDT Aug 25
18701ba32b781709a3d4f3c6dfe53eec53743e831d08996a36437a26d82fbfff
5378 BNBUSDT Aug 25
11f8930016c916f155362b145ec14eb376fbeb7882957891a4b2e9aaa006a817
5379 DGAIUSDT Aug 25
2a485275a391fdf9b4d950e4935961b0f6915251c80a84f256be030f914f5971
5380 XRPUSDT Aug 25
1715b338419ddb18f70cd44ad9b84c5954457034527d7d301a6f5978de387a83
5381 BTCUSDT Aug 25
a4da630094c815de8f4a080489af45819db60f87a135e7b356f4494cac045557
5382 BNBUSDT Aug 25
3d71222cd3a5eb7391700d759b3dcb04ad7e51f9da6624481513742c6b43dbe2
5383 DGAIUSDT Aug 25
6fc996a8fb020ebf1d236d812a76fa28be28523bda67b776aaf79c1dba5f1045
5384 XRPUSDT Aug 25
95e2c99509af891472b048c091becadcf0e332b3ae2ca39b000ab21051bdbbec
5385 BTCUSDT Aug 25
53eb7879581673a58dc6ca21df39a9bc28340c9d95709a0295667251d3616e8b
5386 ENAUSDT Aug 25
c59fd28681c3d0d6dfebdef31d71dd5c6e33aac3576110bd5880a37858c5d484
5387 DGAIUSDT Aug 25
3d0f6df5134a1208f656165adeaff62919ffda14649ad0c9de6eb62089030091
5388 XRPUSDT Aug 25
5b3b50b3d100491f05933ff376f71b77f7794cd73a7d62fd10017bc4922a4bc0
5389 ENAUSDT Aug 25
938ca991f9bcd9ba3f23c35873416136863c8c849ac606821689e20691a7e525
5390 DGAIUSDT Aug 25
a760184b33e18cc4aa89a94852648417a394766b7545694b5ce00d61c5cf784a
5391 ETHUSDT Aug 25
18961d89ad64a4c212e66484276d37288cc8e603fbcd386085645d4cbdce453e
5392 LITUSDT Aug 25
ec52e3850589661dba80eb9f648dfc897fb8dc38b0751b825296f316bfcaf54a
5393 TUTUSDT Aug 25
a599483631d897f220cf8b6cde7f81efda199f2b91a9d202db7e2fa01aecc5ce
5394 LITUSDT Aug 25
f1a4636e91c849c39f97117c14f708e0831410002f65f073c71133c6283272cc
5395 TUTUSDT Aug 25
43d6e739725de496edc3d4a3cf0adb34aa62a6cd113eb9f8ac195462b06bc2ed
5396 LITUSDT Aug 25
8671ae3b9dbd03b0756b38d24b9eb9a9cb760bc3f1c28ee72d48a3fb8fb0ff7d
5397 TUTUSDT Aug 25
5740b769d9e46549cc36badaf2be0e9156a6d8f2d6c12c2ad21d481a110e16a0
5398 TUTUSDT Aug 25
41132bee49503e3354efc2d365bfa31a9be556ab800d54974703a61d3ded59df
5399 TUTUSDT Aug 25
585d5a2eedf6c8936fb8a6d1557c32431192c33c1b9bfb5c934f22cdff3473b2

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