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

1600 BANANAUSDT Apr 15
e02671a2a60f74e7aa4c9d3b739f444d9115c80612f8c8ac06f0d1f0144216b4
1601 IOSTUSDT Apr 12
fffbef9cff3b88c04dab21356fc849b4d9eae51cdec23da2123a4992dc9191da
1602 WIFUSDT Apr 9
798cb3f4ca16692f35cebffb2820286cba24ac6ad6865004fe53eb867b0f6bb3
1603 YGGUSDT Apr 8
54f7aa3ebe8ef484df09467873ea75398b2e31b726de96db1085a8f7205c2f48
1604 VINEUSDT Apr 3
7b9fb4cda8b2b0aeab403d10610ccbb96c424af8be2c37971e6bd9813e8c0acd
1605 COMPUSDT Apr 2
7ab798c7867a0ac8c98177ab310e56aabf32d28e680ca5a6766fee241de2145b
1606 RSRUSDT Apr 2
19cc3e5540bc636d943c705b8e44842b31e191d1d1578b917880530860bf9b94
1607 SWARMSUSDT Mar 25
f837969e91ed9c9074e5b6f24b9ae6db4bfaef2c14effb88ee7ecd4d9b767cea
1608 USTCUSDT Mar 20
290f03a981cd6d751e5221465611328f5c2a5948ec2f5d49aae96c986fe98ce6
1609 LTCUSDT Mar 16
8920575519ebc0d54ba023f73e24a1c3b8dd1f4f1602c4a068264a2a3f51bf0e
1610 BNBUSDT Mar 16
a9a3f324c42232292f31a314da3b2a9a60971033b318d21f0613409d3f8c28f0
1611 XTZUSDT Mar 15
32b4f6431f3154c2eecdebf5d23b252349c3e0f742b45f5e5fcd2374ca6ec3cc
1612 QNTUSDT Mar 14
3e0c9a2b2b5ab75fb514e1004115e890109c3d84c6388c9bb6ee6107ff6c728e
1613 THETAUSDT Mar 14
a43d72d914660345aa37875761dcdb2d33c494f274967d9d09990af14fa6d3c9
1614 BTCUSDT Mar 13
123de94c2ab0f361632c8fa4d3c2b34cd6e916db47d0455ad2dda3401a0fdd24
1615 CFXUSDT Mar 12
6532fe136a6082450b21307eec887a74bd8163c1a863b491f26c03e2da1fedf3
1616 1MBABYDOGEUSDT Mar 12
d0623d796784d46809aa3051de624daf0e5b9563dbf0ee9426f0bcfa544655d3
1617 NEOUSDT Mar 11
926649dfaaacbe4e167c6530f60f403b51ccf357817d06cf1309e51c2059f915
1618 SAGAUSDT Mar 11
f3b77df2293f5f5f9468b4496e11fbc975f8c55a7c6a3eb80973441858ffcf6f
1619 SNXUSDT Feb 27
b8050ca9609fa1ae067e3eeb5374c3a836a50d41396d6363954d8eda4d4d9541
1620 AXSUSDT Feb 25
460884321b29124151ad0a12050b7ed1af27d99ed9f5feab16174ee87e58afff
1621 QNTUSDT Feb 22
a572497416dc4646c4eb7a3c37b3d875ae424692ba9ec0cd7e1ca62ae1387b47
1622 LPTUSDT Feb 18
e87d9de992d42d26eee73db04703ab3dac4f54e249d209f8d04691f27c657c99
1623 ENJUSDT Feb 18
cf879f90c282f3814cd9f10f840f111fc2be8912e6e01f5a0ada3b2ee7af2cd2
1624 FLOWUSDT Feb 17
a8c550f9f7105952202dbe14a02d7474d15d33d3c1eb9bacfd34d1f49a558795
1625 MORPHOUSDT Feb 16
733808e7f28ecadb5448f2c07d17510d6749744bf6a5af4374223896529c04ef
1626 BEAMXUSDT Feb 14
e26553c3b98c61fe5728704b3d3cd21daccebba462408408b63b6565eceb8b09
1627 GRTUSDT Feb 14
bface3697249fb9923c03676a9d784bb487cae7b18fae9aa01c874944c59dbb6
1628 IOTAUSDT Feb 13
e18c64938ef2c73be50d0e9a10f8dc32a6c25b94d815aa146460d7d30d2e62de
1629 BNBUSDT Feb 12
ca900c923f23dd21d3a628ec233726246d4a259abbd1daa2c1aa99b9b9a053f8
1630 KNCUSDT Feb 12
3907286cb15c0482970e641ad1b88dafaf18fa6e90128fcd270e42032b6969be
1631 EPICUSDT Feb 12
6350d27e907a71d862b661939d89a82d83ca42cc75d97492686a676b582d3347
1632 ARKUSDT Feb 12
e99d9741b4a5e6cfaa2c65daac14578236e1403fcd61b1d1ba6532c7ccffce9c
1633 SAFEUSDT Feb 11
5be5c21df39e19121de99240261cdc34f7a540dc4a89d23fe69e4f5cb35e1a91
1634 1000LUNCUSDT Feb 11
c32a7d2c1b5919149b327f2f65cf8ce71d3a03feede7bec7e26d06312c223f4d
1635 DASHUSDT Feb 10
e840dda95996c7aadff4c4d3d69bad8674182478aa95cb31bed7c8b71d70b1b4
1636 BATUSDT Feb 9
c8526e0d0efaa4c03417e0c5e48b098f94739ba81ce73ce8e0acab81f762c1c5
1637 IOSTUSDT Feb 4
d7ff2fa262eb5090f202dc57883fb9c857f6144a9e65d2831e3d4a9cd321eea0
1638 DOTUSDT Jan 30
da4b1a5958f1b154da6208d6dcadfd5b72d46d9a3d3edaaa28cbbc6b18f0ca0a
1639 INJUSDT Jan 30
8a15a96e910e65ec095ed0462e80f79db06465437d42d89ec1366480b2041bea
1640 PHAUSDT Jan 29
0df6dd4e085e41c48289b1160af246a99614a11cecf8e33a6bcc1111b1eb9753
1641 XMRUSDT Jan 25
0e39fa00b40424580dffe451cf051f5051ce22b19041a74533b39feb7e4eb208
1642 TURBOUSDT Jan 24
648ec64989905eec6cab2dce30a4176deeeea80d3ef75139049f66af8c4bb550
1643 AEVOUSDT Jan 24
b3bb5e2e6d7b3e185ea14c2120e47dbde2e6e6d6d3cb6864d93bd346a4ceb5a5
1644 ARCUSDT Jan 22
ae39718139c9b056043efba89a7b7a7163fa6063888fda8fabd8697fc85269c0
1645 CHRUSDT Jan 22
d4c37dfbbb181e625b95a61f4b293182436c394b2c3096b37d5ef7f45b55064e
1646 CHRUSDT Jan 20
9bb1d6e90b323c5d5a22692313d2936e6ffbedd5ab1cb043efa51d9de68a7b5d
1647 OPUSDT Jan 20
d70c7a55a7527987e7003114e43a2b73ba57b1b8e8aa4b851186b0131bee632e
1648 ZECUSDT Jan 20
13131795a834b03b8e5a0e2c1b87e2416720f73a906113d75409ee2d9093ca88
1649 ATOMUSDT Oct 2
fbced61710d46971672c68c3b9a6af63dfe6b1892be87e9e19c7bb9cd9fa5e19
1650 CHZUSDT Sep 27
aeee76ab21add3fc8dbc72e95fed879e77aa2fb2788e84089e952ae587e8a351
1651 CGPTUSDT Sep 26
30011f4318e8ec544d3f321ca757b46ca951b4fbfa03e7c2678fc25844152d04
1652 PIXELUSDT Sep 22
c064579bd2ef9ae264455e545f81a40a30fa1b6b2afdc8316920addc887abde5
1653 1000CATUSDT Sep 22
b5173fa11d764a2a1a4761f231294facb9df50f49f3113bfdbf562d96b1f04c6
1654 ETHUSDT Sep 22
bf9e56d098869c2e8e2733708d29388a0e94f5d44c56ddd312d7d0f5227c1055
1655 FLOWUSDT Sep 21
c19fdf326c87408903d4ee1c50a92b5b2de29d06cae12e0d34f8803970c2f0fd
1656 SPELLUSDT Sep 20
3630ab26e37e690a2a2d2c114760fadef3746037fd6faf4ff727a3b986b518aa
1657 GTCUSDT Sep 19
741ee734890f324cf51a48adce0f308536067711d0056571d71a1d787e536d32
1658 SHELLUSDT Sep 18
9048aa3cabec5eedd885f8d8290c88851303ef2ff1ed8c3df806583da175c1ef
1659 GRTUSDT Sep 18
2f80301fb1a5513e2d7e0f1238661792a2684eb259926ac9571d0bd4422ab7f3
1660 TRXUSDT Sep 12
9a04c4cd72083f0b2d308dcf8cf25b67b68fc469eaeaa121dc3fa1b3919a76fc
1661 RSRUSDT Sep 8
2724a90f18661c294af689b5277fe900d19b009ad16864e950f37761fde2cd2a
1662 NOTUSDT Sep 5
4b5635365b33d1dd87a5971e34f4c2b90d03f3f77995e6b4fb47455c7e3e3b6d
1663 SUSHIUSDT Aug 25
c3134b86bc9ee8f289fc8e5799a3f0dda90ff1077984bd85148339bf4fdf1381
1664 ANKRUSDT Aug 24
e61e5da0ae5056897a92b85b474160c508fe812a0aa3b6cc58f92a8d08e8a1b8
1665 KSMUSDT Aug 22
45e992f8b4a59047e9b39b26a57eadc12f99ef9b565d2f01a4d189fd68d57702
1666 ALTUSDT Aug 22
6dc85ce2ece9ea8107f51b41d9b7e58d332a47a4a774580c5b784c5237795ab2
1667 MEWUSDT Aug 22
4f65cf04db166ef0f385eb911a9f661b7a732d078b78c17e207efcf974ceae16
1668 SUSHIUSDT Aug 21
51b1dc0beed9047ab307f5074adb32de8479bf0fde3267ed24aea37cf6d4a974
1669 BNBUSDT Aug 20
11723879e85c0bdde35bef3b1d786cfbc1bfb33ce9ae8f10cb0cbd2e155ff679
1670 ETHUSDT Aug 19
29aad2d95499a360fb75ae2e47a012aa9f7e4f19d4f3cd1fa2b555ac236c197c
1671 DASHUSDT Jul 28
56e1c51cf1a75d493642584255d7b559eb83022ca95ac4ed04ef5258b02a5b7a
1672 HFTUSDT Jul 26
4078cafe9ee7b471980117f0629f8da0f00693eb7dd98c6e1eb8e14b078d3d5b
1673 1000SATSUSDT Jul 25
05768b5113fe77fb895a3429d93472e9c7749bed624f3da599ff0f3ac859f494
1674 XRPUSDT Jul 21
0e444c30436c0ef69b4f19a8010fd25c873cfb1f9ff1f1ecbda309fea5f7957f
1675 MORPHOUSDT Jul 10
66caba895eee1f7ae8eba73d83e7dad0d83d7ef33fd393270ec9efda99fa38f4
1676 ONDOUSDT Jun 23
1e996d4a7bbce962288623be5e18144653e9c1d565b5cb3507f21459797fa429
1677 JASMYUSDT Jun 14
ad00172f9acc164e2d0598a855f7d49e8f656b4b05ece036a53167c994b7b0a5
1678 GPSUSDT Jun 7
f296a7dcd74a04004699facdd975f5c3ca20604dc816f18b27374006e227d9e1
1679 SUSDT Jun 2
19e36a6b9b144f8b7179c5131d0e111d4aaad9e30c019d9779868e4ddbc37a64
1680 APTUSDT May 22
3ef69954b700f3a74fea1a6e2eeacf2e99b1cd3d25e6c146000083a4edbe957c
1681 ARKMUSDT May 21
bfa0bdf6620bd7f6cd4d31d9c345cc7372dfeb661119fcb246c9dbe39809aeac
1682 CTSIUSDT May 18
f46ec63fe36360c7d815edbde3775c52969a1592c0be932dff0d0c55463f9a5b
1683 MOVEUSDT May 10
085de9044bcc2d0e1c89f6508d2b99c0eb72f34601efe35142fac0c45452f1c0
1684 OPUSDT May 9
169d087133132a59fbc5bb5b8c6cfa8c32bdd59ca0e1a12384788765ba934f2c
1685 YGGUSDT May 9
1ed8e3b832da6b912405899fe827a0b826707f528e05937b933ceb762afda270
1686 VIRTUALUSDT May 8
376a0af041cd1b09be925e7698dbf491c8ace436428242dd53a24ed82ced5781
1687 ZECUSDT May 6
8a95e4c19ce0345dd4f373f15651a9eb84e3a6e038f96ad5de3fc0099c4ae0b6
1688 SAGAUSDT May 5
dd947ad9cd8627b9fbcfc05067e01555799b2b84cd1655506440427b253735f8
1689 CHILLGUYUSDT Apr 26
eb60c9bcd74db9f5b990936c1c2e352e0936fb0a3a5262a00d5f1ce5c124227e
1690 SWARMSUSDT Mar 30
a44336e16fc1d163092030436f0efa088f9dc20063832e1b634dadfe478552d3
1691 SUIUSDT Oct 3
5b8289006933f1ea729e7e675755c00c237067ff9c68aab994f188ecca1acd7f
1692 LINKUSDT Oct 3
d14b54bf199caf6e6b48cad6fa60dd3e9d01b0147192bfcac17151fda61878a5
1693 SEIUSDT Oct 2
e021f79852741dc8386ff238fe33002996317c630a90240ade87714cd0628536
1694 BTCUSDT Oct 1
b3183b61a0febf8bd4108ea8b498bd78c7c4482ad4b0747a7b3c4f4b3bd5a1fe
1695 LINKUSDT Oct 1
b376197de123715b85c5ca940ecda9402ca8c18b2f93fdaf5ed0165e898f71ff
1696 BTCUSDT Sep 30
81d6fc779a5975b6cd3a4e5146f288ac43de80bce7abb2aeb4e5e527051550db
1697 SUIUSDT Sep 29
aef0b15a672e2bce673cda1f2dea5ab95b6d4db7c3d7c6304c9b315a1e719109
1698 TAOUSDT Sep 29
64f3d31cdaa81c0f5e151a4aca10b718d17ddfb1fa89db738adce73b8d8f8533
1699 BNBUSDT Sep 28
371c449441f43a4b739d129d09be8c09ce8aeefa1b7e48c6214ba88c7c4a2c6a

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