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

20500 TONUSDT Oct 28
a138f6c83f01e3ff301ff0a11d04226c2415edde31230d71ff882eb2119cc37f
20501 BTCUSDT Oct 28
32327254634ec553aeed1a976a8556401d21e4f76b74aeabc22ecbd714c60805
20502 TRUMPUSDT Oct 26
ce3a82a6b6fd952d416dbfd15fa13a67915e298490380545ae7ead8f51adcc34
20503 METISUSDT Oct 24
8122411e2d64ee38e4b85a7e146c88db3616b065f8165f2dd90496d81729afe5
20504 UNIUSDT Oct 24
c72f9ee1a3b3c53c566b0ae5ead078e0a9cd762361bbd853da646c811ab53c24
20505 HYPEUSDT Oct 24
6716adafe19a08df710155a40322307b521188ee91c368f7f471abbbdd5cb4ab
20506 SOLUSDT Oct 22
01c94641c247e14c396773e52d8043be7554c45a71812fba18a224c481f845c8
20507 ETHUSDT Oct 20
32e07e8eb31d5f0886f7787dc2b20eac328cb33560bef4dcbd20c598f9ab43ab
20508 TRUMPUSDT Oct 19
0f2a257510597db442628fd2eda5a96fd66072a6015f496fec039a8516bc64f6
20509 TRXUSDT Oct 17
bc7c48411a25edf4bd37c296cf6d18e87895f74021597b8625b0158cb8af6dc4
20510 HYPEUSDT Oct 17
5fa951c94242c37ee251ce002f0f3b867dc5b7bd60fe8b198e3d538f79e8f085
20511 DOGEUSDT Oct 15
8a6586f52cbc784e5422faf73c46b22e9b995fae0418f1ba4e9da87f42f4e0ee
20512 TONUSDT Oct 13
b80287e8808ba8297a110cbc3def0f564faa7a62c06aba62dc05350bc4d0521d
20513 TRUMPUSDT Oct 12
7c2dba127593d90fcba8df4cc74c0769037298e1286d24ad7a514f7d9c4d7f4e
20514 TRXUSDT Oct 9
d0bd1d3d65d2510129ad49becbff60bd73f12c78c036ff15a2ab2876865702ab
20515 HYPEUSDT Oct 9
f27fda315fe90ddb64e9e966decbe9a0132cd8438f3b4dc343b8c663c5b879b3
20516 POLUSDT Oct 7
7d7735d290c857b07719ebdb904a619fae96d3897e5b35f79f865ea41d737da3
20517 DOTUSDT Oct 7
dcb3360efdc3b295797cf7811bec0e37fd70e4f8d38f1cbb7d1f5b484b7c92ca
20518 TRUMPUSDT Oct 5
1cd858f0174f9664cd42ea117a316f6e637e15e2b179e58f985a1450da88cc42
20519 MORPHOUSDT Oct 3
c53c336ec8a9c96b44661a9725782e14aa918f54a86dc9213d0ff11daf073833
20520 HYPEUSDT Oct 3
ba7d5432d1f5312f5a7319ecc87221cc7353e12c5ccdef6b0bc233348a503acb
20521 ADAUSDT Oct 1
d7187b079a6f2a05e11f4e3e2137aba84859c5e15602fe7cda940fee4953f001
20522 BTCUSDT Sep 29
22cbcf23ccfb0743e7f76b5344e4ca3d215950dab54001b3b42e5d44e4dd0220
20523 TRUMPUSDT Sep 28
0ec37ec713e247b8eceb8a874fb934e4cade8fb479055e576e6c6c7be40c0701
20524 HYPEUSDT Sep 26
acd332be072a5e1a4d802a7b4510f8ae1351592959760bb1e5f829dd64600baa
20525 UNIUSDT Sep 25
045de450c22ff2db1d16c24c3abe0c8b934b511849fb6efdc56407b2d99a0abe
20526 SHIBUSDT Sep 23
fec89ff3d185183c48574dd78a79997edd9b0c9ce431e766fdf93480266e9bcd
20527 AVAXUSDT Sep 23
db5287667b7214fe179b5fd9c002b9d62cac49ec2d0cd2e067bd348df575c7db
20528 TRUMPUSDT Sep 21
f52978cecba4d3e997520eee941582e0cfaf8bc0ef95972aa6b76cb12e21d004
20529 AVAXUSDT Sep 19
f51bced41eb1bc02440e1bd8b07edf8ab57644d84cd0e9b6240c4a1032c7f6a8
20530 HYPEUSDT Sep 19
dcbd6c77d01e79553e9becf9ec4055f0b282dd9ccc1429b6084b447f02595ba3
20531 LINKUSDT Sep 17
9c240ecd8d90fcf0357eae2b19c4040f979c193273f9d1c7afbb37f0389bb0d9
20532 DOTUSDT Sep 15
81b360ccd4ed02b429171218d47821c7e0b06f3d5cecea8d056681b6e96f9d5e
20533 TRUMPUSDT Sep 14
07fb8929e9c95e005f9514fdc7a4b95a5b8d8a7b4419a0fd533a22ed9a73566f
20534 HYPEUSDT Sep 12
304ad3c83381306971b481d704e2c5599f2577dceb166cefc9fb9417cd24e38f
20535 DOGEUSDT Sep 11
57cad2d5c56e1ff045f6aa3016489e39356ff96fbd569e8a8cf054d66dced7ef
20536 SUIUSDT Sep 9
95c6ce61cde16a9fa5074f1f9e929e7930575f7ec8bdc893d24d96c602614092
20537 EIGENUSDT Sep 9
0108afdea519f6c25c0dcc4889cc4d9fda13b65a6a6245a1f37d6671ece1a0b7
20538 TRUMPUSDT Sep 7
b58e6d72da6dde91f1ae5822cd5c0806f0b656dfbad0071f12a856259f8c1622
20539 DOTUSDT Sep 6
4d0448334fd993dfd7033e16139e1c8a29e8797dc78774a5dd26e871cfd1818b
20540 HYPEUSDT Sep 5
e18f1e196028b51092dca76f60315cef00df2930b561cd8baa33fb27129455f5
20541 TRXUSDT Sep 3
81d1eb1cb5592b1be39b7dc7b04a5989fad18800eb94d3df06cc9be7b47eb9cc
20542 SHIBUSDT Sep 1
eb08cc9e2e90023c15a6977ad73986166b108e56351d65e28ce6b287b524cb9f
20543 TRUMPUSDT Aug 31
94ef3b793c660dc00b8c9e8b9b960bcaff6454b28c62c8f94b83d89e1d4f45c3
20544 HYPEUSDT Aug 29
d1caf6d9b73517fa598e085f8a77fc321d921fb873c9800340212bf0663f6ad9
20545 CROUSDT Aug 28
f5ad94975b180c99994ff4b938b1fbc0384174bd3772fcebdc28236ef821484d
20546 XLMUSDT Aug 26
34901c6fae528a98c3e61094a94e65c97a452014b806fd6666cce5755cfcd9af
20547 ADAUSDT Aug 26
7d9fd075f150570af630bef3a52dd72293e9973ac39735d311f6e8b176e71809
20548 TRUMPUSDT Aug 24
b92be912a8573b8bc37ee82c8f3aa52d1f4f15ffcc75ad83d9928780cddf350d
20549 MORPHOUSDT Aug 22
8ea296dd0e817ea6f45a2752b4ccb5cbf12abac716796ad05419954321635dee
20550 HYPEUSDT Aug 22
9ba6c555341008c651120531ac66ef5366ebb2039f4e17de9f6c4d2cad4bd37f
20551 ADAUSDT Aug 20
f4a4d933c1edc81af4dbcc96677ddf8bc86804840c2c59a5a286f54154c362e7
20552 SUIUSDT Aug 18
fc1a7639011648afd9f2e17b9934a08b0428c3d5448d54d6269586689fde4622
20553 TRUMPUSDT Aug 17
7df5b3a05d920abf2425b49f712ac0b2e9391285170c67ee144f0347cc3c3dc1
20554 HYPEUSDT Aug 15
2137313f77aecd70f6f56c0dc8a69ef0c164efe876ebdba2ae4def220cb2c7bf
20555 MORPHOUSDT Aug 14
53ac69d83af5aec3a4208f316617827a7fa99c479768ed8b851f8804d57ef207
20556 POLUSDT Aug 12
6b2db137999ba2b0f3309f5e022c0726869a5a0e0d721d7e90c9845ab3358f23
20557 TONUSDT Aug 12
e521688432b4097e0403b9f72149b4dcaf7b276b2fa796435f55f8c243ad3941
20558 TRUMPUSDT Aug 10
4d4b97d947d2f0396e50d573c4ad4d727846d4c799e45c1993769ffe0eb58b2a
20559 ZKUSDT Aug 8
21a8a066e333fd084a9a6f47ee6bcaefde75d55b24f6042887e6c34e3b7da0c3
20560 HYPEUSDT Aug 8
21b2f973040e44575de5ff1c684a4c3a136c34616e64f3fbe1c5e62ea0e731bc
20561 SOLUSDT Aug 6
e27d1a1a7d3645ca89746b90d604107f1e1af7959ac7b685157177f43a90eaba
20562 SUIUSDT Aug 4
952c1422a3d337379fc60f93a5ef12636b60760f415275d5ed6aff7d061a4fa0
20563 TRUMPUSDT Aug 3
158f0c28a08778dfaf758fbdb5c6120dcde2b1061f90e0b097a3358f6fc8c729
20564 BCHUSDT Aug 1
44c605b8d14f60f52e1f9c46e8593aab46a9d0d13a2119c5aaab40d1282c2ee0
20565 HYPEUSDT Aug 1
fccb8539f70085ccf2c69cb8bccf14a591d6a56ec8ea462bc46383828743093f
20566 RSRUSDT Aug 1
9fc51a8ca0b36b34f6da3b756183bae8a450688a456acb8a6597c1de088ccaaa
20567 HOOKUSDT Aug 1
3ab82ae1fc3f7b0ade4829f9d9847a66e967b03d66195fe84b4cba38fbd1e395
20568 PHBUSDT Aug 1
0b42fc393e4425a1804f3ce7254f89a47aba4d6654d9aaf353e08ac376fe1fe7
20569 PYTHUSDT Aug 1
6515fb1d79e6a064000cf3ca3ac7661c45904fd23f2d790cda20e8e32548585a
20570 OMNIUSDT Jul 31
1d5026aeb0ad755bf22c1a2808540de685e5b99057f51a0d4521e682bfac7a1e
20571 TONUSDT Jul 31
374e6d3c8c345bd345e1e6766cb3c3c8a90000bf562b5ec8f8269dd3cf8affa1
20572 ACEUSDT Jul 30
7879052594389e390339cbcbc140b361643e75f17429b93b9f893f394d8a1113
20573 BGBUSDT Jul 30
041453c1f4eb27ed3719816b5a574258dd2d2626023d7935b1af29937d953042
20574 XRPUSDT Jul 30
3f078e9b9315d9db8078e08093ed32104e25b3524365ee9b6cd6ce8e7ed208e6
20575 JSTUSDT Jul 29
3c63c6a367df5d89a103b5c20040c2625cd2600ca04345cc3ee77a42491188a9
20576 OMNIUSDT Jul 29
b07ae0b5e8186076346430b59947f715baf57e53d6a7051edf7b9e684330e5c5
20577 RSRUSDT Jul 29
eaadfda0a9f18617e257cd41a18751e9b6f23a23bf8b42df34cfbb14a3b69db1
20578 GTCUSDT Jul 27
485551e3c8de7155430d3c121d0ed78ecf266cef3e70b4d7cedede4115ae1072
20579 OMNIUSDT Jul 27
7f7325b8336791523a889606e5f68be49bc98fe63463b7ea48d0dcebb471e515
20580 FLRUSDT Jul 27
1724493172d6a38d1e0dc0bceec806cc3161258d82df286dc84974d25660a81e
20581 TRUMPUSDT Jul 26
7443d3b9907d7ee472d4ea41db02140770f78683d9b9a673ea6d59b9d0b2f5af
20582 BCHUSDT Jul 26
d26134a20dc2d8913c536af38c65550cbd0bb2cd97fcc9b5ea34c50a5ce1131a
20583 BTCUSDT Jul 25
939172030e93647a897199c2cd286e9c0ce7926feaea6cb83c92e720d6feede6
20584 RSRUSDT Jul 25
a921186968e069fded92e73d55b155af197212f5c4ae8ff188d11026c541b419
20585 CVXUSDT Jul 24
5300d30e67983848d375d0c66ce634d306f116383d2ef6f86626eeef75d822da
20586 HYPEUSDT Jul 24
1e30013d7f71e72c2fc35be30d44586be007319ad73e86addefdb9b784aadf23
20587 HOOKUSDT Jul 24
846bba2533ee99194e4461218116f12347dba7857e653dc48f18ff29de4732a7
20588 PHBUSDT Jul 24
0b018964ef3390f130c3f1d9e97a24229789ef629c3ea9aa9ee5cb8fc98eed4f
20589 HBARUSDT Jul 24
7e9aa3d1b3d53df4e24f0f5714a0f0138a6036c2e03bb084e403dd90b1cf3db2
20590 LTCUSDT Jul 24
f11abd4119937ad5f6af314f7be0f353fd6355b80655bdfbd45b92b37d99ecc9
20591 EIGENUSDT Jul 23
7b61ec4b7968774cd8d5f448d9cd09c12544673e6cdd5d3351383ab34e7951df
20592 NEOUSDT Jul 23
c7ac188d3452037fcb870ba6281d4aa6127663fe17da4a837ffd1e57b7919778
20593 AGLDUSDT Jul 23
0147d72a68bff288c219b90a2610e84ea724e9a4024122e4006470b4e3959343
20594 ICPUSDT Jul 23
1c78978e7938b0aaff872d2e39784179a548d6c8282e37956e3ee1f911d70f4f
20595 MEWUSDT Jul 23
1828ff57e6e0f30d331a110c7302c6490492c59eee4d3f77dc683fba870b82b0
20596 ACEUSDT Jul 23
8d7d7b83ba7f0eeb3bbd2005b7d3e4a846e851e8a9ad0abd94e92610ccaf7c76
20597 OMNIUSDT Jul 23
252def378c9d87b36b7dd309e64ce32ad7bc6f7150b79671d787125a9a060765
20598 POLUSDT Jul 22
0ac0ab74233cfb3ad93c3e75e4136b896cebf2e7ed0a4c36ae98846b1d2a7209
20599 BNBUSDT Jul 22
301f2298547d2022d1670e631711c7daa8ae986307421f3d40f802a2e4d5b032

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