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

2300 ETHUSDT Jan 14
2822a9fbee35373fecd5abf0d8d008ee982b7092df4f2c8f9bf7b604a161bd3e
2301 BTCUSDT Jan 14
3b333c3fd8a113d3da56f28e85484071d609e7453acad43b4795c5f5de78c271
2302 ETHUSDT Jan 14
142552862caaeed9ae462e99d30ad3972e56c570c54fce49f6cb27df623caf22
2303 BTCUSDT Jan 14
a1ea74ccead3fecaa41dda986849f44cf01f7eafc5928ef3b854d6ec3494e979
2304 ETHUSDT Jan 14
2f7e4b9710ecfc5472c4ee9ac2a1d3f3b34417460c7c80a3d609aad94f2532c6
2305 BTCUSDT Jan 14
78265be8dd56f0ece633c44aedd4e76fe048ee04d0e9e1523d623fda96762195
2306 BTCUSDT Jan 13
6986d003e101ed6eba5ce2b6d6c7a3867947343d5b56cdcabd25fd117e4aeda1
2307 ETHUSDT Jan 13
e9fb2204c65003b8b2d688418c22fb1c7a0d723262e168d3f39092254c67cfef
2308 ETHUSDT Jan 12
f2aaf36647954fc667ee2427db826e0dd0851f00cfb01983771741557ad420f4
2309 ETHUSDT Jan 12
25233afe83cd7ee3fa1d7b187f008501ab61c428489cec406dd2f40c22f7d5ad
2310 BTCUSDT Jan 12
e55769d84139c9020409f6ce6d167bbc2531e091f10dd899ea73c8032da606da
2311 BTCUSDT Jan 10
931fc8460224d29b6713e40bde15bd227e3ceba4c10f6fdfc79ed501f1f5b2c2
2312 ETHUSDT Jan 10
071b54f0d7b68e3de53b761614f4254b966584cce6679b97d2d71564ff5e4bff
2313 BTCUSDT Jan 10
66f6e79fd1c90e91ff6512fb0477dd2733c85f309e4244618f8f321419453e03
2314 ETHUSDT Jan 10
6adf0a92d2f8559de227117854f2b6eeaf4a65fc894958d1c5f745ae253a7985
2315 BTCUSDT Jan 9
d1871faf0e54b303a17ed04907e5d13f933b21e90c415151afe8bc59d3f7802e
2316 ETHUSDT Jan 9
3d2df3c05f025e675a336c289415cab8dbb3726600d833509076f77526f10298
2317 BTCUSDT Jan 9
bc88597e2b0f41e234215e16e8f0477a71dfc9cc1955e71a112b3310263c7df1
2318 ETHUSDT Jan 9
a47bbc0b8abed8642f480c5228dd0ecd58a702d66391de6de761c90d7357bfdf
2319 SOLUSDT Jan 8
55384d0f93ad27e2801d2c5cec5557b659090fbd1705f8f3709bbf2ca46f8c4c
2320 BTCUSDT Jan 6
3d6dd64e2fc63381e33abb7f9f1687fdb588c5378dcb44f9aa31393b36ab97c0
2321 ENAUSDT Jan 6
67620174b5e1f13347c84f6990b260d4f6fbf2d1d2b9ba8c6c9b6adb2b6eda17
2322 SOLUSDT Jan 5
fa327031490f762377ac7fda53c3e634688f689212da6e697817e62778fdbd81
2323 BRETTUSDT Jan 5
dda997f86ce0c958f02e5cc1b4dee4b7ac0e5422eb6dc5fa4de1a0252deac47b
2324 ETHUSDT Jan 5
2df70533845051dc4d4eb716d84914d897a1cc575af446125e781ca76c6b601e
2325 BTCUSDT Jan 5
5a0591199bc6d8327842cace82d5ec44558b545cb30a798fecad6e6f913193f0
2326 ETHUSDT Jan 5
1f47cce00e1904c0b1a3d85ae465a472c4267e011de729dfc34c683336c2b18e
2327 ENAUSDT Jan 2
7a18336e325e99ffc2323ad13ef87d793012fcdc0b532bd19ac5395ae07cf9b1
2328 CRVUSDT Jan 2
0374d79f3dd7c93f4d8103c0f0d56931ab2aab5d029519397a9967189b1b2cdc
2329 ETHUSDT Jan 2
40cdf7cadda0e05dc712097250d1b872e1edc8da1bef1c07b166c3257c69d904
2330 BTCUSDT Jan 2
c406a45651dc452b321bf10b0bcf2baf83ec8b0e5d902708a14aa13a66545c9a
2331 ETHUSDT Jan 2
6c16386fb96699de563004b60c8f5661763c3f582b6f061839d67cedde1b4397
2332 1000CATUSDT Oct 3
779093312359f967365a1bbb91c59e8c13f33f986e568b6735a572ac827a8586
2333 BNBUSDT Oct 3
85a40904090dda810c92ea39550fa947f610f18ffbcee5a0286e14c5ebbb4531
2334 SKLUSDT Oct 2
85540b6a63c232e1a91a8d5b196b4cbcf4648cc831b93382acabfdca0c3d876b
2335 ATOMUSDT Oct 2
3a43ba80c713fe3f3e60e62d21b3f8097bf26beccee48070964e69ea029193b2
2336 ONDOUSDT Oct 2
35a0e83f463dac55a5f4f20a6f534769e93c0f86e82e78d355bb5f683f14b5af
2337 KASUSDT Oct 1
a1f623e4dc2d24af87d85dcb99c2a264aaa137daa7654fce686c8149c1e89a7e
2338 DOGEUSDT Sep 30
78a896987026285183d7c89d1bad65720d0b51a631ce34829be63beb5a18a84d
2339 CGPTUSDT Sep 22
ec056dbb0ea070a025e4f23d535bc84e29f87897977889c143124ba524d2a2b7
2340 CHZUSDT Sep 21
97d4429c1f724babda95dc0a2f9fd62f1b9d56b20ee6769b2cde80b34432850e
2341 1000CATUSDT Sep 21
7ba4203f8a72d73619a66538711f0c3c8bc52d845838c819bf16285f7387d546
2342 ETHUSDT Sep 19
70f6972788b93a598523897a15a92746d93611b4eaac7674f123614ad6a8c143
2343 PIXELUSDT Sep 19
757b063a7ab016892ba1580d152c4411cc8fd91540adabb7bf197c9be2b4ac2d
2344 FLOWUSDT Sep 18
b28d0ba94006e1abe51648836a11529d4de7fb91328382ee45f311335f2497ed
2345 GTCUSDT Sep 18
3d57e4a3c60acc66b8f927ae4860f984e4fc212737f66e6e05c31cfe4d5959d3
2346 SPELLUSDT Sep 18
95cbc2771222e8f17ef8d7129b48d97924477b460bf9b39b92d342ea76e11bad
2347 SHELLUSDT Sep 17
daac39529aab4f3cb80d72578508ad9827a5274ba541a6c1e6b6d9d657a106bb
2348 GRTUSDT Sep 17
27b459cf94e4c6a54a594d35c4dce6dede95f9a0b6fc4ef66621a957ce97aee1
2349 MOVEUSDT Sep 16
b582435d53388c01e2b0d16c13cc92fff74adc15b6b2c7fa726b94f58acca5c7
2350 JUPUSDT Sep 14
5d596bc9e7a4d0843831ea9c45ee8578f2ed55b507c47f8e6dcc29520a93a36e
2351 PYTHUSDT Sep 13
8ef9488d51cd1d8f0cf34d2a5fbd11bd65455847a2e6ba728b78fd88916430cf
2352 GMXUSDT Sep 7
23da3ad5494bd3c2e10685cef6f4c0f2a74a3f3770330becca499073d8c43ba6
2353 TRXUSDT Sep 5
a704f4c41c60ad50ef195ffc3c7cd7008b0d04587a5ba30aa23efb8ed827cce1
2354 RSRUSDT Sep 5
f15f4cdfdc1944af5f08acdb76c8ed5c78aeb7a3da508a57b4cb48ab6937600e
2355 INJUSDT Aug 28
9c07d0a134e966bb7338a4917debc66b3dd1c5f31737907e0a87b3cf868ab376
2356 MORPHOUSDT Aug 25
ebb7f4b1add804e29a9a308da2e36388d70c219608b24cd1a331c803706c4f86
2357 ACHUSDT Aug 25
e152db8d3a6b811c1413f24abf1f24c84d9f79bac13bad96b01dd453e1520ffb
2358 GRTUSDT Aug 25
d18a95c18387933dfe4f713c30e5c49482c577d1acf5bb1773c600ee316f7c21
2359 1000RATSUSDT Aug 24
b52ff16c70a5377ff13ca8ab6eff92ad16f1f2260b9f5c166ed929972043e269
2360 ANKRUSDT Aug 21
9313904b128730f890b148ce59692e48ceae70809362dd91cb735d0c7652c77e
2361 GTCUSDT Aug 21
61737a6223f8b9361399698b6e0c08d5b6c090af67b4f00137f34ba4dbfb6d40
2362 KSMUSDT Aug 20
b14405ba71a5319d4e5df7b169bf3089b2c22786dbaf93e1d1c89c111bcf224e
2363 MEWUSDT Aug 20
382083a155eef614d09bf83bcb70f6860c4d8778b5b78e188cc352dd9dd86975
2364 ALTUSDT Aug 20
1281f704fc6b50cab3e655767f926fa4cf458ce33bb339e6c32ce5f3419f57bb
2365 SUSHIUSDT Aug 20
1f2d07930e6719ef626cb1489f0ad731a52520f38cc323e127386ce99ba3a9d3
2366 BNBUSDT Aug 19
5d70548a2e1c19be6a33a9c6642fad7611798ed67359ff9f06da5e9f745cf90e
2367 ZRXUSDT Aug 18
735f21e8a330a155b79bb64f5cd2facaa3153238739e62bf6f88012b9f72d49b
2368 ETHUSDT Aug 18
a779ac22fcee010fca178bb2e4f3b34f12aec95731736e92055acd495de4cef8
2369 EIGENUSDT Aug 16
df247abf0021d935707c3a1ac7bd85137de82bdecac4a46a8d8ec637885d2917
2370 NOTUSDT Aug 15
58d0c09dff7799ff48591f0916d851b22cf6472e50142bb2373eb0b50bb1c237
2371 ARBUSDT Aug 14
f8119d0b0533a414a1ca426c3a9c4379fa7f1a2fd3efa61c9e79ce25b703f320
2372 IOTAUSDT Aug 14
9684922cb144267ee2b2c6a9398ecb149ee9224c2eb55a3485e7f7a285316156
2373 TRXUSDT Aug 12
c1442154374eafe0088f71fec44fd578dfe637b9d953927aca45a77e81a2157c
2374 DOGEUSDT Aug 12
297d2f9ad50e3e26fb1f8ad289404c0b510605cf25eb545512c576750325a30e
2375 SUPERUSDT Aug 10
2c12e2ddec8059b522068cb4f22b086e718a32dfddbc64cc7a3bc270078553bd
2376 BEATUSDT Aug 10
8d94d7dfa2b8ce25b46fb67a98134b59d3728162250009407cb91900c7778aef
2377 ZENUSDT Aug 10
101b8accfb1de24dd8804caf7e75282ad538c0d1ef4236b8a4731a104b6e7ef0
2378 SNXUSDT Aug 7
52013ebdaa61792843fa89b04f88a107128e7b31fcb0fa5cb30e75e05f8ed61d
2379 BTCUSDT Aug 5
314134804e05828ae43161176c4abb64577ba737ba6b0207d7fd97b3ac17035b
2380 RSRUSDT Aug 5
2cf4202dc6e41a46ef6130e2479cf9c118a9eff87eb5230852f052ff288e8883
2381 JASMYUSDT Aug 5
34c2ef4e02e4703bcff4a642e9460aa990bcdba756da012649662aedf2e7ce13
2382 SPXUSDT Aug 2
492732cbb870a7800c87ea4adc6f7641467a0327af1b3cbfd51ba2e403f8dc04
2383 HFTUSDT Jul 25
919178a86efa4c87027bcc2cf3af77563f9ce7516168adaf89033c6bdf30af19
2384 1000SATSUSDT Jul 24
992f16a21b3c152d87d710af8a2287fcac53724d80e8b5cc0508a0def8beb0a6
2385 DASHUSDT Jul 24
ddf974000f424f23f97bbeeae567bbe2ccf736073ebacccac2034216e015f115
2386 XRPUSDT Jul 21
50563f0f62111907fdf287ae73adfb876dbd17c2b373b173edb7d227260c9c20
2387 RENDERUSDT Jul 21
ef2cf36dbe9df050373eda49159f4c9030dfa81366f630e6bbdc0b591a2c11a4
2388 LTCUSDT Jul 20
ac2a7d08fb2bfea6cac3b5f531dc995e41f89ad46bd82410ef51ba278d868522
2389 LTCUSDT Jul 9
98ce700e7087f3ec7f84d82b88e4ac454ad9ccecc43e5853e176f58670ca7215
2390 MORPHOUSDT Jul 9
5d9103ef958dd66a4b6500bb89b8b388ec9142508d9fadfb65f8f06d33481a92
2391 DRIFTUSDT Jul 6
79835dd0f53c4429abc840a06b204285f334e13fd15eab3d0b44b9937e6643bf
2392 IDUSDT Jul 5
839b4e521beee25fd3b912a2438fde800746b06db66da248273b50a6a4e3ae26
2393 EIGENUSDT Jun 30
2ab236508eebfab861d646b9d25c5e99589544139bf7f85466d3143b949ab6a6
2394 SANTOSUSDT Jun 30
002ffc99109033a106c76e7b3491cd0df2b26eaaa41fd83c0506b45d7c174bae
2395 ONDOUSDT Jun 20
89aa2c46e7a82e13fead5d5154fa88641f94d76f5c59d0e24ce0e91cc1553801
2396 SSVUSDT Jun 13
7f7b809a136d38ba3e4d96ccca26332d46a22d1dedc87a385b29386e78704381
2397 JASMYUSDT Jun 13
a496365186dc4994b0499dfc1180e57fb905e2bb715ac733367801a20214d46b
2398 JUPUSDT Jun 7
c6108ecc102331edd0dceaf16f1ff833c4ddb3333f1a79e100d510f3bc974344
2399 GPSUSDT Jun 6
dba9fe439a9c00c336a7ddcd535a467bdcee60dd17b3bbb761f3cb52aca6c566

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