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

20600 MEWUSDT Jul 22
c8d8e9930d6e673b5a44f380a0e75bd409fc1b72cc7449c752865bc33c437c3a
20601 SFPUSDT Jul 22
f5866640d8b84f5bfb055e3a9b8be194d05c55ae105f484cac6ad0a446f15db0
20602 AGLDUSDT Jul 21
c4ecba079126a5c1a65bfd1b4d87245cf58f7284456b6c68c61431855d840c98
20603 NEOUSDT Jul 20
f8939e412ce43418b5dd5741d48ec74b861ba57d8447a5fbf3835abea3e72e35
20604 CVXUSDT Jul 20
9fe51fb2b7fa5466c01d9d76f6ac03475a11bc0d37f96f4e7260821a1a05eb72
20605 RSRUSDT Jul 20
c32a37306ae78869056faff9126b959f73e50631662aae7652d9dd16705cbe59
20606 TRUMPUSDT Jul 20
3228f85d77205f97b534d574e244c12eaa30517941c7bb84f6607bef894ac9bf
20607 KSMUSDT Jul 20
ec9c2c421fc410e6361a04092ceb553443b7b35fe7bd97c0e2eface029f84be9
20608 LTCUSDT Jul 20
000f0935171dd995c72b367794fc9a0a95c6d47d96b01b6226daec1c9aad2789
20609 MEWUSDT Jul 19
f41cf61b5315a67d07ad6067bc0d13cffaefcb764aa4e42a85165b9f0ef170ea
20610 GTCUSDT Jul 18
3dafe2f3dc84fee9849053da40b6f8bf94056ba25cf2e02a321cabc73c2d0220
20611 BCHUSDT Jul 18
c75cdba85c33e877c588cbf7100b7de18e7c6db3f0cbdd4b0c3652019af33427
20612 OMNIUSDT Jul 17
d01fe1cc513b35eecc652a2c7ba48e5b3b4324f259dd6ed90e848d2182b6639a
20613 ENSUSDT Jul 17
86cf99000a33a640f44a19c8e5e463e429418d47fc6206eb0e17eac8fa434b31
20614 GLMRUSDT Jul 17
19f66761f1715831ce5c8ce69768d86f6242529997c60e3b95a8463155ebe5da
20615 CHZUSDT Jul 17
b94e3ad207f8dd734f6fc8b24c946e1a014f843972a1639aec8bb09a3a1a8737
20616 EGLDUSDT Jul 17
e1473d76ff06f356131abfd14c44e670d5bc06fbc71d0dc09583fb03a461c6bd
20617 FLRUSDT Jul 17
21715648526db268b6447d12ad0f15a6f9200b5a2c8a94383128c1f6bedff771
20618 PROMUSDT Jul 17
a207393e277f9f946bfccda7812d43e78a825e209f0340eb2465b2748a4aec79
20619 HYPEUSDT Jul 17
3ffd4be1ff6488e03c9001445a9dd7c695e3f6c277a598b92f619082a8d6d85f
20620 PYTHUSDT Jul 16
2de5507b6dcaeb0c80d6620d1008fd193049f1891904f6036e03c9342fabbcc0
20621 CVXUSDT Jul 15
11817a5721108a18f5c30470288a16d1f1cf04749cc15b08ea090fbc4e2e81bd
20622 XRPUSDT Jul 15
499227af812644222f2299902cbdc88d34c767163a3401f298cb1f280eb93558
20623 UNIUSDT Jul 15
50fbc0e69447decd29d260b6002504f6b94362f8d52e78051b8bbe3b606d1070
20624 RSRUSDT Jul 14
6e852728bdb3584e219f7dcd4110b89677a2cefc6b5bf331cb57fac2990bdd3f
20625 CHZUSDT Jul 14
3a592f4bd9b1fdd63967c7ec7806bac43ad8aa0c3edf54d3caa4b836d9dee029
20626 HOOKUSDT Jul 13
86610b79cf490d15286b198ae16c630e9391bb2e1e3d3ff3e0152ec664e43b24
20627 PYTHUSDT Jul 13
bf274cd60d41676c132cc2914a532df4af80928c9884f23736eed702d6145ad7
20628 KSMUSDT Jul 13
4480c2e8db875a2dd93172ccbb5360c9d3f9cc85a2e20c7bee7f19c437ba429a
20629 TRUMPUSDT Jul 13
b3831d57e4be6c381d9ceedc77c0185b3029cda01172842da6498ae00ed1cb3a
20630 SUIUSDT Jul 11
abdf3dd752ad0fe00885649ed3d727a3c696760784018ecc5f6d3360185efc07
20631 OMNIUSDT Jul 10
313f2748cf0f9c2808fb324e71cb000b59403ad643e537744274ca546b92091d
20632 HYPEUSDT Jul 10
0109cfa456d6008d649df8828409a569359624270d3a228649df027e77536254
20633 DOTUSDT Jul 9
b3c5673c926b2fd53b08c4b40852604f1795f6da3a777c5cc47d04558706fcfb
20634 HBARUSDT Jul 9
f7dbc8bb8e533932b78babdbceb2ab9ae146cc821613badaff0d6b39964bc00e
20635 DOGEUSDT Jul 7
023848132a8f5fbe29c20658122e04ae484e061cd1902975fb21f943de460cbc
20636 RSRUSDT Jul 7
4f4bcb669c7d90caaf2c3a795592ca767218113a013c781745ed3718c75b609d
20637 BCHUSDT Jul 6
bb80b91ba9c7d0ad562e6b98ff25d6902ee3eee57250b1da800ac6de73f795d4
20638 ZKUSDT Jul 6
764b001420c424c5c8433b020c65bcfeb83a26989d3fc2e1a2a972ea1ef69e27
20639 CAKEUSDT Jul 6
e3e04284cd17c0c4cc927c6293d90b007cbc18937f6080bcd8d91b8f073c7adf
20640 EGLDUSDT Jul 5
9a2d66aaf52cf0693cedab21e2313e645306ffaaaea0a5b812d112250dab1334
20641 CHZUSDT Jul 5
ab05ba7584f5b9aab8f58bc8847a1bdba69f0e7eeeb75802f087ae3086ab0a43
20642 CVXUSDT Jul 5
ff11e63c337a1f0fcce043f93fa9e8f1adee19fdea7069eee3891aec22810d85
20643 EIGENUSDT Jul 4
d5913d99416f8e8b8710b61372a54a85bcb11724b10363cfdf34119542cb5647
20644 PROMUSDT Jul 3
336f965d2d3dfbc62e249f35138034f5089ead0877e81c439f085027a423cac5
20645 PRIMEUSDT Jul 3
08002bdb1313e88052222edceddc4a0beb408fa7ac20811442aaa8107eac38ed
20646 MEWUSDT Jul 3
137a7db841e11356ceb57b1ab2a1824f6933ef9aab17dee172e486474503ccc3
20647 HBARUSDT Jul 3
5e86b6ac85048d9ab03c8d4d49b75afb312a8e7a1c9396a54ac028602044090e
20648 HOOKUSDT Jul 3
8818572d3341efb607274ed20489cf3cbab00ab20322bc32e16b179f43488052
20649 RSRUSDT Jul 3
b25051280eed75b8b21004aa6804841bee6d8d1b5d1b69000081e3966de2b60d
20650 BCHUSDT Jul 2
d34c5aa33794c745a86996fc0395b10992d1749772c32de19d68aeae9f13fff7
20651 ICPUSDT Jul 1
18167dbab1f382f24434c1e27671f23794636ba8f6b19076df0d11796510df8e
20652 APTUSDT Jul 1
670d13d281ee34dd392cb99f978734fc921d19a6d740018cf786e22a98feea7b
20653 CVXUSDT Jul 1
fa6935a5f97d0de9dfeb56f29d196850fd5539c7646569d8892aa4ff5e28f3f5
20654 EGLDUSDT Jul 1
cce4c8ce334f944c0bccffd74f3eeb691d47ce6781b88bf0ea0aa754b801799f
20655 GTCUSDT Jul 1
0795a7c53a5c217f950823fe3fc319b29bc5078e9d43d9b56e5fc0d852fba059
20656 BCHUSDT Jun 30
71b59568f6602fe18b73835132536efd45b5c849b720df2fd237453adf09d0fb
20657 PROMUSDT Jun 30
434417b0700c5a8380a95dd2d1dbbb1b1faf65d7a0353956efee7ccac1643ca2
20658 ICPUSDT Jun 30
35720dc79c9baad30dfe5df0646b70026ae20ce6fb3ce375e70c750cb77f2f8f
20659 MEWUSDT Jun 30
3e64383cb2a9d7c140379c15c1a067205252bfa2a6832c7911c4fe4b85a4d46a
20660 OMNIUSDT Jun 30
7e3191131e093c6d3c047577cb9281d0954d9db39a9bde2b5be8e5939ea7122f
20661 NEOUSDT Jun 30
55c2851becf21ed088afbec442a6a8889db4cd25834b690a533db8ef1cf31ddf
20662 ZKUSDT Jun 29
f7a00a4b9841a280ddc4fc02e5b745d6d6c2c5939eb9f495b18fb60c05060712
20663 PROMUSDT Jun 29
b70c74643b175941c2eceb48819ad565e93f739af521b271ee5fa4c200aae8ae
20664 CVXUSDT Jun 27
e92a3579f97d27222caf550708bd07358efd8ffac0a308e9a6f182793b16a2f9
20665 QNTUSDT Jun 27
09a332803a07a23d1dd6ac8acbabfde76ea143e845b487e16f9c5b94dd4bd0f8
20666 EGLDUSDT Jun 26
20b9978811efc864c2bd796389b8689b4c5d0f804ec441e35fcd6c8b2b279b81
20667 HBARUSDT Jun 26
43d19a230368b1b69c4b23b0249e7b0180b9bd63e3f3e898dff04dcacad02a4a
20668 SFPUSDT Jun 26
97a421eef76c0d36581a7b4f2302285f14de995140f1bfc9bc50230708e9fdc0
20669 AVAXUSDT Jun 25
ba92bf9041c9114dc59a78308687f0f40746834d18357c1a3074981d3f672233
20670 EIGENUSDT Jun 25
e1ac4f5279f2777ccc79b6382e0852d262c04325528f01f42e822d79ccf6df8a
20671 BCHUSDT Jun 25
aecfe8e00ffd5a19674349d6f0f31a5385a3b509f37a80bc29d272137c653cb6
20672 PYTHUSDT Jun 24
c84cd89f8523f2d26a1af1c3e44d5925ec6cb382abb9c88b21c6132b3e0143cb
20673 ETHUSDT Jun 23
ab5e991bdafaedfa1bf1947efbc15d2a6c91d25edf69d4c8e1b9130ba3500e9c
20674 ZKUSDT Jun 22
b05b4cdb73662efdd250217928909dfe4b9704ac13012df906cb723fd4a49fe8
20675 ACEUSDT Jun 21
3fed53db60c37fb47b32bbf3e856ba519be2c1be0e1ffdee27e60c809e2da67c
20676 CVXUSDT Jun 21
c49a236aaa8fa7843e040a63ddca3a570ad5c8bf81d5095ad3eb391529c2988e
20677 CHZUSDT Jun 21
a7a2be61957bb59a126188e3446768c0b87be1bae9d713fb413c884f74b2ddce
20678 KSMUSDT Jun 21
8802a88f1faa83eac59c95bbb83e196b80ffd72a1883bbd372f875f59c9091dd
20679 EGLDUSDT Jun 21
5824063caf6c0bf19478cc7cbf2447c4203b6c65eeb90223d1b2c0f88eca4efe
20680 FLRUSDT Jun 20
7f8b7dfb3f86acd7d766f28edc4edab898f59b90803059c579a2b45c5a6f79cb
20681 GTCUSDT Jun 19
956ee051b8a7647005a669570a709455b45a7eaddfffc3043b5e5376aebd7b07
20682 JTOUSDT Jun 19
78bac5063748b6e0f9707fdacd70dc7ac8e211ef432f47b0d7d69e9af3338609
20683 CHZUSDT Jun 19
a751a969c060dfba61c7a9858f4621f13202d7da8918f5a7961fb3a7b89fecfc
20684 EIGENUSDT Jun 19
26e1a571faefe0959bf09cfd8882053e2530a9b7d683af388191b6acf5cf6fd9
20685 AGLDUSDT Jun 19
b2388d385b7d385e2bd0b38d879dd7b05ddd03c7d8f24b0c9309ac36d21ca59b
20686 EGLDUSDT Jun 18
5fc6a89d92dd4084dabd84a5b221d6f2e86f0f2311bf2d642e80171499f51226
20687 CVXUSDT Jun 18
c4049987f1d6b7dcab3d33ca379061c849c617e688a4bee0857515beb6b5f6e0
20688 MEWUSDT Jun 17
cbf8b54fd264081a459140802de5e9928f15964ba52679386a9a00150bdeab85
20689 HOOKUSDT Jun 17
5a5d9847d58f48907ca749f5b66711772415c9afe2d43e8110f4a0e526dfb5ed
20690 ADAUSDT Jun 17
d9e02f6d9e1c17667fac14d9111f5cac8115b594a7eb23841da3ea5da81db6c3
20691 AVAXUSDT Jun 17
23d646820f20bfac8618dc7c551eb65f71213d57d619a87304e7c43dd04b5ec0
20692 PYTHUSDT Jun 17
25d6623835a33114865cf58641eef3f5bc909f8d2bfdd791ef12815ca6d43a7d
20693 OMNIUSDT Jun 17
bb81813f1bd14afd5a55785d335f8657f62e64bad0f485771b65de21f1d38520
20694 ICPUSDT Jun 16
5c7ec3bd7f1e0920c7cb622d5afe0ad7ea88ec667703b9febf5040d451d1aaad
20695 HBARUSDT Jun 15
47656b2d9fa1a71474e66dec183bccfd0c232d65176e51c742616862c5a6c40d
20696 KSMUSDT Jun 15
b810126fe5b2ee08fad815d110940fe0a26326db78c22cb6cf538d7630fbb8da
20697 BCHUSDT Jun 15
8d1bfc4d8e5dd61b532ade24703da521608ac9123c0bf01c489f8e92a27f7004
20698 ZKUSDT Jun 15
89932d68c3da5e4b080422207533b53d30ac19310803dc0467e4ffc958b03821
20699 XLMUSDT Jun 13
7bf427af0b3429995756bbb7dbfa3221207f1b9db0c6ee9c8e1400dc763af570

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