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 12, 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 74 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.

7300 XRPUSDT Aug 7
3e5a24d5a0eb62840180554e5206c44aa2253dade3a44640f2e8864d031d11a7
7301 CTSIUSDT Aug 7
11fd84b322423de4f19117ec93faec2af5ef289f48386f6d7aa1e3f77831a84d
7302 HFTUSDT Aug 7
97debdc97ba92e9318d38fb71e4cdd16ce2e40a2d39d3c7c8f95851d4805a61b
7303 HFTUSDT Aug 7
c19b2c0c112894eaee38e2e06d0d6cd9c4bd77628521a4fed5c5f7098916c22c
7304 ADAUSDT Aug 6
f399bb3cdf043a0adc5cb61b95c6b1d55fee83d6b864457e55ea4fe01eafa081
7305 BANKUSDT Aug 6
b6ac4ed3e6e23823eacaeabea4e5569e2d482d989c4a05be1d4eb14cd5b1f666
7306 ETHUSDT Aug 6
a193c2a3f17545e64322c062204bebb46f38ff8253952459c7ba21226575e3e1
7307 SOLUSDT Aug 6
e01dff4cc0db9d22b3d610aad4bfdbcc81bb456146140648189df5162331bbc4
7308 XRPUSDT Aug 6
a8df6b823a934444d4d38bc595cb01293aa6f0b2cab567c9ef1630ed13e39a32
7309 HYPEUSDT Aug 6
443fdf0af526a95d1e04b834594935f2b3c845b7ba1c354ca5b97c6739f5e8f0
7310 INTCUSDT Aug 6
64747c34570d6cc9c628e64e805c079cd525d62b3540848d047cd35915a944a6
7311 CRCLUSDT Aug 6
56ca8aa3c0afcdb09e3b5665a57b034b0edf96a6576ef4e9c967127bc3d9da40
7312 BNBUSDT Aug 6
873e96319ccac08a2aed81434ffd4d6069c1cee295974e799b4409587cd365da
7313 HYPEUSDT Aug 6
daa5dd831bce54d9ca2e5e5947fea1a263febb3b624540cc77e45da94abaf1aa
7314 HOMEUSDT Aug 5
32981faa15e22da55e2eb9967af4c5fc7ca2ee061716029a4b0b5db7f7f1a24c
7315 HOMEUSDT Aug 5
162bd9a5f4b8d13e9e76e783a9830ecebe36328859c7a4f1bb0f44cbe07073b2
7316 ETHUSDT Aug 5
89a3ce76b670aae2c85333fbf6c8e3cdab09ce377bec456c743e08b1e3ab791f
7317 SOLUSDT Aug 5
468a7fda62e807cdaa3021dc8f44250673fa1648083479bb7e9abe53e5e8f817
7318 ETHUSDT Aug 5
8a00c84405d28efbe4c9383af182bdff08b4f1e3747c36e43aa42b1a5a7ccc12
7319 XRPUSDT Aug 5
9cb9d507bdf266c23fbabf4ca37f50b4ccf00bdac654cfac513de25da619b300
7320 HYPEUSDT Aug 5
9a19c7d946b5a73e7fb9925c0dd9d31622d73ca18688ca037756171aab633ad1
7321 1000RATSUSDT Aug 5
2274318c272bfab852812d45be59a2ab51787aea04801f68587e47633651e12b
7322 HYPEUSDT Aug 5
deb0a2d4e0f088cfa10e22b7f86ee6bd5287a48236d9e08f68f2c578d5d67da5
7323 1000RATSUSDT Aug 5
0f5634899ab1319a3e548af565c3287ae3a69c77fc2fcbcc224c5739460d49e5
7324 HYPEUSDT Aug 4
d1bfeaa70f05f89a07b9713616af2d214b5f1bc0f1cf9813be05cac7448ca40c
7325 BTCUSDT Aug 4
5bd509f58f10e30ead1c858a74ab3811dcb00aee713a238b476a678b24e375a6
7326 BTCUSDT Aug 4
2e69761dc928c06ff1ec57655c3b4d129a03d0939e3f5e16caf6e76472802b2d
7327 ETHUSDT Aug 4
3ff7fa8b5ffc59856595d8279f1237072b4457920721df0b496b6002d2ebe8cd
7328 SOLUSDT Aug 4
3d6ee38089fd3afe2da0458186a9bcd51afcca91ee5cd33116540375fc3f7b16
7329 XRPUSDT Aug 4
67be172c94771909359a3a862a647eda9b35b90d36099fdf0720d30326575c28
7330 BICOUSDT Aug 4
9bed8d02b1246fa77fe0a5ead82798eba2ac96d9291d9290724a3e2cb417e956
7331 BLESSUSDT Aug 4
9f4afcfba12b1ef7364bfa64bbd31b27f925105f7ae9d34cf794e6a235315be2
7332 CRCLUSDT Aug 4
8b5996619ff33fb75a301a466a80c42b912f7ffdf09aabf323802edab81d810e
7333 NVDAUSDT Aug 4
0efda46df8937b2454cf77bb312c783083473419c76c5db806ad6633378c3e52
7334 ENAUSDT Aug 3
345339fe74e7ddb1afe0044fdd5d5922edfe4f3debfd79022bf5bd47ea1c9f81
7335 SOLUSDT Aug 3
89156ec2dc80d2f0046a8779bb2f5375a70a6c4e81677f974c4d14bd09c035ee
7336 SOLUSDT Aug 3
30806a0b7ea05cda891511a0cdc41a3b4fa7fdf32f5d05f1c4caab58b7c916ac
7337 XRPUSDT Aug 3
d00116519fa2d8e037fd12a66d23ec0db24278c4f1294aabd6a0eea6a3fa87a7
7338 XRPUSDT Aug 3
be6b9d0736e43f7b53c9e44b3444c4a4891e21bd8919cb181d44dfce8734b245
7339 GIGGLEUSDT Aug 3
5a8d4a5a69d52b794102330d489c32c0ce2c4ae08143487b8ec2391e0571bc33
7340 ADAUSDT Aug 3
338344613e00af4f48fb14c1b097791f2dc4d1daf827884dba25befd63424a98
7341 ETHUSDT Aug 3
573becc9f096ef862145b8950890f8dcff62adbb4f03fd3ee758bb13f90c22b5
7342 PEPEUSDT Aug 3
2ca7fd521c54a739bf4a8b818aeb4a779c5d845401c93c5ea517a9e598a362a0
7343 GIGGLEUSDT Aug 3
2529092765d35717275eaba84716c7de47e1d092768fa2a576844ede9468f1eb
7344 HYPEUSDT Aug 2
c0359b15542fc9e319764728c24e44be8f57e13fb69cebacd14e3081a74f8a5f
7345 HYPEUSDT Aug 2
29524156f6254dca1c9d4f4d07a86d3ac4f4e1c31e2f5e1f3b58a33c6f29b6aa
7346 HYPEUSDT Aug 2
c795be04138a29419ba061c37440aa81331ff9d95a9cf5b95c14cb1ce5413210
7347 IDOLUSDT Aug 2
47053a6a0e0997e7e4e4a66d377ea05a5597250197e116e766a48e67d18c00a9
7348 SHIBUSDT Aug 2
35ff0c57036e7b89646bb4e559839cb96cce0e501226b031d686c906be0b54ba
7349 BNBUSDT Aug 2
0ef1db4610522e9576c81751dfb0f5664b28b8bfb7a6daa96bd7c30fdceea3b4
7350 BNBUSDT Aug 2
2f01da0345ce5e125abf2048423a6efd84fe953a777b02fb22410c6279582aa5
7351 ZECUSDT Aug 2
55c021493f68f3af72fffc57d117e94eb0c64bfab0868fe8fed743169336ad34
7352 SHIBUSDT Aug 2
9dbb99f103bade7acf74a71ffa84bfc8eb01dbd7ef553a5396cbab03dd404c85
7353 BNBUSDT Aug 2
5ff94ee8f2684362fc90693185adbfff63eb820c0aed07068c7b91e1b5cdedc8
7354 INTCUSDT Aug 1
22b7213a7f4ea40fd2ed0c3b1e998a0680ef63f6f84e418d595c9ceb40ca682a
7355 AMZNUSDT Aug 1
c7d10815bef4ac642525a48c8cf14bfa1f6950bf9d10f252e55e93e86c230fa5
7356 HYPEUSDT Aug 1
b51c2927368fc6929b9936d19b1bd28b3f192e413fad453ab4ebaf7c673cbbd1
7357 HYPEUSDT Aug 1
9870817c39910f094e9287caa3b2799e488ab883e3bc360f0c788541878fda8a
7358 ETHUSDT Aug 1
be3fdf3dd05f0d71999e2e57dff9f3593dfbd7898373f04a53eb7bfbc50860c8
7359 HYPEUSDT Aug 1
3a3750bd9f292437bc4beecd7a576f0a4387d69007fe5c1e3f75333fc1abc70a
7360 XRPUSDT Aug 1
eead1a1caa5e8a6dfa32f64718a3e4b05e8d6f40b668cbd20b32f97478f4b606
7361 SOLUSDT Aug 1
867422c3be22c3dbf15194a3cff19609fe3c578262b0689a8628daff19c3baed
7362 INTCUSDT Aug 1
415158d5d77300bc1aa269dcac74d997b11931f7e3975b475bbb6346ad4fb80c
7363 HYPEUSDT Aug 1
7e15e426bc906b784346b2367caf1198e414868944d8c5011b6a954d520a3e55
7364 SOLUSDT Jul 31
7c5b400b0bec47ef45090a3a061a240e7f15a63860eafd517ff7bcb8594816a1
7365 ETHUSDT Jul 31
8501f722ab82b0dcd7ad1e02ea33bec1c543a89456467af5cb4249812888aaef
7366 BTCUSDT Jul 31
74dbe1a047b3dd091c81ae834593049cfe5aa91f29996edd145d334066b0890d
7367 ZECUSDT Jul 31
fa879c8b7dd3e90748daff82ff2ace2992ddea10d468583542b7e88b9608d31e
7368 COTIUSDT Jul 31
8668455ddd4c45fca0d94dda24928efa2c0da0659fae8c1c61a644f7768d5ac6
7369 XRPUSDT Jul 31
32186876e4b8e75a15cb65e1dc3703d7fb96391979c407d6785506a0d132ccda
7370 ZECUSDT Jul 31
f010822c4faede140c6a93ec0f7233e8fa2ec8395de1db01fd615f300585ad13
7371 ZECUSDT Jul 31
da2bd566f308d390a4472a495f2b364191c0a74db431b9cec33b01504b84acb3
7372 XRPUSDT Jul 31
75c76999d7bad86f640c70494beb0fae464b484e919aa7d1ba3f3863a59fc60f
7373 ADAUSDT Jul 31
baccab4af7fababc17ddd96363f5111858d90b1d390386921adf6eb2202a28da
7374 COTIUSDT Jul 30
322c2e3803e6f9ccf223296d791fcb3c412a4d5b2bcd03013ae79f09ab8dbf51
7375 QQQUSDT Jul 30
b28335254e83570e0ae46d7a2bb2f5e50d382d496f280074dabdc0913052f11e
7376 INTCUSDT Jul 30
8f3d8840812fc08fa9c065278b789a6e6c8fa06be944628aeb1b16c3cf6a1116
7377 COTIUSDT Jul 30
6342e0b2733201d877498a4384689cb4f7816b4b881950b0d8c92222b9bc6adc
7378 COTIUSDT Jul 30
7d430dc8a149c61e32e910dcff73b3a1c7ec23509e38db79f11319a0a96390de
7379 INTCUSDT Jul 30
ddaa05a64f81c7c5d46fc83a1a93f30922d000317006f997130f7a35f0f67d17
7380 COTIUSDT Jul 30
a76b04c56dfb31731d3dae47e1c2d56a49b8bd75c4a87644e1853bf017cc24b1
7381 QQQUSDT Jul 30
6e1f3b8c1609fe44f0148a9c6e848b762b753acf9132c9ea09b0f50abded55d1
7382 BANKUSDT Jul 30
cf217782f37bcaa100e6b84d5bf89fb2c81090e459769179d1a98eb55e40592b
7383 XAUTUSDT Jul 30
ed3c055e65549614f7687fe3b39454f8663f82d35aab90d2a5b0b49b63f9165e
7384 HYPEUSDT Jul 29
7f0eeb7b7127b64a8285cb43d7eff32563e79288ddb04f58c445971057551c24
7385 ONDOUSDT Jul 29
67c6961d058834d92be1390d060d3ca396f9f7b196e0f575206db8b83ede607a
7386 BANKUSDT Jul 29
81c1b66f07d6214052f5cd91062f0e271891c599411cfc13f928c091b9d934d1
7387 HYPEUSDT Jul 29
9c711fee410571757df7ddf7935f2eab52747f16ea043d7b23bae6095d198cce
7388 BANKUSDT Jul 29
c87ae0ae25638000fa16bb2e4830d0c4d335c0f7193ba23d7228fa7d6048f691
7389 BANKUSDT Jul 29
2d3269117bc9aa67940c8d31441e05999c6d8070c3c8a13eb4c044802ec94628
7390 BANKUSDT Jul 29
5daa220d163ec698c7f503a57a9904b87a5ea9ccff78f1b00ab2fdebed7e14ac
7391 BANKUSDT Jul 29
2454e797ebcdfffa991dfb2370e6057d26102286ba7a115afbc1260b087bfed8
7392 DEXEUSDT Jul 29
92080de5e40c0f385e3e9b6f2acf8e7e50ffc74a4ed07bc964a77ecbe36e8141
7393 DEXEUSDT Jul 29
4c92175f724d534302b148f58025d4276f0298a5877c67d1388696aadce96b9a
7394 BTCUSDT Jul 28
30c3e2fbf794b3b2aabb3be3a68c6e3e5b6224f8bf71260fb3f97058f7e09697
7395 ZECUSDT Jul 28
e9bb77482bb9d1c17fc0c00d1bad479f2abafc6451b66e2eabb04fda5b4c3bca
7396 HYPEUSDT Jul 28
cdc5447ab8d7a1b662457da9dde802bc989b5bb91271c1b736b305b53137a469
7397 PEPEUSDT Jul 28
a8a91b69ef188acc231ef271d1b3fe44137db2b771f3130471ffcfa32b743bf3
7398 BANKUSDT Jul 28
0cfee30cb5199743e06bb3ae2c7c9ab775a5e01c97ad973d3e840239be6269da
7399 PEPEUSDT Jul 28
1d70efa238e334d832884f6201052c926366045085134b653f80820fc9b59f47

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