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

20400 XRPUSDT Apr 24
827214605231fd5733169319d58604ed52ed25f0774609e620a9bc5ee1f6888c
20401 BTCUSDT Apr 22
422e15a4705009047b1ec06f11fd47e9083960ef2e879576fac15c62d1499a41
20402 BTCUSDT Apr 21
3709b9ac1bc6b7d63c9f2322b64cd63a075b8d3e3e74295b37e8280bfdbde931
20403 TAOUSDT Apr 19
a81d76e3d2876c7b03bf1623d62c66c45d5f08c5b3bee73e7aa4fc46a2ebd135
20404 BTCUSDT Apr 17
12e80cec2e65ce8cbc1602c78e60e378633fd74388f0b7d928d35a77641c6b32
20405 BTCUSDT Apr 16
6e9d0460a69f536658059cbb277b42229e7794845789490b60b53a6bc7aeb238
20406 BTCUSDT Apr 16
7c02afe1561392a59cd79dd0eeea4b727b50bc9fd1d0cf7616c09b7bf7bd694a
20407 AVAXUSDT Apr 16
f33523cf0a20b77245b712f41dbb33ae85e47590f450c86e8cbf578583f89348
20408 LINKUSDT Apr 16
32e2a24fb60dbd746a227d88dd6e88f7d07576e7ab754cc911db886716991e6f
20409 ETHUSDT Apr 15
37266858c0223fabeda4ab111a9265b533446465a74b8efacc1b626337e2cfe9
20410 BTCUSDT Apr 14
fbff6e1871fd1056110f1e0be034e415003d9185f780a90f50c0bd6ea749aa01
20411 ETHUSDT Apr 13
e34d0aa4eb6bbcb94571b0df8876f30c2598e6e73c1793d835435c6c1c788a0d
20412 TRXUSDT Mar 25
e618292cc12efde4166532c29c64f4ff9776aa09432fe314299ce6978a3480c0
20413 TRXUSDT Mar 18
99c837aa0bf024eb64fc7eff4e0afa101716a15a029ce55da82290212bd92281
20414 AVAXUSDT Mar 11
eaeab177e5d853fe47a5b298480ca28d2ece9f3f0defea2ed5eae4a83d783498
20415 BTCUSDT Mar 4
7f1540d1497930b43308b89354a948b8b14d49bd07701bb3710ded546765654c
20416 TONUSDT Feb 26
fa808734aa46a720002c9734e6584c267caabe01393ae9beeddaef5882743057
20417 DOTUSDT Feb 23
664331b2667811338f072015e3b6399addd2dba74f7170754f49efff24639859
20418 POLUSDT Feb 17
e95d108e2d3512dc5143adf1d11208719a0dc89d652fac77deee537525e7fbfd
20419 PUMPUSDT Feb 15
ff5988693fde61f6a028f89932e1a5c553715b5ba307bf15cede2750158e4853
20420 BERAUSDT Feb 15
3d10d17b1fdbb7192239637f80df64e1187d46926519d09d2372110a2044da26
20421 BTCUSDT Feb 12
4d1709e063d5c4676a1f2a46d3cc533aed7c27dc02f9408437cb1c83e701dfc1
20422 BTCUSDT Feb 11
5f8b289f5bbd223e6ac7704e06d6d36b1f97e1efecee3be0b9cbe7a589f4ac1a
20423 SUIUSDT Feb 11
b9ba0b4c8c8c770f9aa9da94024c5c39d7a343ef3f638a820694e597c6ed2261
20424 PUMPUSDT Feb 8
87396c5b8c37f54c675e7eff879cc86013943c558bf0137dc39c30fefd70ff65
20425 BERAUSDT Feb 8
f654c2dbb804240682a2d4f4b48b89acf37a3e7bf68f6561714b3d947ea0ee21
20426 STXUSDT Feb 6
09656735782cdf9a81496446fca5d3604f4aacd3dc68193b3a35cc018e99fe20
20427 UNIUSDT Feb 4
ef2e61651cba44fe5630198d36f7d7e578f91cc53d4d90ac2a9862d25a54725d
20428 BGBUSDT Feb 3
4e936ccb5cca365e56526ca5590255bd07474ba339e464ff17805eaf1bb8a3c9
20429 PUMPUSDT Jan 31
08183f9f1d5c485637f3e29c47ca9b3c2534dd45798d4ca628b719d3617647c6
20430 BERAUSDT Jan 31
05eb8c4b5900cb9e31e687022cf2ee94383c2c4f3ce4c1e929e4328177eb7124
20431 BGBUSDT Jan 29
25f64ab9a947bfbaaabdffe43841218eaa00bdc255895038c1dae9dc7e068370
20432 TRXUSDT Jan 27
ed1db8b2a8528dcefa5929d8c7b03c9b363ebe607819e571cfc0cda2d3378f10
20433 LINKUSDT Jan 27
9178e5a805e083fb9c426fc4949eaf7ed7c03d52fb6a09ad858c702893db20a0
20434 PUMPUSDT Jan 24
11069710afc4b224c6160a33b37dd13db863f46f63722aa61743acb06e907ec1
20435 BERAUSDT Jan 24
05cf5e1e281d294ec951d0d01ec6bd0475b732547c74d1c3bf975bee6597b7d0
20436 XRPUSDT Jan 23
654474f0aa1fc95d946aa6bf9209bd18820ab11376201630b892eff79694e4ff
20437 ZROUSDT Jan 22
4ecda27ee56e26cde8fd1fbd8146a157aa7b7abc1e6e78494fb521dfd6a2b09e
20438 BNBUSDT Jan 20
6c70bf16fcaac959531f72aedef0d82c7e6428933935054f0e21da5d71b06fe2
20439 ADAUSDT Jan 20
4b4bbd4e4fb2ff05ba15b381c5cdfc5fc298f3e483855e1265bf16e6c95c95c2
20440 PUMPUSDT Jan 18
3bc1327d8ca0f5819d19a6b706e1633105d9931cc63d7f640efc78af89c6b948
20441 BERAUSDT Jan 18
5ba72eb07e3d4285ddf342031d52d0e8842bc2ca8277bf7b1bd51fe933064291
20442 BTCUSDT Jan 16
d3238fda45028eb6749075a3223d7737076709acb9a84ac883f55e23b1200046
20443 BTCUSDT Jan 14
5adac98e2584ce6e8e05968ed5b6311ba66d7688e63947af157925ec4b034b64
20444 DOTUSDT Jan 12
cff915822d0f330644d0055ab4247f7df697b91d39103527203c764c40aec969
20445 PUMPUSDT Jan 10
032112f10daea9b40eec5c4d552464919fa2f21582eb379891324561647fb731
20446 BERAUSDT Jan 10
c2dd58d57b35e4dcb7b8ea50f771f562332949b93c45d6b5d749811fcb1bafb6
20447 SUIUSDT Jan 8
ad73ed88039bbabdd014a0c648b41d8af213e6e52d71b7c0c19e60347c33a2af
20448 DOGEUSDT Jan 7
a8d3b389975c23075210eeb2fbfebee35b82ce6f35dd38c1c8a97ecf11775c65
20449 SOLUSDT Jan 7
04adc7dceea89c947656fcfef6f7e32e03e7c7eb963c8b622a0b52d2b9cefce2
20450 TRUMPUSDT Jan 3
e17b7aadb68fd198590757725338cf3ccf19bcf5891f7c39c48614f6908663c2
20451 PUMPUSDT Jan 3
c6acfa797b9505b2924b6f7fc1f341daca878d1f71c83122d204bc8934496db5
20452 AEROUSDT Jan 3
9b1af8d6cb0b3bd7d54bb4be07073c30279c2478c408e8e4fed3f81e3bf713f3
20453 LINKUSDT Dec 31
86ad4c53c9a63da825934a7a81effeae724953599fff95704241916fa6f53ab3
20454 AVAXUSDT Dec 29
7995442ea9b43b3a35879ef7e6492f41be358b818cb7200178c5af69458c0e87
20455 TRUMPUSDT Dec 28
25bbf194b15746121f3c2bd5381ebb4516d490af6dd552c043e1d675e2470602
20456 HYPEUSDT Dec 27
f3fb3b373e6d5d8c0c33f75a25f56e4dbaf0f039d000418756b5242e7d2f3652
20457 EIGENUSDT Dec 26
a7b12ddfc9015ffa7eef5220429a593cd1480a508dcc252bad11dbd356e6b73c
20458 BTCUSDT Dec 23
e4d62e6b49ebf6eb3343cb97e0496f7a394da924123bddb8dcb68c89207292e3
20459 HBARUSDT Dec 23
9016fcdde09926c7770178da0dc5d029b47843735c396adf7dc73ea71de8fe0b
20460 TRUMPUSDT Dec 21
ef5d6863a0e44722bffe24b871b2dfaa8977369e8aa7e12d5d6ebb971334ac4d
20461 HYPEUSDT Dec 21
998089341bfa789f2a9d2df4123c236bfedb8b995e320865c79d1a17a71ad477
20462 ADAUSDT Dec 19
7964026c295d39e3dd13d8c28d57a5d4a59b35a58ad1fa757d2cc562d4a1207f
20463 ZKUSDT Dec 17
fc22e8f3c92a686c44e071d8fdcb2742ccff5d57e2c179530ae4aebb3d109dd5
20464 BGBUSDT Dec 15
7fb0e2de3fdc5e4f57de96c5304b4993d30e729de5c723f5895599cf2550ed65
20465 TRUMPUSDT Dec 13
78e46acc254cb3408031716297a65f6ab53fa168103f335535286abc52bbb8c1
20466 HYPEUSDT Dec 13
e2249f6ac7847b7a559a2b43bfeaeefd090098816f07eb1a0646cbc8601a85d0
20467 APEUSDT Dec 11
d0202a81d30132309cf6b210e9794d859705cc9dedf4e91424a3eb088c8569aa
20468 AVAXUSDT Dec 9
4718dca91270d55f149b9ed17a684074a729ae8fea217330b07296cfc68968d1
20469 HBARUSDT Dec 9
a6ac1dd0b7f5c6ce45c9aafb4dcb25d395fc60ddabfaa166d394b344c718fd83
20470 TRUMPUSDT Dec 7
e92db50a6f6a43d9ee28632dd433c7ca42bbf47e9fa28511208c47c52d8f3d7b
20471 IOTXUSDT Dec 5
05fd2bbfd4d970cc8e77033f9f55a55d304411fe0015cd375d73721f280e1ee9
20472 HYPEUSDT Dec 4
7ca0665388a90bb19f4ccda6f40444c5936cf472c53a621dafa589cc3cdb810d
20473 TRXUSDT Dec 4
a65ebe07fbdf77a0d84197901e75350314b75e8bfaf02c6e5d2d006d3aa7fd5e
20474 EIGENUSDT Dec 3
3463346cc477a8211ffdc8f57e5ce91701a5578e72947adc97d8fb25b2120f60
20475 ETHUSDT Dec 1
9daf63ec8a5e5af117a4eafe232dd82044d24aebaefa955ee41320e01bce8f7b
20476 TRUMPUSDT Dec 1
35c5cefd19c55376155502809f4e8f2874a80c6a3f143f77e97b175d3cd185de
20477 HYPEUSDT Nov 27
80f2e7c38e16f3ac4fac9cb704ed009f79610409c7095ae24a6d507754ee0d55
20478 BCHUSDT Nov 27
5dceca655b851a63b06a9fa92e17bdd4171275a3e9f19d2ac41ca431663854bf
20479 DOGEUSDT Nov 25
ac933b395c22b97d16c216d08c5c62484054bbb85e86a5bf5154b647890d50bb
20480 POLUSDT Nov 25
28794c0f44a9fc276d4017bab1d0cbd7b0634225939afcdc84826e26e2464562
20481 TRUMPUSDT Nov 23
fd61dec0483b624b6773a3c24603054a71e0dc44a5af507aaa13867f6151167d
20482 BTCUSDT Nov 21
e0b0e425195e46a0e481e90303301e236f41f5ba8d6f40e6d122ab3693eb4784
20483 HYPEUSDT Nov 20
c788c09aff421a2c9a52b53b736b8640b0d4e1b04d201fa2aed4b39572f293f8
20484 BTCUSDT Nov 19
647b2e2ee36642c631bc4c3d0995eef092c23ce002477503789fb88ec2d5e9e7
20485 XRPUSDT Nov 17
0ed6a496aae3f5daeff5e6caea9f1414fc8eb5f2710c5d3d1656e989d8726958
20486 TRUMPUSDT Nov 16
3f74731dd27f6862c48b2018f0ef6a05e4ae7a046aca0f95137ab1b15907a0bc
20487 ANKRUSDT Nov 13
5885478133c7df538affca919e2f58fb1671fcea1e097199d932449d17426566
20488 XRPUSDT Nov 13
3280e82b2af4333bd5b3974f3599aec922722bf08785ac7cb05670d7db548c83
20489 HYPEUSDT Nov 13
3ff74fac5fb2af166c16054f8d4a5900700b23c3ce9b4d4d1f32860a80476a41
20490 DOTUSDT Nov 11
b00ecd76fb94d877e68b27e9fb69b5d28be49a1e577989db22ec0c71ce37af3a
20491 SUIUSDT Nov 11
065efc729a416a79e12b913d3d7208d0fccfb33e5affe750af3057d462d07936
20492 TRUMPUSDT Nov 9
271379e64b931c5adb360bf74a82eb9cafc56d32546ee52ddbf6bb0bd1e4bd93
20493 BTCUSDT Nov 7
76851baa21c01417cd45982486272cfc9e4084d65e789445ad9769d412a9c02d
20494 HYPEUSDT Nov 7
bff8ea4ca5a9ff2beda7adf4dc57b358707a4774cb76e44df924a403a09bd2d7
20495 EIGENUSDT Nov 5
8d009b951a5b86b6bba4c19ad77afa1c0de634b1756acf56ce95de2ec3b4f86e
20496 ETHUSDT Nov 3
cd5b3715e2de483bb50cbc25887a20fe6a5a79cd225a6d2cccb438ec28e14604
20497 TRUMPUSDT Nov 2
bb0a3cf9bf1372981a8b427682df1af6938fa1f9522ac8d15c8ebb9b9e2ec66b
20498 HYPEUSDT Oct 31
e1b11b4b2072cb79ca7323c99abcfba19a307750b3e812cfcbf27636d534eb81
20499 LINKUSDT Oct 30
993e78f8ca8ca05b26e4d3ef8dfffc008f31d779131e3f16a989b383245e6e0b

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