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

2200 SUIUSDT Mar 20
cf7843b29e725d6e50039b3879c002568477bd34e64dc4ea946945aa6ba7b1a4
2201 SOLUSDT Mar 20
8f7d786dbdb065798bd1d41de7dd80575871647470768fbbc2098ee646d72867
2202 XRPUSDT Mar 20
3380296d6a1a78ede41a5fdcb6ed92b52584f713b3b99251e91bbed535c284ba
2203 XRPUSDT Mar 19
de3751bf378b1eae879216788e9296cc6189fa3715c89eb638ab16e9a5b1b488
2204 SUIUSDT Mar 14
d8329ec2d85275745bdf92061782f1581d38fcc392d8c71d8cf5eb0b6cb3b75a
2205 SOLUSDT Mar 14
5a7b78564d149ab527830845ad4e12af3b9636f7e9453ffba50db4433b4aac01
2206 XRPUSDT Mar 14
57dbb507248e5ccd7e6505487422bde88a1fbc9ec7982e4719611e6a9c51f387
2207 SOLUSDT Mar 14
34d20ab0be1c78a057781d933a48dec5cfe8d2f69c82e83a201d4645d666b96d
2208 SUIUSDT Mar 14
82d2cade7f2ff83924f50b2b305c7a2a36c75207ad13d83513cfb12d3ff8598c
2209 MKRUSDT Mar 14
301dce120988ac7ac57eac899e2499ffedc0b06369ecced8423a2e3fe34ccf4a
2210 SUIUSDT Mar 13
8c63512f60b5ee9ace33ba61de6e3c78409701f105e238eba05a6c0dc0cee201
2211 SUIUSDT Mar 13
bcabcfbb87674fc365bb1ff77e0ef2f4cb5f93d6692fa9b97236632bd7a70bb6
2212 MKRUSDT Mar 13
ece70bf530e1d20f50f6d39419241c39f14481e95b6523353e7a158e88553330
2213 SUIUSDT Mar 13
9485d7862f963595b3207115cb9658771ccbc0afce691a13e7836f7db226b862
2214 SOLUSDT Mar 13
2149157e68cd4fe9cfe1196a4a0b612af739f659b8a2eec45cbc1aa591adcaa3
2215 SOLUSDT Mar 12
3d53a705b0001de878bd9072175e9cff7ae2980b51671f90cac6d3a53734a248
2216 MKRUSDT Mar 12
16e872afcc15ba7b05cc3f7e2d3635bf6d4524fe2dbdcd78f020d8c85a897877
2217 SOLUSDT Mar 7
9675434e8f4532fdb43a33c1986b04c8cc375b68df2a027bdf09b4d730dcbc03
2218 XRPUSDT Mar 7
fd4eec1ca47bda18b7f8a96a7fc309a5dbaf28789fd262362c7a705d3c7c2f31
2219 XRPUSDT Mar 7
d6a8fcdce8d6d2cae7466ec15c34b5ae267c39a66f7d091f30f343a5fd4b1a5d
2220 ZECUSDT Sep 26
df00f9faf04a35dd5dc27e97969995390fdd941df4e1fc8c5869db64bbfee8db
2221 XLMUSDT Sep 7
397fa620f78dbded9e5f4fbaaff5239b581042b90c730bcbb7f1feb00b7f255c
2222 BNBUSDT Aug 28
c6fbcd5f1087fdf8bc3503cac4f010c9ec066b050d8cd9e92889e75f7c8c9500
2223 MANAUSDT Aug 27
e9c36921853f35ee5f78a6467854c0b4d2b59658e061ae7dab56bb1f5817203f
2224 MANAUSDT Aug 9
706b025291862ec283e2464eecc400975faa5ed54431e46f1e42c9bcee78da64
2225 ETCUSDT Jul 20
156938ec916fd75b38bb07e8f8131447cb88e8dd2111a4e5ac097d0313b1ee17
2226 INJUSDT Jul 7
5490dbeeaa23f3ad0706a04304596a1e16a83727464f10ae736cf8ef21124181
2227 VELODROMEUSDT Jul 3
ebd52e21f06731728373c8d4eab5dbb5ed26ca38f3314ab90fe41be533774dc9
2228 INJUSDT Jun 25
89f7038ca70e2412926951a34c34c1e06b9945ad2936c5617b08842531584acd
2229 APEUSDT Jun 25
8b78e4d8078121e7da1be016cd3280c2ce626c05c4f2225672adb840b9d4b97f
2230 ADAUSDT Jun 24
3622e5c01f84b58f4d89d52cd5a87d65709f0d1a8f8a797cb055bb3ccd324378
2231 ETHUSDT Jun 17
fdeca22ccb7a5aba31b44519e024f6a39b10d6fcb577038e7cf4cc8b14025147
2232 DOGEUSDT Jun 12
d21efa0a6d69a18438122b88735f4d52a9c05bdd184d7defdd73803a44f6614f
2233 APEUSDT Jun 3
c3ea5d337ef6a700887698728bdbdda18d72f67b08263cee6e942965334564d2
2234 ZECUSDT Jun 3
7558d87c9945bb8cb02fb4996b2b6bb332be58407c4846ff3a6ac4331d77efd6
2235 ACEUSDT Jun 1
8c3634103eb78fedfecbe396a4ec1586c7e56ed3808a03e38898fbd3f37e0662
2236 ETHUSDT May 31
eb0a3fc80eb4aae120b02fd77951e6ef631f0a9c3cde1720d2282afd1e97ee3f
2237 BTCUSDT May 26
b69372270e7c55d9a9bcf27427453b7c68807b4bb4aca1401c8699fc826405a3
2238 BOMEUSDT May 18
d81b3e780b7a9b06aafd6746422571b0e6d5bd9150e00d96f6750afd173866d7
2239 SYNUSDT May 17
9379443ce46ba5943018ea11077221e3f210836a6ec951c2523d330301184d4e
2240 ZIGUSDT May 16
66357b71a3992cb30a4607f32f7642a5e627150f457050bdafd8711013d20d6a
2241 EIGENUSDT May 13
db168436cd86db512a298c5e831db17a850a820ddd65683e37fbee2a969e2a22
2242 XRPUSDT May 13
94e935ebfec47ba9a608bdf129fdb248ee922f43a21d592198ca696b8e48428e
2243 EIGENUSDT May 13
13d374cec527c90d2dec771ae4388c3d8c0d03fd63290c64e277a45d760add05
2244 LDOUSDT May 12
aa9ebc680c9d12fd3a0e1560f3957ecad9c4c8115acbd82a9dc1588462ead771
2245 BULLAUSDT May 12
43a2759cec768c99c18f65c718f20b06e4102439ef123649faf4207b1b0c5888
2246 DOGEUSDT May 11
f43ce0bb191c65bd4ee6505ff22cefddf07b3ac9aaa8114e8877369db24c6313
2247 KASUSDT May 10
b13e9154635e6b018e8f48b1c7b54743b842706c0dae5c3161754661f392f75c
2248 LTCUSDT May 10
749d716b900d49ac487b2f1a769c56e6e62625a2a0c206c1df7a70908aa56368
2249 MOVEUSDT May 8
296405b272bfcbb4bab671afbc2231775a6329fcd7491ae16c452147e1135dcc
2250 BNBUSDT May 8
ecfb8f738b9e48dd8af39cbdedd5000ce7e47f091c4913215335236279e367b8
2251 EIGENUSDT May 5
e2cfbe4d9d27a13e6a3e619a41438e6587fa5db179b0c18be0fa1f40545b8a5e
2252 APTUSDT May 4
cef69e36659e232ed671ec6671d3e20cea3cb127a301404b7d9402eb23894ef6
2253 LDOUSDT Mar 30
cd9a02a802538ae07f616a2647adfbd4e23a829dd1723b5c03412d98cb63ecab
2254 GPSUSDT Mar 20
221b6e70623e6459c62c2e98988c40a86960ae4dba3b37febb1f3ffe28f05a3b
2255 ETHUSDT Mar 18
9c135ecda0d9419bb560a308b37ab804c196b440fc0a964365bf9bb48ab157bb
2256 OPUSDT Mar 11
58f5ab2615a7aa072e5bd27c49bdd6f3727351d3b5034a0cb4695ce062f3be55
2257 BTCUSDT Feb 1
993d000a6428a700a72bac15385537f9c1e061f7159c11cb4409b8670171fcca
2258 ETHUSDT Jan 31
fd1fa24411a6a1e2ca27710488b83b610faff455b28ca66553c5b0166af66b3c
2259 ETHUSDT Jan 31
4256cf9a5b9b4684315497c2e56f9473dfb264d2c5daed98abee9d7730fe2fe9
2260 BTCUSDT Jan 31
1780ac03dc43369c69e08d6a92277ee17c8808d1c5dd4047ad5629398f011353
2261 BTCUSDT Jan 30
bec6237d673dd02cba984f3c98a045c17362c953f6d5a083ed01fc894912ae2e
2262 ETHUSDT Jan 30
0c09f8536830d31a0f3a19252c7e2de03e0f34892e55933dfdf3dc871a67758c
2263 RIVERUSDT Jan 29
04d42184c6c7fdd1b2f9b3baa61b17de25a3ca5d84a712ab73bb3eff2ef1dd7e
2264 ETHUSDT Jan 29
b3d611752eca04949faa296fd122115cc3d28f82d948ab8c4d0ed621ab7152c6
2265 BTCUSDT Jan 29
6a80755ace805a755609bdfebf3c8c445ef4b2356c0aa8aa093c332ac06a0cd8
2266 ROSEUSDT Jan 28
e7015013a2e440476929fc0df2dc22c5aa3e35684652f01faad92433d8e308ef
2267 RIVERUSDT Jan 28
8a8fa89ddde4e422c5a83a56cdbf0e5ab26d80ca43cbae215f27f33a5cedd966
2268 RIVERUSDT Jan 28
4b82de316c6bab197bccc73a4f6267461054a306c1dead38cc7a73b2d8d047fc
2269 ROSEUSDT Jan 28
0a08aac7770b2684d1892d56adfac160d27ca87c4faa74ae7df56413a2493200
2270 RIVERUSDT Jan 28
9fddd72b3d999dc1c2eb9560733d1a5985751b312a224dd8ab505b55963db7c6
2271 ROSEUSDT Jan 27
b36edbff4ddd004f6182d0e357884b405bd71599bad951e307af99b7b6986eb4
2272 CCUSDT Jan 27
0e4de19270e78caa988e127341235fa24cfb159cd085c8ac5469473598a377e1
2273 ETHUSDT Jan 26
4760c94ea9048ea06ad4ba2437ea8ffe0165b1569e1255f57226dbe11b28216b
2274 BTCUSDT Jan 26
f2fdc8f87b090fdbfff8b0bee8807d725ab03a74aa930cf365860f02da9c8845
2275 ETHUSDT Jan 26
50963c40e76743c5d00b4aab0d1341756eb3235299454e845c5e67738400d7d4
2276 ROSEUSDT Jan 26
8ba83ef321bcde60f55c532cb187dce76ce308a18ae9eb461e3b345701095a7e
2277 ROSEUSDT Jan 25
f906322c9cfab366231e47844236710a16aa40badd58075145fc0d1413b994e9
2278 ETHUSDT Jan 25
a42f857d7048f11524d76851281f07fcb6c381d6bc21872ef9cca9ae4f79de5e
2279 BTCUSDT Jan 25
69b5853b4d36492c90c1a256708e8e0a45f7fef6aaeef1c119f11682732b535b
2280 EULUSDT Jan 25
c3d08bf520a397b4f90dedd77b7906d66dcd8572e1ee3d5c8488c314730f1c45
2281 FOGOUSDT Jan 24
b698cdee4e6a2808f041898a335d2b3eb4c2fda2d83e71d74307b0976f94f8be
2282 SOMIUSDT Jan 24
2f0e0a577826567b398345269438db40a5a106443270ecbee2c53b25b4a53e9f
2283 SOMIUSDT Jan 24
d4138f57dee1cce32a2aeb17eb046f88bc043f9904a70371da88b49ade6e8c9c
2284 KAIAUSDT Jan 24
dec5c09cd3f711e3fb8af7824257564d0c9f11c73d31a6bd18324bc486730717
2285 ENSOUSDT Jan 23
0d543cf2762b953790e3eab6b367dd0aad4a56ed0a28ce01474e70873fa85cda
2286 ENSOUSDT Jan 23
999cc6cf3fc0daa69ca8b89579925cc1d9316f2332912402f458d87c15bf996b
2287 BTCUSDT Jan 23
ee94b68060c5cbe2662527d3cff8b4329952d83adb8d49899c37eed474877eca
2288 ETHUSDT Jan 22
a35ca73b625eb815a821399bbdc293811824489b251af3cd98e295dfbf0a554f
2289 SOLUSDT Jan 21
74b30d3de75664f356049458676b8226ab63ee152f48e48823c5de21573f3f0f
2290 BTCUSDT Jan 21
9b274c49aa27da8d4ab4a82529b23734ac5ae44f455b6005c1a588232aa97c7f
2291 ETHUSDT Jan 21
b8ec6bfe3642894934d702ffaa3c3d91f946379c47e14e11c6ac65c596539125
2292 SOLUSDT Jan 21
dccd019e97af11d47999e3992f9077df0eb3f89107a49312d86a4122b2a03d06
2293 BTCUSDT Jan 21
c7673bffdff95815fb1c6e4b411f1a9b301cba50ed563e57445ddbfa007c729f
2294 ETHUSDT Jan 21
0727d109696397197e45cde3d759440eb480b3098f79b28cab74bd66b4e860da
2295 SOLUSDT Jan 21
bf86ac246c51d83833abdffa0ba8b3b07514b49c5cfd14368a517626602c15f7
2296 PENGUUSDT Jan 21
55fb9ed64ac45a634f428f8d08711f33e5002c47193c67449df2a487656c602f
2297 ETHUSDT Jan 21
3f32fced7a5b6439257844bd908b48bf89376c3f29cf5f38ce237945890e853f
2298 ETHUSDT Jan 18
2d9ed3e33b2a69b6d31f26a9f1e9b94c7bd4accbf60ab0e16d0192005ee1aba0
2299 BTCUSDT Jan 14
8fdad7527bb65937894c96437f32d86b641de591d6eb9d550bb7d92d866465fe

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