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

19100 SUIUSDT May 4
a629dcab2259d1a6a08a1d6828124920c525fabe2ee0b57e14bd9ef89f252ada
19101 BATUSDT May 3
b55ad88b548dafeeae6e271dde861e8ff29a0206e3899cf50c49bc806ae5b962
19102 BATUSDT May 3
11936667a6475143b462f78ef0699f8521cd3caeb1d9f959e9d45fa4d44140ef
19103 THETAUSDT May 3
3271bb20f0777db4e21ff0a1d5f38d8c9ab066a7f5729fa7d2e08566c54ffee9
19104 SNXUSDT May 2
217467ddef1d630aa09add9fa8f9036dda88eab6c6a421091ab5c40b1313d2aa
19105 ZECUSDT May 2
63e139768f41fb1584b38254ed8ff3853f626ac4c84f5e1d9132525ad71d7616
19106 BCHUSDT May 2
77f4e3ac61218af07fb407b4b910e2003ed5375502a0a7d14be7ba0ae710ec82
19107 LTCUSDT May 1
7a94164d91430a10496728284823d4f25aad8b79906d724345e988f5c1df71a6
19108 ALGOUSDT May 1
480640c87caa4abe622480804202c00d8432f795cdf5d38e0430645eb1903969
19109 TRXUSDT Apr 30
5983e54963e7ed13e3630ee032718d3bd0d363d6044f1cce6fdffeb0e905d83d
19110 DOGEUSDT Apr 30
36cc93c604a9d0d8c39251d4156862d0f721859a7eff5fcdc1cb862cb38d9455
19111 ONTUSDT Apr 29
cf6469165b7c9622888c449fd6d10080ee6eb06b4657d036648bc3ea6016a250
19112 SUSHIUSDT Apr 28
b4245ca8bf9ebd4a5dfe213ce0fa65b6b4eb64390da6f459f1dfb7c0c6bff483
19113 BCHUSDT Apr 28
cca90b25c5523d0bb07b4dbb296a524d731be84fc3578599f15a8ec91193c459
19114 LTCUSDT Apr 28
ecf4cccb84035a41278b67b2f644e5c2dac8aa0afd365c0b02cff37a76f438e6
19115 BATUSDT Apr 26
e28c78add062fabedaa9ed6cbc5a9dad3e8c1648d86792ef6bb1be78bb20ef86
19116 SUIUSDT Apr 26
4e43a0fedc8856c0b8f15eafba4a8836f3488cab009ff9d879b57a730d96f875
19117 ATOMUSDT Apr 24
9a39bb7885ce24bb1607bc20256c329bb76a4b2eb0370b60ad4bdfd568f6f3e0
19118 THETAUSDT Apr 23
e80b96cbc01f799c11f08ada0d662b7887a97a245134922796c96d41422f3580
19119 VETUSDT Apr 23
4c557fd98d2f6d6ad523653345a931ee570e5d8f6a0fe69182773ef9c3f43a4d
19120 IOSTUSDT Apr 23
2128bb3ab1de6535c170d8bbb463a7396f23932260e29b95e97ce5460bef6e5d
19121 CHIPUSDT Apr 22
a49aff1d5a01746b110c239297cd7d2d5079ce871e5f85cdeb8c06f364ffaa1d
19122 THETAUSDT Apr 21
bb233133b7272d7bdfd7c38aaf6aeacec0e77939689858abd382b0c5984c2207
19123 QTUMUSDT Apr 19
b183a6c91cd749b432acf5b295ce30826df7663f5a7e85f9c18485cc686fda2a
19124 TRBUSDT Apr 17
7368b1f123ef0e63e212687d740e8cd7901e5a036dbe821702cd7e223ad2c5f6
19125 VETUSDT Apr 17
f19037224f7456d6a776087e825e284f8387388a029ae2a0775df171e47d5eff
19126 ZECUSDT Apr 17
1728ebd6278e7257893243d1d9e70fd24522f5945799ba7f9a1bf3e8574ea760
19127 IOTAUSDT Apr 16
e30706219ad5aa12eed31bf485a0df9fe728a012f0804c794e67c37baba938f8
19128 ETHUSDT Apr 16
59434bcb14f7e163913e458eb2ce489fe3c0b3841e3d656e7913ccef208e6798
19129 TRXUSDT Apr 15
b0613d0c9572e85a6379af21c2b674d23f0cdf352187e3c85c5c944077b15ca2
19130 BCHUSDT Apr 15
aa521514386d9f60b02753097ef87dae9c3b32c781d18b3de99612022ca2dacb
19131 ALGOUSDT Apr 15
4ec24f4fb4dda9984c41244dd485554dfc7002d100f98f07bd9029fc23e99482
19132 BNBUSDT Apr 14
86c31c9dbaee601bdba4cd89ebf68d21f2f07cd1cba03799acfad960aae01050
19133 ETHUSDT Apr 14
1b48f6783aba87cb99b691c9b915516b58b786e8d3c8374d52a1fb87f1093485
19134 DASHUSDT Apr 13
9b1dadd41af33d8f158bd97fd5483b5d1dba5bdd7dd38b4462e7d4bd51050f8d
19135 BATUSDT Apr 13
fdcca677d86c9cb8652dc3ef4b6c9d745e89b644af455750b4ec6aa3ee3274e2
19136 DASHUSDT Apr 10
b2ef7206f3360560da024779cf11d292dfafe74ca9dca7fb3e68b68b2c8c4bbb
19137 KAVAUSDT Apr 8
edb9968b2520cf3886159c31b6e734e1deff9fe126cee6deff55eb2a46d0ca4b
19138 VETUSDT Apr 8
3b771e79fef0eb51f38f1ffdb0597370a02b586bf3a369448af0c1a0e5fe09c9
19139 XTZUSDT Apr 8
1830ff333d079245790ba64f2f33b77ab6619d89ee9cb6cc2aaf0d7c41b7f857
19140 XRPUSDT Apr 7
203b1f4af0409157f6482fe1c065ac8240e6095680aa8af674d7f99b92abff3c
19141 VETUSDT Apr 7
1f1b17abbda610530a0bdc1ad2069212e40c4f10377f64cd65014e9a8776718d
19142 ETCUSDT Apr 7
03ee05a3b2216c716ef0a5880430cda39aded8f59d4d53df3df1610069b1b090
19143 DOGEUSDT Apr 6
1f1ca909d2761879968389b5c1574359ce08ce3e47ec70d948b83d0d111bbda4
19144 IOTAUSDT Apr 5
ef06d51519035367fa35d27300ae9a9bc2c892ad2fb961da11ad06b18119541f
19145 TRXUSDT Apr 5
9d7bdf8876eaea25cbe4c5a79abddd836523447b7286670e8d33c6f7cbbc0600
19146 SAHARAUSDT Apr 5
033eda6babb277cbcf5af6a9955568e08f0d06960a5f51b2e026d74d3ad67a05
19147 BCHUSDT Apr 5
a93c73c64118e87ce4f55c9b3ea7eab179ad685b6027f8a2c05ae3d87e9191c0
19148 XTZUSDT Apr 4
09cfbe7cc9ccddb144748f90a897da5cb4ce079932598ea7f1f4fc474ede3e19
19149 VETUSDT Apr 3
ba6be01aba9d433da2038061e0c2c7fcc1e473b7b5c39930a8447088c66701e7
19150 QTUMUSDT Apr 3
8766fe0d81141738e5d2de5de01e8ce1fd7a6043ccc60c33439dc3c3315038c5
19151 IOTAUSDT Apr 1
e65dd7b1f6fd0527943841b437d777c6658cbb9c79d67d00d06a2ce2244ee3ce
19152 XLMUSDT Apr 1
1ccbd545f151aa294d9a918a2bf2ef39e00f7d1f01b30696221bfab1a3a0af4e
19153 TRXUSDT Mar 31
e781940dbb939e9673aa208cb800e36d4832b6e51e39ee137e7dba70346d2fee
19154 ONTUSDT Mar 31
3b8778ac893d1cd08f91a3b2ecad0f8464b14501167306d9a14787cd6b71f27d
19155 BNBUSDT Mar 30
64a81128b489435f47b984a53dd752340fa2319de9289f704959e7731576071c
19156 TRXUSDT Mar 28
ed506830dc49a8de76ab32528cf89b9863b0778a2d1908afc23a4f048917fd95
19157 BTCUSDT Mar 27
3db1ba3f7ea51f06037415b8b89248cd68c772d863ead08e9ddd744809a83d9a
19158 IOSTUSDT Mar 26
faf4df2bb58b1d33d086d6da779b8dfe1956e2deb0bc64c326af3d432edbbe1d
19159 KNCUSDT Mar 26
a53212ca9fd840e8102d7f002984fcce3a2ca7a6bb024851b39b2a47fedfe8b5
19160 XRPUSDT Mar 25
1eebaeccaac9fa6e6728bab584ccb6cad2647d6d38f51326aacfb51e75251497
19161 BATUSDT Mar 25
3309fec6294cf9b547a930e9472803deee42c652507b1107ddeb3b90dddadacf
19162 NEOUSDT Mar 25
be57206503e25316dfd91bbdebb073f6d7b6f52831e8cbd2456d2eb6bb208149
19163 ETCUSDT Mar 24
f7d659692230ef2c34f3227da37f95df9d6358c0cb005448d51012c2eaeff69e
19164 TRXUSDT Mar 23
bc682754343aa86291b3d76b42605d20a3029d3b16ec39900c85162984cca091
19165 ZILUSDT Mar 23
3228a9f757463af56364403a8b6582ef7e235201288de88bbb1c9f4dfa6fc0c7
19166 BTCUSDT Mar 22
c19f3496580124ab4034d985dbc0cd50e6fad5510161a186d2cd3b4ba6e81b67
19167 BATUSDT Mar 22
4e8df7f644f833608840fb72c8933969573ce6d206779a18f29299f5498958bd
19168 ZRXUSDT Mar 22
ab972a500c97d02b7e7b804dd41a123b5ca1a82a50e423da23fa27cc443b9e3f
19169 ZILUSDT Mar 20
fcf556d5fbe6cbf9a54872b1523ba10ef52b2e5d40473936eb252a9934d5c252
19170 THETAUSDT Mar 19
23c1f900a9ab4b0cfa146a7c80f4a41baaf5ee6c15076efa1fc712283b798c98
19171 LINKUSDT Mar 19
f64eba7473b62ff8268e46ae85f11c2bd0aadde7990f0c838dc9f0ae5b9b5eb5
19172 SOLUSDT Mar 16
d217447987798531228a77482cd8f23b35aa92447d9f6fb7cb3452de49739483
19173 LTCUSDT Mar 15
a4476bd78e5b66fdd3005074488bb49bc3bb9baddadf5188b9b30d5ee9256bc6
19174 XMRUSDT Mar 15
46e1108259b60d9f2668830ab013109169b5a330ea1a577dfe4712127256f69b
19175 FILUSDT Mar 15
528aef153ee4e99dcb40e71c4f7fc006a5c6cb8bdfc922c5f897dcfdd66637a7
19176 TRXUSDT Mar 14
5fe20724ec0d7043495121f08cf9eb8f3c985fd374c484116d803c7fbe0393fc
19177 TRXUSDT Mar 14
e79dbad6dcfa6f6b0c476c7e303b14d660f14b0dbef34ef82ccbd10dbc15d029
19178 ALGOUSDT Mar 13
ad073f17a1b456bfe2d0cef96ecb05a3f7e2ce1f0749b024e6f8cbc98682c1c8
19179 LTCUSDT Mar 13
8a1641aff47f7b22ef1c14472ccd0f71465ba9533af7beb8c49f1543833bb5ca
19180 KNCUSDT Mar 12
2ac07f17142067858b59bb21aeec51adc71f005839fe494f00a01ebe240baca0
19181 COMPUSDT Mar 11
c86a5ff7bbf91ebb017cfa354931b3183567e311fd4b5a6c964217bc8ab936b0
19182 ZECUSDT Mar 11
fdf95c662b55c6042e40d8db8b3491d22d89363cbbedbc0ac227543fd2528600
19183 XLMUSDT Mar 11
df2167014ff8e2b5bf9c8f340d8337151cafbb9c77de6f5db905a4ac38c6b6d5
19184 XTZUSDT Mar 10
86eee9d2812ab9a2ed9edd5055d202afb7260354576728cddc908693e7b93417
19185 ALGOUSDT Mar 10
8a1b122e39dc5363994cf6a034edd96ef51426914e0128662104481cf7898ef1
19186 DOGEUSDT Mar 10
cc0d936b0e24d26e28e51aa379c1974fad27aec9a277dbf0c25e145101cae122
19187 XLMUSDT Mar 10
029a199b6e95d9e826f2496e9678a1aeb4b2f5b842011c89c72c147e731d83de
19188 QTUMUSDT Mar 7
d4d84e4c74213ad49ddbd11f5cb5fe484117e6faf3c484e3c21c65968042cae5
19189 RLCUSDT Mar 7
f69d2aee36eeb0d82d944655cbfb127ab1b0e99678466a65480d6b03c1a413ec
19190 THETAUSDT Mar 7
864711c3cb1d213f998ad2246f46e60fa02b1a688c9b9c38cd8bb58204c87d56
19191 XMRUSDT Mar 6
bdfdafaf3c760c3199a7343d4ed2f606759b1d3f221ecd84421549e82ff02d80
19192 XRPUSDT Mar 4
1d23bd54731abfdb4cf475eb840983f941704677a01f3ed123af4147d21d3021
19193 BATUSDT Mar 3
093f995efaf0906ed76797ed9dbafa84c79559f4b0554840367ead0467327b36
19194 ETCUSDT Mar 3
76545b90a14b92d0bf54b8740d7ba80898e986a049e39354502e749c556ae865
19195 SNXUSDT Mar 3
7fddc67118992957505bb2710d968c9c8cb924005f0850c901fb26d8da4f25ac
19196 XMRUSDT Mar 2
f568a003fc083ca235ce7b93bf2ee509d35963765aae663d8ba5bf188c01da2e
19197 KNCUSDT Mar 2
aeb7bc4c32ba803b94ec1fa013f25fc17ec065b5f0970de7d1cef30c01084213
19198 IOSTUSDT Mar 1
2efc311b619bca1f0c903384bc81aac2ebac9ee1a2891906f30227bdbb8e917d
19199 ASTERUSDT Feb 27
460d72fe63b6e1e7ebd3548a88c4f0287416b467be40c9e6022a30dace8a0ed7

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