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 11, 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 191 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.

19000 BTCUSDT Jul 2
a86c2afc9b6042794e4aca90c497326644a78be2a12a07e2e90bb7ac4ac26506
19001 LINKUSDT Jul 2
29b4bfaf7fdb94a6233aea69b922f38fd1aff88b3e56d750cdc48985e103584c
19002 XRPUSDT Jul 2
dfd843b924528485f77da7449df7099627ecc74b0f73d3b1010c148ce969939b
19003 THETAUSDT Jul 2
c4b1e7f5b8a3788d36031a5993ef47e29a6b693fe017cc56a582e2aae4524da1
19004 TRXUSDT Jul 1
1c6a6c9d006eda667da5850569852316e9120c85ceffb048ea7ea212629b89db
19005 THETAUSDT Jul 1
d414ee520e1345b5fe15d180f8857315472e11a75676fd041b64c36783e65086
19006 ONTUSDT Jul 1
878e90323c996f13b1d924e1bb89f264baa38bcfc62468fffb86daf9593d0cef
19007 BNBUSDT Jun 30
91c49becb158f834846cf8e4fee4f9f842e498c1b635024844dacdc692d4b670
19008 ETHUSDT Jun 30
7907ca12a0d565e165a8a492cec00046705dfac942ff0fed25d66fccb4319dce
19009 ATOMUSDT Jun 29
e47aaa6773a13e3f866cbf62f90ddbec7f2ea76fb7f438a9096e7c1ff2ebad13
19010 ONTUSDT Jun 29
282fc156051449fb995ca0d8df2fc8769c9cdf6bc963416a890bcde3942612a3
19011 SUSHIUSDT Jun 27
4fc7a976ca74df6cc562950158153e358d31b94de8fbf1769a8fc38f0af9c7bf
19012 BNBUSDT Jun 27
aa74ccb9fc1060db3e8683127baa2e9ff2addcb3b67f62c44bb511e6086b1f50
19013 EGLDUSDT Jun 27
e22a0b23e94a9d329c62ad24802f2647f26e607b86dc0e94fcf236ca9a90b677
19014 COMPUSDT Jun 26
13336da0bed4e6f08886e2ce4411a82c47081cf4a6a711a329ce0e0f71310f37
19015 DOGEUSDT Jun 25
d8315f20c5fab738db6dbb7e6793f3aa826420c9100961e4e50cd01332bad607
19016 BANDUSDT Jun 25
4bb48e08014df4e1f349642f5a7384d76ac62a7e3dcd88a8dc656275555758fa
19017 NEOUSDT Jun 24
4027e91d30203270025e6d8e9d2082aa130f786ed7512ff5a5084b10bb2db92c
19018 DASHUSDT Jun 24
64c9f9f0f021ffcff02a9a8242d5b1810921b7d46aad61c1d5fbcea48f66850a
19019 ATOMUSDT Jun 23
632e9f4c7c773388629af2678c9754c8e62f3f191b288a3497dbd5b31ab22b95
19020 ALGOUSDT Jun 23
b751ae1f3f28cdf9a0f04586ebf33eea3563df91de477a5fe6ce5dd7e77c79c5
19021 XLMUSDT Jun 22
731a73a7ff156e148221a02e63933a8ef014bcdc90e1065f76fcc44f58b8b7ea
19022 BATUSDT Jun 22
882453a7c9cf113ddd4b9cc3c9bb55d9612d6c448ec903890b1e2420ba124bf0
19023 THETAUSDT Jun 22
c014a3a777877fc35668969adbaac1aad58ad3795f1c9f178376fae5155a9a22
19024 ALGOUSDT Jun 21
951152743db9fbbff511d7e4938a2171906ffb9b1670774daac6f2b5472cb041
19025 KNCUSDT Jun 21
cb7f90066f4e81ba605b33017cc1e02e38b1301705bec4327f645bbf113b5710
19026 ETCUSDT Jun 20
ac061db6cd1b7211791eadd60a1de6bc2a26bc9a318499d8305af3473756e811
19027 VETUSDT Jun 19
d46193b67c5bdbf87ae370e137dd0efdba29e6b997f4c185b0bd33e3d206e975
19028 TRXUSDT Jun 19
e9696c30b18e7fcfa716f6692d01459d70d0ac0cf6de6bfecdcf908d251941b0
19029 BATUSDT Jun 19
9e7a15c0afd64f54641f72e09249e1e46ce22fe15b313221b718a35989d315c9
19030 XRPUSDT Jun 18
4fd5e58583d881ed299c4cf1c8965ccdc8b67e6f580a0659c478be0d0f4cbc89
19031 ONTUSDT Jun 18
2bdcb8dab6335fe08f4adfedf5e539b3b2c3aabb97478bdb5c700d8e31276fe9
19032 XLMUSDT Jun 18
f44aca851fed398adece67887c004526efc3670d7c258c65331fa08a95ab5f64
19033 TRXUSDT Jun 17
8f7b318cc7619d2d47faf85fb77d418566c801d9cd927138871b326f4fea85a2
19034 ADAUSDT Jun 17
462640fd9f7575838c80702ca0bb91c6d50fdbbf3a1d99209fbbcc3e3618e99c
19035 ZECUSDT Jun 16
c0dbec56580f6c0ec92be3c2a5447d1227fef7499c3112efba4ef3e243cc96fc
19036 XLMUSDT Jun 16
7ce3631d79f7bc5dc3891af0a10e5246d82bca34619b440087ca44bdff36def8
19037 CRVUSDT Jun 16
d82445c843c4ee5ee9c862c1539da2a08cd9ba0a5a708c3731023a9b3fbd18f4
19038 IOSTUSDT Jun 15
3babb254e8fca73a795f6258de29d0ea6dbc9d09515c11445bb817f68ca2223b
19039 DASHUSDT Jun 15
2e71a5f7d923ebfe75b7a75a9ca7b587c95e664950336cc652a975c85f0b8734
19040 ATOMUSDT Jun 15
8b4b68f988fc01c953f85c15f86c826cf088085fefa3419b85e40cdd4e5bbd72
19041 ADAUSDT Jun 14
9fc754e2b262b79ef31cef351882a057f45e0fc58dd6eeceeefc2471f3005322
19042 ETCUSDT Jun 14
153ecf108a389a89fbac5690135d96c307e48605f849e48b249886d03376ef69
19043 TRXUSDT Jun 13
290f043cffe85fd02e548b4fc1a77353b95b1e00982877f8656c56caed709c1c
19044 ZILUSDT Jun 13
66789c0328b5ea46afd8eec5cff3135bba5877804d6ba7245f0a4bf96109fea3
19045 BTCUSDT Jun 12
f47953324e6d96e65e5e9d5e471bb867e47509cc65896c9b67166994ee1d2c3a
19046 ATOMUSDT Jun 12
7fefb1731e94aef4519e54dd1f56188d15effa3e3e0bdda1b0eee86200e7ed7c
19047 BATUSDT Jun 11
c885c228b148322647e021c2b4113a2863aeae27029fe2416d318ed757a7b636
19048 RLCUSDT Jun 11
74f5b23178a6a4d78b9db589d52465e9ba495c2f32d4fb953a00e67f3908c5ca
19049 COMPUSDT Jun 10
f04632ff44ed6c3a745bffff2d746a986cffb43faff5ba09fac8995c71f0b891
19050 COMPUSDT Jun 8
21f9d9d0d42543087bbb89b9e1ea88d5abba7e1322d6c87f1046d6b2d7b2c37f
19051 BATUSDT Jun 8
c90df344e27057bfd9631bcf1653c25928ee3f66d69575e334ce7d58d51aedb2
19052 BCHUSDT Jun 7
a16ba0f469ebd5a4c71209f1654ccbb2456124a17a3f9bf3735918cddbfc199a
19053 ATOMUSDT Jun 7
277d219c83658fb5d64352065d1554d7ab79bb62999400f065c337a0d9d257d0
19054 BCHUSDT Jun 6
3448551171b9eb52a45eb779245cb3ed66b0b333825aaef79129b9236ca8b182
19055 XMRUSDT Jun 4
852b8b972f9b1da7f5a2beea3931cc2805be42b8f496d8e4fd63ecb8906b4b2f
19056 BNBUSDT Jun 3
b3aabe7e14b3c7a55a67661d696f1503f07ffe99ca4f9aee8ec6567e8564cb0f
19057 BNBUSDT Jun 3
cef4dad9154ce759aaa61b5821358afc9204e03f0f6f275a915d73289b58ac25
19058 BTCUSDT Jun 1
390a6b504cabd40de5006b93b00ed3b8fd867755ec701e0b2fc49d87e8738c29
19059 BNBUSDT Jun 1
8e9cec09d451ac4271cc0bb9c2d71451bdc547096b71c5260b9aa35785e46acb
19060 XTZUSDT May 31
db22a76dfa5714d7a125c861c12bc028cf32c0d3e202e7e3da0511a208c7faad
19061 BANDUSDT May 30
eacdf3e956356ed952bb05784f5a5630ddd1c6950ae6302ff68ba005fafc5e9d
19062 IOTAUSDT May 30
9714eb0d62444f5343efd01dd292903047ff7c978ee1eeb16ddd7029af798e0b
19063 ATOMUSDT May 28
2405d9e906847dabc96e6fb602d06d7df16df1e340b885606defa21eb960571b
19064 XLMUSDT May 27
98a776bd074767e0eac22149c4952ffc720413adb999df267493068fc6e7896e
19065 VETUSDT May 27
0ae14766b3a42c976f85c0d44ec6dc2ab2cab0aaa5dd20556ff6714323c9f67a
19066 ONTUSDT May 27
de8a1ef8c41a7078c0434d91aa6d9dd6dd12587a9f9a71ef298247a7d3370b72
19067 DOTUSDT May 26
f997cf2f0fc4c3a81fd8e726867c151643a352df34677e7a6b27684d8cfe3b3f
19068 ZECUSDT May 25
44c79c197681c6c7f48a6e954b8e424c18c58be4d6face5ddb9a54d444d35c3b
19069 COMPUSDT May 25
48daedcc961da6f03e35904367ae2626b882e9002eba586629060b3b5498b370
19070 THETAUSDT May 24
f9bc1e79e9f4d6b0a056e1cf90b8429b2582ad038eb6682c06e0bfe524f44b99
19071 XLMUSDT May 23
395bea8a093e0e7abb4e0c7ad06808a68766bdb9e15f8414dad90035a15eb74c
19072 YFIUSDT May 23
9538c81a4082bac27fe0f8b5b37522cf6f1a34124bd680a58305b6b3578012fc
19073 XTZUSDT May 23
9b21e8a5c063c5c6115fd5cf8203eb6f03020ea70284d3dfec52977d20a89e0c
19074 COMPUSDT May 22
5fd281e4a56b40ec0ed3ba0e83033e766e2c3a681709c6a4b4c1c01ac7ca9913
19075 ZECUSDT May 22
2cf68b2e86da043ca1e0b2b8f5da439b8268977b221d935b9e69523394a8408b
19076 CRVUSDT May 21
116423e55ec4311d09e1d6b9ba215e72815c07926badb9e0569027ea9b59c7e4
19077 QTUMUSDT May 21
242ad617e407d69621980c373adcb13dadb17e167830a3a88175bbe8a064bfc3
19078 ETCUSDT May 21
aade4c31243e499ec14413e44e1c37c04a4d02aa5da9d419ef7c4577b3315618
19079 COMPUSDT May 20
e46ba2b70546ce947934e3d9df3cc6cbf0c48caf2e8194f797bcb9401b27d01a
19080 KNCUSDT May 20
87d466d988c463d3a00204e19e3b19ff76dc1f36171ec88f2570a717ada729ad
19081 DASHUSDT May 20
b416ea343c304f20a7509d20f9d2d8d5445915e74f56a3a5cb3b3039f4f8467b
19082 ZECUSDT May 17
37885b8fd3e19a88e1200972167efccf066bff9376e5b64d24502d4018831201
19083 BNBUSDT May 17
a8f913c1cb5f90af9537d9b545f85c86bb083d63889b0af7a96e5e85e74edaa8
19084 ETCUSDT May 16
6ee5b332f7c2a103f4526d515fb668c389a11b6754856c5ae147d20b19c5998f
19085 IOSTUSDT May 15
dd5f307205978392a7c3b12b182fa2a270cec23db0fa63468c270eb9e14fad74
19086 DASHUSDT May 14
2c52ebac55eeec5f3f19d7780e31726bdbd1a6c5f6ca3af2378b50056c383919
19087 XRPUSDT May 14
0a2f713d29dc193e280c96833ca5fe0a75288f413404310ef907cc27e8e906ab
19088 BTCUSDT May 13
29935ad5313855e6e7bb979678dd4f5b1aad7f0cb7d93eaba2ab7408077f29de
19089 IOTAUSDT May 13
16eadbf4e861b93500004f945439950eb11220939bebc18166212670f28fc581
19090 BCHUSDT May 13
5ca329e738c9e0bac2420c3b9f8d4b0a378eb2b4df7aba0428bdc8045174fd7a
19091 NEOUSDT May 12
5cbd07c5c948f4a5a8ec3e39608c0254255161bd0c428387d95acccc6572a668
19092 ALGOUSDT May 12
9d6d2a78fb27ac084caae05d85ed55b2ffe2e308da0e812712da54f2a673eb36
19093 DASHUSDT May 7
49a948fd40d2c25c91f24b763f2608c95e57b737fcc9e0b42606b70d4ae5d997
19094 ADAUSDT May 7
47ff8887bbf94baf82cb0a8e940b6b0d3d2ea541ee92b20b747026b844719b71
19095 NEOUSDT May 7
7f51477762d971c1a62387e4eaf74a6359adc63bfa8c0b8409ea539b81a6aa8f
19096 CRVUSDT May 6
d9280615fc0013eef6d6d382a3ae19a098228b7d3ee8d9056fb5b7b23ec3676e
19097 ATOMUSDT May 6
72490304fee30aa0b9475605ef5d6818dca7687435e5db6b55d1bb7ac1c681ae
19098 KAVAUSDT May 6
ffd52450fadd5b19f073a17b43c6ee80774538bb101899b8663acaf1271227b3
19099 RLCUSDT May 4
c6d0b4983029aaf5510a876b401afb90e0a8a2592b68160255698fcd32abc89d

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