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

1500 AMBUSDT Oct 5
62085fe236361f31075652f6cb89b820d87eacabf4883fdf1a89a0400d44007f
1501 LEVERUSDT Oct 4
aa6ca22f94de0539bd6a9d5105c45772b7da885ea3f1c429b1c3fd26efb8b3dd
1502 AAVEUSDT Oct 4
56ac6eb6a0ddde2dc4b3445c844f7f3c5e021bde2f2b13ad3509d9de600183c5
1503 AMBUSDT Oct 4
a7d105b477f3a145aae5c0ca62f2746a2c2c372e6798f3016143e20da216d6c8
1504 AGLDUSDT Oct 4
83e69705c1f7c604c4c1af5dbcae538e61dd06c4feb770b87fecac1274218fd7
1505 LEVERUSDT Oct 4
2a44634fb5f804349fbd82b3c83a8f4aa814a225da8a84632fb02d06f792f382
1506 BLZUSDT Oct 4
154fb3283653b59b21f05de924e826d36bf6a44b3ed426fa9a99d5af7aab4d96
1507 BLZUSDT Oct 4
2e4ac7ee5ee41783eb03ddacfe1ac7e858a10782594c2760933b52eb1327a9db
1508 PENDLEUSDT Oct 4
0ffdafd26f7de3ee5594c30880698f97a8c99c80e86464de57117849212a9d93
1509 1000CATUSDT Oct 3
17dccfb97e07c4d7e90a7df5ad6709f2778e6054d86ea58dd80c2665c5a49393
1510 BNBUSDT Oct 3
9aa77dbcacd3490d4c97d80e5e5dc8b59a3c749949d00e0dca591cd2632a7eb8
1511 SKLUSDT Oct 2
0918b977e817f99e33fff57b420a495870ed9fda83232c6fe37e3427e14afa0a
1512 ATOMUSDT Oct 2
f1b602bdf2705e0339c24e1fa9ea04fc458755f00d0c9bfe9f8af0656d8970db
1513 ONDOUSDT Oct 2
9b8a571ad221021aba4e0e7876d3e954ef0198a34988765de473a1aa127f602e
1514 KASUSDT Oct 1
8777fb824527c3e32e19307fe9d8e4701b17dac446b406540c837048d7bd0af9
1515 DOGEUSDT Sep 30
2e8b2d371ea17a1e871a869b8a4c66b35f4afd77ed9411923b70e2be9780a057
1516 SANDUSDT Sep 26
4d38730dc7b119384dc3487865038b2a8d3fe6c1eae8a460b25e486a70001859
1517 CGPTUSDT Sep 22
4e490ce6eaa6121284ce300086c5779eb3d0628002969f7a5b2d45ee317c4744
1518 CHZUSDT Sep 21
c11f59dce629f184263e00a032b032050f1ce87b77769a29094ae59e3954f26a
1519 1000CATUSDT Sep 21
fa82094f44bc80b2451b40f5146208ccb6eca174debaae77ddcebe44eafb3698
1520 ETHUSDT Sep 19
ba9ba6b876e31c009adfffb451beb58e40b7603ef9dfda870aaf00ea92b256f5
1521 PIXELUSDT Sep 19
843be7005b15ba51d4baed41b3a1a22e9576d8a4b044d4e636b9cca1b7446582
1522 FLOWUSDT Sep 18
a942d1e36e3762d39a0fa956f48409135c88ed935f75ff0dcc9e64c5ee4eafc3
1523 GTCUSDT Sep 18
14266b7d684426b196f9ab92d330ac49850b5754d755cf8327b381acbc92cf05
1524 SPELLUSDT Sep 18
76dfe8f5103753bebdf033b8c57f77dcf6e9c0b9d5de06ebf3ab17f3ce7d3ebe
1525 SHELLUSDT Sep 17
cd69ca21a0435638d043ebb819fd4a573d9be3b07b29c6dc0958bc2555f7260c
1526 GRTUSDT Sep 17
fe0b38436e2dedb1eeef76421de77c4428ef3ba3e48e643039806f98745e2167
1527 MOVEUSDT Sep 16
e1ce4646450e18809fbbdaad354c918ef62ef348eceac51bb6a76cade8f58f90
1528 JUPUSDT Sep 14
a96632caad2bbb6420b341ab37a9311cbdf816ab8dedb58374e2b5d851d554d3
1529 PYTHUSDT Sep 13
cba39634d9936c1397b41876e1b4d90f6269b911851ac2d41c4f9f29dcdec6fe
1530 GMXUSDT Sep 7
f61cab7e08952ffd707df36af97d77f69b6a5d77d1370272292dfc875838f30b
1531 TRXUSDT Sep 5
cdaa29d0d68aa198c5fb6e4cd8760fb9c5c6726390c2d2edffc19012e302ebe1
1532 RSRUSDT Sep 5
46a360d8a94fe1b5fb17fe69615e3268be52742f308203580531cc4c10d90386
1533 INJUSDT Aug 28
795f66745d5bcb081616c92e207428416d8ec57fa71d1d5e903a23d78d86c9d8
1534 MORPHOUSDT Aug 25
6a0ca6b04f495453dff10c299a69624aa44e5faff915a667a4be8596afe06376
1535 ACHUSDT Aug 25
674dbbf8849c64793465a8dc0a0324f7ba6d5b212ea60c24627a6b373768c0d9
1536 GRTUSDT Aug 25
24f0d7ea3fe6419694dd45ef47808d7cd85d6d48d88778221271bf368bcc11b1
1537 1000RATSUSDT Aug 24
115a414f0ea1833613bd9617584d10f8705ba63df615bf1eee62d7c68764a60b
1538 ANKRUSDT Aug 21
9c6bbb45d5bed10807146553376863a9c1a7affbdc9d3a6ec33164c7098b2c39
1539 GTCUSDT Aug 21
c253467a0225755cb2dd92df01063a2e0e2cdcfc1e041218046cfbbe8ffa72a7
1540 KSMUSDT Aug 20
e027c3681cf9be078d778a9ebdc365af53a22ce220265a3b676c4e3eb4e7fd9b
1541 MEWUSDT Aug 20
c29e18b57341b4f2844783181312dbc0335fe295ef9b7176247ecbea1143e4ee
1542 ALTUSDT Aug 20
8397b1b76e000756811e1142bb1a701f92915fb3739838556fc135aa116c682e
1543 SUSHIUSDT Aug 20
395236ccc07facad6979db8bc89401900da93a73f7cdccee85877a04916e5ca4
1544 BNBUSDT Aug 19
1cb6d815fde4c11647057c961ef2578db8a6e7f6cfde75c0876df551c21ed5ca
1545 ZRXUSDT Aug 18
ebc23084e4de4b351aca9057da7a647383828c020eee10b6b37c2617336bf77c
1546 ETHUSDT Aug 18
e5b8a966af099c807abce147e5ed2ccafd6fd170b8fda37e14c23b890a181b98
1547 EIGENUSDT Aug 16
398a0412cf9afbc20ab24e9345bcd1157279245d827589ede28aee7eb92a9344
1548 NOTUSDT Aug 15
52733d5b0fc19d606d83aaf97eb2ab09960045cb6f917b8753581aaaf41b93d2
1549 ARBUSDT Aug 14
2838615c1912254c85c82e000078267ff9e609f1e38165e9a790c2775fedf9c1
1550 IOTAUSDT Aug 14
dbccc424150783d9e506bab9e406a93f87218b5a238b90a5540c86473f816a34
1551 TRXUSDT Aug 12
1448d78b0ac2fb4a7adae3c0d5205c09ffb10ed01597972d0e2a0f35c589e6b2
1552 DOGEUSDT Aug 12
86bca6a462dc9e3763be19f6327d6c437139aea632065ca11dad7b63a2343cb9
1553 SUPERUSDT Aug 10
25dcdd93b0e3b87354598669a17febf60d3bfc555908b3558ab110e133269d0e
1554 ZENUSDT Aug 10
42eff3edca59cdc24f4d81fd314ffa6e5519b0bf93eeee1b7a79bb3a89807c20
1555 SNXUSDT Aug 7
8a084052217376eba437b64966b19435b32a0ddf176e694f6996b9c04e67151e
1556 BTCUSDT Aug 5
bd1d3c40c7d82635d11bd80ad30ffaec646e3d0b35b162eca8a4439536ce8ba0
1557 RSRUSDT Aug 5
26133ae8e9e6c4502e6d820e317e0b6148d3e89a292e5065da3dd3fb75392f4d
1558 JASMYUSDT Aug 5
cb325dc28bddb4d1fbaf9475758c5cc6ec0f35f6578386d3e32be7a18452e6bc
1559 SPXUSDT Aug 2
00b61f472644fef8fc4be888f9c76e7f21c8612a15ee5c95fd2b14b5d25a0edc
1560 HFTUSDT Jul 25
ed2e32e0ce460fb0e79d59a4d129f775e7d98e8293719be828e92170b31b05e2
1561 1000SATSUSDT Jul 24
9d38b299d873aee83a7507289e0fc7fd4698ef6d783d6385623e62b406a07369
1562 DASHUSDT Jul 24
2dba4e8d7d154af2befb412f59a4d8165caafc64d3e02384874c902a28618066
1563 XRPUSDT Jul 21
87fb2606df9885343fbc8eba1ebb675391a5708b9cdf072d2c1fd4af90d242df
1564 RENDERUSDT Jul 21
0d16bb5ab1fbd74a5e0bf6419ebe7238ee0b65e16f4e1135549ac30afda271de
1565 LTCUSDT Jul 20
81a04b5a944bfd0134e5d1e2a74c7077408fd63d0990183e5db1729a77cede3a
1566 LTCUSDT Jul 9
1ffde22ffca6c92d7d9877ca7294c006d4f981df1acc3a67dd90c8ac54aa864b
1567 MORPHOUSDT Jul 9
59ff1d2bf190499bf0604869fb1774c44f0aff9e05d5a6bfd5e81b89efe080dd
1568 DRIFTUSDT Jul 6
cf48d81eab93d97ae3397afe760bcb7956506adddb87b31697d0744eef35c211
1569 IDUSDT Jul 5
c010a6e1f9a374f415fd71162ab0cbe91ee6d523c39da8cbb890d9dccb1a68ce
1570 EIGENUSDT Jun 30
f5b00ad34aed8dddcf8f349e568a124e1d24c3e7064633f1d16f02104bb571f1
1571 SANTOSUSDT Jun 30
b6084d9229befcc118ad3e9bf2400d09a1d7338d198fcce47606639491debdb4
1572 ONDOUSDT Jun 20
0ccf48e6beff9f769e9cbe1a104497e22023c07b9cd8ede3fa824fa23bea691e
1573 SSVUSDT Jun 13
6201880209ddd84d1d7522445da88dca5b4ed97f6dcb52b1e616bd743b208b82
1574 JASMYUSDT Jun 13
a0a47aa6d9ed23e6c295c03d1714c137bbf5f45f75046bc38bd74a0b09affec9
1575 JUPUSDT Jun 7
5179281855b2ca006b2a6ad4ac1d4010cae009a53fcaccaf8eeaf68b7f371597
1576 GPSUSDT Jun 6
a78ee6545d33733b83338e6adca1c09a7180d4c204a6d0fb5d6f71cdf3f53ff1
1577 SSVUSDT May 29
167c0bea988e91af281e3f69844119e9692905c0a3585f0f3ea9a73e332af831
1578 SUSDT May 29
1131726dedaccc737a7cb52fac0ed3e1e63046d70c86870ed3fda5471040e1b4
1579 WLDUSDT May 23
36071897ad5c6c8f4e6942d4ea05feb1dc4a60cf8d99f3d7a8af7a1e65dd7c4b
1580 APTUSDT May 20
5469d1242abde74e8d441293bace4d209e3f8c23366e65a5185e29aea151a2b9
1581 ARKMUSDT May 20
6caeadba35f4fc3661d5f11057c819fb1f7ef8e0c0172e36e004ce8dc41ba0d4
1582 CHZUSDT May 16
421424d531dd09d44f4f7f4ec51467375f9d63a2e3d08da6474773b455babcec
1583 CTSIUSDT May 16
3a3796005ce1228587d6b25c04e76868ae9cd99c3322758080dcb26bec53d819
1584 XRPUSDT May 11
e499d90f4e8f5c02c51c0f4083e2c3cfc12006fd8bbc17d4f60d99d3880a4cab
1585 SSVUSDT May 10
5f67795c459566fff5e4690679a6de1648339092359d40128ec0689d741b3f3a
1586 MOVEUSDT May 8
dc463505995808d430d441c96f86df88aebb15457bbe75ab520cc05d2640797b
1587 YGGUSDT May 8
da4415dcbab74cd4472d0c7666983dc0eea54c8e6507c0ada2ed8a06e4ec91a7
1588 OPUSDT May 7
2f3b84cbb198c64e45ee39535da735453767d26886f44ef4d6a255cd155a261c
1589 VIRTUALUSDT May 5
6995c5f24ca5c0006fe8a751672f282cf0c4afdcfd3aa810eb3e671d87166726
1590 ZECUSDT May 5
2a4eacf541336c675238b0ba2198a36ae48d6628bf9432a1f57fbda769857696
1591 SAGAUSDT May 2
4cded63abbb305de4d378229fde87dfc4aa235263d8236527d5a7fac7e1262ac
1592 NEIROUSDT May 2
b4b7b9ddff707b34c5abe2906020fc337080f896376db0a190fd374bede58689
1593 MEMEUSDT Apr 27
dff6cb9d758c887750558a20babbe3edcf6d825990a46ac4877de71396f79cca
1594 LINKUSDT Apr 26
cd30be918b75a5fe2867e15146823af1322124a070b842545a86e66bed87facc
1595 CHILLGUYUSDT Apr 24
2724849f400ae2ce79d3c2e2db25444a64bea2f3be5bb4cc85ec5df51f680ee7
1596 GRASSUSDT Apr 22
77edcb000f86dfc556efe8a3fb99d59876a7c12b4cd2a78cd2fe60a4d86af6b5
1597 XLMUSDT Apr 21
fe892fc67a5d163d46d924e4b8051de2d4caddf49723408f44cb46984ec5e7df
1598 XMRUSDT Apr 21
6c0067df3f5725af85d5cc803bf9e2ae974a3216e3c48ad09669c05d2646f4bf
1599 SUIUSDT Apr 17
647394c52ebf4aa826de53b5498ca495a5935092ae062759e95e4e0e8745d178

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