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 13, 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 146 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.

14500 PEPEUSDT Sep 14
3e1c5e59e04db9973b831e85c97ec2932b7ff498cd1f8dcd1677a25da3e3f149
14501 AAVEUSDT Sep 14
0b1f896748dc5e9a6a855c5f997e697d7a2b4cdd38e93c36cdde981a9b789dc5
14502 INJUSDT Sep 14
50e31e9929f60f4a0285ee9702e06acc4f2ac8f6be91466e781f2507a9e6c2ab
14503 ARBUSDT Sep 14
ffcc1d53159554e31a7936e20ad9369506f24fb43fa51d54dbf05f73b9bf9c7c
14504 AVAXUSDT Sep 14
f2ce8e6ba48fa312753e6f5a3df0898781fb4653d968bc51f50a036c63e68875
14505 BNBUSDT Sep 14
4ac02828fcaf13c224a3de385a38f8f837740105a6dbd998046146293f9f6136
14506 ETHUSDT Sep 14
5365506a2d2bce040b4a6fa0e72e7e005aff28bdd0bf579295792df395815bd7
14507 FETUSDT Sep 14
5ae84b9210d10422599ebfc87010c42181f8c2f6270c7f97753651a0d8480c3b
14508 SUIUSDT Sep 14
c7f9eed7e2312e6ec36df15aaa83c762ca681ec9d8a96ecd9267600d3d0be3dd
14509 SHIBUSDT Sep 14
a634a55f3641e70b8cc12d6619902fc03f5d675c696e318c10ba800361ec1b98
14510 AVAXUSDT Sep 14
0a3941333382cab13e13c18e9fb37975de9835338ae2764fe9d5c22e47ac2bd3
14511 DOGEUSDT Sep 14
83ec6eb5b2b6166a294e4296d37ebaafe7fa4ea209a96d57e54fa5a45e585dd8
14512 ADAUSDT Sep 14
16dca5c10324dbc51317c108ae2dbc09c596105825a8e7e2962f06233499d133
14513 ETHUSDT Sep 14
3d9059b1e16aa87973d37946b37cf8fd8f628c27b122499e4ed639ff0316a711
14514 ATOMUSDT Sep 13
c80706f20145e4fe2210a07d3e4fd8a72c549b246665f9dd37201c66a1e06315
14515 XLMUSDT Sep 13
008e62c48fe840c1bf6bc458cefb38477bf9403b974ebc35d3a32317e8bbcf1c
14516 FETUSDT Sep 13
d837b66f7ab04c3cae69773bcb54f2c7042d5183de3d4ece45dd2fac63c9532e
14517 QNTUSDT Sep 13
50a804c77554a36248847a54e613b444862b34aa19ae539118105a9ea4cad392
14518 LTCUSDT Sep 13
b2f8d0586ba64b9c1fa4715d1b3489863f5ca7f42b9b104dd02b740b71d4e641
14519 ETHUSDT Sep 13
2f3683b597dc1b1f07817668b9cbec1d76d2d4a8dad46809fb294c5d0c82808d
14520 SOLUSDT Sep 13
911f78dcf7c89d2f6c43b4ae3c0085188b0ae776bf0c445f504cb3d732f9384d
14521 PEPEUSDT Sep 13
5c4f4f8f8936ec02e813c2cb27b4a933b5d83e0bdad958d4cff55353779c99bd
14522 APTUSDT Sep 13
45f67b1cf6c23fd2c8e68cd0f9cd3edb1a4a8c2fd70f4b1403e59eb9d95ae121
14523 LTCUSDT Sep 13
c58df242321426c1804ff94ce0243cb3872eccc90e601202ff5e41ae4e5a739c
14524 DOGEUSDT Sep 13
04b87979b957e5e4f46857a31b01a290dc32edb1beef310d98421e2def49f347
14525 XLMUSDT Sep 12
7963534f7f6f6d6e790a46cf01296f691d9ca5278347b344b4820e88d1e8f92b
14526 XRPUSDT Sep 12
a09efed7064bf2692d7b9a7a93c6239352ddd3c5e3a66ef23ac81d44281f7973
14527 BTCUSDT Sep 12
691003d57c6fa4c0a6fda78a5865b5054e010e6f8d361dcc5041db03313e5eed
14528 FETUSDT Sep 12
f1778efc7b2a0040fef39a609bdbe41c06df5a96e68b6d7c7a57d2a8784c794a
14529 QNTUSDT Sep 12
1ceb5fb8bafc270f7fccb1ee1852830e1c30421e5810a983b333f6aedae6eac7
14530 FETUSDT Sep 12
6858171750bdfc4a7aa225b69f2884a0f83ec9ec322cddf9970e9a06a4a8b5a5
14531 GRTUSDT Sep 12
b81d715c14b038d9586e9abd3bbfba71791a72ee3c81f1e066544cd125392673
14532 SHIBUSDT Sep 12
0b405792b1d5954a4bf6adce7064b40e5959784b6ccba66d709bd3f5b9005a79
14533 POLUSDT Sep 12
b1a5c1f779fce881e642c287fdc6f0dbd671f805940ce6da75ea106a21eac468
14534 TRXUSDT Sep 12
8ee431f41ceed7492612e0e34606a274fb593091b14c97654ef4d685e4c57b45
14535 LINKUSDT Sep 12
126cd9abe0e684d4903b1ced64b0c670cdf69a296a26636a6a179280bdd338e9
14536 ETHUSDT Sep 12
fde7b1e78cb969c8ffc365c345d114d1fb16638e6dd854f4517457ce639c0529
14537 QNTUSDT Sep 12
d6e19f2ecf2fe62c32711c5562fb1ecf7483bf6bf47211b097f68da6b6170fe9
14538 SUIUSDT Sep 12
d4d9a4b97bc05ad46ecafe49ee53e4b99aac485d5d677145b5a5854687b37260
14539 APTUSDT Sep 12
02bdeb4ea6aed8994dea15d8de842de14cbf96b362618c77ec85c91c9f2d6249
14540 BTCUSDT Sep 12
7180b76d309064d4a014de364b9b5dca8e0728719a25eab3dadea019a733168e
14541 LTCUSDT Sep 12
4ccebcf99290d275a35eab7f0c0939a3bc7b23b66fe2826ade3e4e95dadbdd1b
14542 TIAUSDT Sep 12
c067a44df6e664e6a9c16cdea84d463ac1f31d6fda707d0d396068b41e42908f
14543 ARBUSDT Sep 12
4a64cfd707bc00931bd20957fec7f47a670de0582b81ee2fe1767c82e068b61e
14544 BTCUSDT Sep 12
ba444fc34e5d3750b0546c4ce263220f1af0d17b1dd92cdb925dcaadb0bda9ed
14545 DOGEUSDT Sep 12
22eda54cf47f2b0ca752e3031830e137bb1d57d1ee0ca086021043acd0078aac
14546 FETUSDT Sep 12
909be83a921d578bd1a3af8ccb6d3e86bf529aba10252b976d626cdafd701107
14547 ARBUSDT Sep 12
fe1781ed81ca9d81f910bd6464977954c03f0da1983f8a6affe2ef7df2778b9f
14548 APTUSDT Sep 12
2e4f5da37aa8a63ac84e7cce25e0f3f5c496a1173089812aa6ccdd39c4ef9f4e
14549 DOTUSDT Sep 12
f736e727c18fe566f7fdbe9a527ff39db53b4433962b954a9faa8efba1e92066
14550 ADAUSDT Sep 12
b7ad12fe0a66e4ed38abaf27e10d4e18282732e494edbab159687bf7a818ae15
14551 SOLUSDT Sep 12
1432670c56342dcf63cecf12816861cbd67da85bf771022ce16c418dd7b547eb
14552 ETHUSDT Sep 12
32a729a3065c047e4f80ad0212b998537154066f165e6f61d4614019a99b1304
14553 PEPEUSDT Sep 11
2098d135d092a52ed90eb12b19ddf4a720cebee48855cfe9b89cb025cd2a2511
14554 DOTUSDT Sep 11
ef7c9b06456dd5dd4bb1fb819782c74838700bccde6f9889dcb727fc8e568115
14555 ADAUSDT Sep 11
47500b0bd0f0f06ebe3d8fe09e3a8157f3f4b128d4d81dd6478010a7e9955f14
14556 FILUSDT Sep 11
4aa0a632dd5ddbc74ad6b42da018e012ba70bff1e54885d1223e6cc4acb16d61
14557 ARBUSDT Sep 11
53c5f72268d4bc65f979e51da0c4b94aefd8db58d17669cde9c9154b8a6e85b2
14558 ADAUSDT Sep 11
aeaf6c7c9f08ae5ca91b860da812925f7ea33d8bb448ecfc2e1c951866057082
14559 BTCUSDT Sep 11
934a02d0e8801a2495cce8e680473b95e0bd6886f96c3240acc0de05aaeb91ac
14560 LTCUSDT Sep 11
94117d0f03e52a1b23530f3d3699bf90cf97851aa4ebc5813a0488088889da80
14561 LTCUSDT Sep 11
10292ea2cc2a8f37f6537b5764c047156251a4b5f1d017b19e8e6f8c6a7a5de6
14562 DOTUSDT Sep 11
916bf7588ef7aa540093d836885f7447473ebed172d4dfcaa8a49d294e299a35
14563 UNIUSDT Sep 10
e22dd7c4f8168d400e8a0732776f1b2e39a010f3591b0537e462550b6662f09f
14564 POLUSDT Sep 10
28be2d1139a13bda956286dc6dd4f99b593a3e274c12375bb31dbf7124bfcb3f
14565 FETUSDT Sep 10
6cde308b661bbaf99c7d6c9d18490fb6fdebd6f385452c281c72a7b8d3985870
14566 PEPEUSDT Sep 10
6c37596440c5d095ca59025428c0070e120736f6cbd5a78a8d27a381c7fb49bd
14567 GRTUSDT Sep 10
6ddcce971e89998436d3ce0284c79162a7819dbc970e9ddf02c17dcf65c4be82
14568 SUIUSDT Sep 10
d456b1ada94e2ca5fd63a18bff68389c0a7d91bd546d8f29e9880fe0f538163c
14569 LINKUSDT Sep 10
1dd20960afe177733656f3514e58421143ddd8842baa434785ba5bbf87350284
14570 ETHUSDT Sep 10
8253bcb860dc24c58a35ab5c67b20ab689e5c5ea140485236b21461a70be9de0
14571 FETUSDT Sep 10
b1c1c01b814177ee350cd53bef345d812a113f093edbf4c9caa0ef0d89a7e4b2
14572 ATOMUSDT Sep 10
b754800bc818df4ae205b023b1abba59617cd975ac20cc095683434ca2cd57cb
14573 LTCUSDT Sep 10
15df944be829fcefa2f913dee5cc9526d33446fbcb26af4603323fa7210f8253
14574 AAVEUSDT Sep 10
a997a04aada76ced35d27839a6809529963c920b917acaaf75a247054a35b979
14575 LTCUSDT Sep 10
b1ceb0ce6c4a110e57874da7cb05fd62b7d3821a7e89f0a1b03f071431ed3080
14576 TIAUSDT Sep 10
194cb2366b1d5d4668d8c3783621725170bc1d6f5c330e4b15b603820ef8ca14
14577 ARBUSDT Sep 10
167344636248f6cb336573fb322cf325f686e46b5f1781ff608a7bb55ad3ee6b
14578 FETUSDT Sep 9
83bf6a9bea40b620b394c77e664ac3f5648874d6ed05e4f26a179f79f90734ca
14579 SUIUSDT Sep 9
fd5dcaa977dbe92487a258822e2adf540034bd2c9dd8bb3379f006a1d8490699
14580 XLMUSDT Sep 9
aede6525d57e54aa92cc84dc46c338b8f4d04343a410afc3fb38fe32b1b04df9
14581 ADAUSDT Sep 9
3f52df61ca258cc1fba87c5f0f1976ad3b9e50192bd5e6c0af5e189e9b088712
14582 XRPUSDT Sep 9
956269d8eb5bed1f1029403b11a9e0451565fb85babff98aad42697480519fd6
14583 GRTUSDT Sep 9
18fc8818aeb4ad8a3a4ec4c5e321160f9e2c545aa1203b4690d894a64251f6ae
14584 BTCUSDT Sep 9
33ad461aaf01ad682742fc9e6abcf0ca05c34b9f38358515f87a1a68a016bcfe
14585 APTUSDT Sep 9
40b39d40a78d65c5e92ea4ff4e08f56dae8171c0beedc939826f7288462b796d
14586 LTCUSDT Sep 9
7c0d9d62811493d0c7061cc663254417a6ab8ee3d77641209e8ed084e872f7cc
14587 TRXUSDT Sep 9
87dea783f5c099060e717b2d3a98049a174ddf0b0c11155e759432f3b41f0d18
14588 FILUSDT Sep 9
d5ac1fbcc99f1b9cbff2dad6ccd5e5b0149e6089cb953219aa5acb8f079e4ad5
14589 TRXUSDT Sep 9
778fdbc446532489685cfccf30cc2d2bc9846d56a528c6d2e9205ea483680345
14590 FETUSDT Sep 9
e5b6135a89b124100a35a4fd9fecf4c32580d7c52a75d117ed54591af61b178e
14591 INJUSDT Sep 9
5e1eead20a417061c966f9617f5a9a07c1bd41066bf06951935a0578f40db47b
14592 APTUSDT Sep 9
af5a0d9941d3ae97bf858b2c35e57a106fce73a50f59b58c2a6573a6441229aa
14593 POLUSDT Sep 9
0e7b13d2abcab68e2c1ff88d0ee88c6e8b828f3495636207e32c958e2ae58b4b
14594 TRXUSDT Sep 9
9b41fcc1a45ac806546e563207327dd5fbe02cb5a8caeee6d6c8db4728bb01e9
14595 DOGEUSDT Sep 9
8ab441705bba602fc576fad49bbd107ff739ce9c0a629add416a1a6be7945617
14596 OPUSDT Sep 9
6a858629f6395a03ccb96854c35ff8642c9db2a93c64db5bd3ff9392a62fef6b
14597 FETUSDT Sep 9
32afb7a118713d379162b57e7af4208bb37f59c76990f7ccb5ae4168eca7eadb
14598 PEPEUSDT Sep 9
4fc2a80871470dbd583a042162e9ed60adf1e5fb93c6f12e9eba8e75916c565e
14599 APTUSDT Sep 9
3d2d7c7c8dd3808fe403b9111739684bcda9adb6ea530d1419900b6ee49370fc

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