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

4400 ALGOUSDT Apr 3
8c2eadf76496ccc507c4d5f56ab43b1d748ec57da5cef1f846c008d2e25d39c7
4401 IMXUSDT Apr 3
0fda150884e360c6c13778fb0266902e6421addeab0f801068dfd08ba6fe9fd7
4402 INJUSDT Apr 2
a1a852dc35b8a828f1f1113afacbef3f885c04f8b421c24ad712b3fef90a18e9
4403 STXUSDT Apr 2
457e1d99138c67f653eb8aeb6a86fbce7f1428df1258c4f8b83e8dcefabe5fb3
4404 UNIUSDT Apr 2
3e5d07742c3ccc2c36175ce3004e3032ba331f9fe0315b81cabc79120d7ae817
4405 DOTUSDT Apr 2
7599022b56863502656d742f4f4e164d821de5b1f32e636ce255d09c21365a66
4406 AAVEUSDT Apr 2
e95e93a2f69cccb8a882d224f94d565b63f2656ccad4da15c721d1e1a4fd5d1e
4407 ATOMUSDT Apr 2
2a1b6a367d76779018a3c1237dcacaf2ea0b389252ed60427d5dc6b0ee30bce9
4408 ETHUSDT Apr 1
534a97224d84f5ef83e414ff4594c90ba12e2a893156ee9f2e73d10f96b37e7e
4409 ADAUSDT Apr 1
1169b1e800acd2e33b8048c45c5c49d1b3a337fb33b6ed3725f4c78c33af4eb8
4410 SEIUSDT Apr 1
718e3ef058a7428f013163fc3564f53f2fa2eb4ad54338fedc6e6c8d12af9cc1
4411 ALGOUSDT Apr 1
1ec82a5449b701842576be3acd1c3b51320820dfda84e0cc0ce24b6fa24fc037
4412 ALGOUSDT Apr 1
9527c3f78bd941060bd2b4bdc8a277fec4acd274f11e6736997806c39d4a495c
4413 HBARUSDT Apr 1
c785c8ec32b5c89e9bbb2bb97e5a7333ffbfa632058cff351740eb0375f2b5f7
4414 ADAUSDT Mar 31
754e720405abb0f9fe4df09f1db07b3b90d636eabc24db21e406c4d7a41f7145
4415 SEIUSDT Mar 31
23eeb0e69c12a29fcdc1d18be3b20ea7c8c1724164cc61d403c2206d3addcf43
4416 SOLUSDT Mar 31
1f090d8682ce088446f431b5312dee38ece2beaa202df238230fd8678d72cdbf
4417 RENDERUSDT Mar 31
433dc5228cce81a9f366b38fb2ca75e3b84cd07afd0b92ad8fc5bcde9889b539
4418 XRPUSDT Mar 31
671d266818a03626b8cf1d07067bfa07679024e1046e34552680ec0164940795
4419 HBARUSDT Mar 31
c846879c14411cc70ea68ffc84cf727c34d165034f549725c8bde250ddc3635b
4420 INJUSDT Mar 30
b216c619476dd3fe9369f315bc27ba89adb33455c38514d5431d49eda4da1d2e
4421 FILUSDT Mar 30
892a58f1efb132b6f4e908ae38ff83590c732266f1e6dfa6d81f46f5f0a3631c
4422 ARBUSDT Mar 30
888252e5f6af2b3655a1b7b7a870f1406722036014e2c83a5e2d84403d95fa55
4423 ETCUSDT Mar 30
8a234d409bd6396b9909d7e972828f6e6d07487033b06bfb5b3deb2600725bba
4424 HYPEUSDT Mar 29
063a724e817e07a81e5f35cda12e559ab5d8fa602dd7b6c4bc843aeb54193541
4425 ADAUSDT Mar 29
fda270f610727fd628da3751d4913432a0dbf11159642baf7f83825511d31b40
4426 ATOMUSDT Mar 29
361c89af4186e28b9574372d6f6aecbb8894599d15e71dff57df4795d574125f
4427 INJUSDT Mar 29
f49d0fe6d269dcaf93ad93ebf95b90baf70dab9057d613b1dea8860929ec4990
4428 STXUSDT Mar 29
ed0a8414d510877c7b3441e299d551baef83a2dbf35400a5df6fcb1d30988345
4429 ADAUSDT Oct 4
facfff8d2acde106bf9c13b93734191ad681c279c269045c2ef89fa400018ee6
4430 XRPUSDT Oct 4
b2e614fbb0fcdc7c92f4d28fcba485e667bae42d0bfd0bfb0b9b904b068016be
4431 BNBUSDT Oct 4
5f2167f88d81477b583fbc852c0f4b72c19c75d1bc185aa9c071337dfce443f3
4432 SOLUSDT Oct 4
6ae0eb2b04f57a198c477dec89e986f031cfa2ed22ef84f26fb8af1620e83f51
4433 CTUSDT Oct 4
1ddf4bce9ead6f3a0574306773fd6bee3057dff14855342dfa29f27445542ea3
4434 ETHUSDT Oct 4
f676f4469ec1a836eeb6f2197409e838415a75516f53aa160bd75f6138a9dc1b
4435 BTCUSDT Oct 4
f9e38a0fc6a7478ec539e8fde00515eff766edefd716e824b6fee2e93480dfaa
4436 LTCUSDT Oct 4
a195b6421fd9c385eb035c5c800dfb357dcb5bea27da2bfd1ae55babd5abd567
4437 PUMPUSDT Oct 4
3057b155734935655d1c3ab8445d2dbe6230499e8a65288d06a3772efabe07bd
4438 CTUSDT Oct 4
7d53cf08b7e352a0d3a5c51b52e0d7063be167b329ff8c74ad812fa9b090e9ac
4439 AEROUSDT Oct 4
c4a3013c79e18440810b49f3d43d1519c7c67cff9d9d8a924519729de698448b
4440 ENAUSDT Oct 4
31afcbb7bd40f6ff1349fa8d5a89cf3be952acf14925f0c3fcfe02aa54046014
4441 PUMPUSDT Oct 4
96c8b0af7369e8c3ed7925113de8d3da22df3d5ffaa434a4623ef4470d050f3d
4442 CTUSDT Oct 4
f2f60d75ab54e03923c08485c07cc29e99f5101ca6424cf3f05e74d0e5579941
4443 ETHUSDT Oct 4
89b2b6ad6dcdf2b1eed1e2d292880a33615cf481181ca3cd2f28de475a46c96c
4444 DOGEUSDT Oct 3
05ceef73099841bfa0022abeb862ed29eb8fca72dd74b28dc94d62980194e289
4445 BNBUSDT Oct 3
fcf3cbd7f5431bb8b71b1b077f42346574ec6c5ba60ccc6e7395b5c7578bafe0
4446 ENAUSDT Oct 3
314eb29801308e1d2da5ce4d4fd51f048c2a2659011d150e5e2863b8de374373
4447 PUMPUSDT Oct 3
7e3cb95c633c70210c7d6b018a662ce2d1d7881c8970fee622238c3a23e5eb45
4448 SOLUSDT Oct 3
e746293948d80eb74c38fbbd4cd7bc12332be2f36c2943a8523e434eb77c5143
4449 ADAUSDT Oct 3
2260f292e4080d7d680a3535f3243b4cb01b6edfade29ecc0545111eff093db0
4450 ZROUSDT Oct 3
6d9c9bfb562550a31f75cd34f9f7e995d7e773066cb05e87e356636b375f0f19
4451 DOGEUSDT Oct 3
f1461122a6a0440c9a32a899a1bdbee946c2874e81fa9213e6be725fb9ee9224
4452 LITUSDT Oct 3
00d3e598d7697c9dbe25584206ee116c6e1b087e302bf47947b69ad8aa4122fa
4453 BNBUSDT Oct 3
471f6fd0b4eff904079d5aa2a06403781e2ae3d022cefff8f4ff3a020851827b
4454 XRPUSDT Oct 3
89db5105040f260eb6ea2a91f3c562f3d089b5e92b1245d343979ad653727eca
4455 PUMPUSDT Oct 3
53fe635cd2490c8341517dd502157087d125d8e79812d9888ff92fcf935fb4b1
4456 BTCUSDT Oct 3
df5ca1f0917f52c2c9c159f6fade7519331bbfcf630fb2d35010f83d33cb4230
4457 ZROUSDT Oct 3
191ddc0ab38a6611383e47b3937e234c287bf47b88eb12e15b791b3e630e69eb
4458 ADAUSDT Oct 3
d53a0479c577cb87c5232931d7c538e603f423dfe261fdf393fe2a88ebf7f1ab
4459 LTCUSDT Oct 3
270de249860bdfe74f2a7aa494de1ee6d5478f31b5075e54f7f512f45aebcdab
4460 ENAUSDT Oct 3
7ad2a66a7fad87d17b095724fd05cb313abacc5abfe2a990665b533ff8444dad
4461 ENAUSDT Oct 3
780bf4be5039d920ebcef3f6f3e5d31eac8a2d391b9ed558a97d0220642011a5
4462 ETHUSDT Oct 3
32f71cc05f583326704ab9b481f7bf3d8fe8535b54bb93f7298549296cae7b03
4463 SOLUSDT Oct 3
802222d9e7cc32abf67bafbb9f5131eb01adf619c15b4babf2431d51877ac5fc
4464 ETHUSDT Oct 3
2d062656392cb52d00566888906002186164e84951078d9fc901e9c720bae1c4
4465 BTCUSDT Oct 3
e72101bb03230ee12a0a1414a0cfbb8ce41da62eb2099a8ae52182839db888c7
4466 TRUMPUSDT Oct 3
233e857f6d4003636a0310c622ac3042b87a5566d84984dd6215e60e34ae48fc
4467 LTCUSDT Oct 3
58a59faf287945e89d48c1d95023dbe878d843a33bc38fce571cdc935091e9a1
4468 BNBUSDT Oct 3
c65368f3373a4d0fed843ddf239a25e79e092ff3a61c32562b803990baa72e79
4469 CTUSDT Oct 3
6c203f1783054d24b6e299aad171c8534a24a681eb88c86d6928e513f01b21e6
4470 XRPUSDT Oct 3
776f868fe03aed99204e7e3ff3ecb54c159279de5729967888e1639c98ad6282
4471 LITUSDT Oct 2
759dd4ea7d0defddc41639f1bbfa1008ccd7e9b952133397771ad14a4ad11152
4472 ADAUSDT Oct 2
689cbffb2177e7c58a511886b79bea7ff8a45d382b1700bf0a50c3729351029d
4473 LTCUSDT Oct 2
42632068e527d2a9b64d8813e758a8e76c2f2f54a0eae204e2657cf3d8cee75b
4474 DOGEUSDT Oct 2
10811ae7336d884410dc679d70d9278b5a129f6b081f2d3fd3fb128ffad3e69a
4475 BNBUSDT Oct 2
80d596cc8eb034734b281c4b9f539c31245b3b60f8585a2ded5ff633a4903b54
4476 PUMPUSDT Oct 2
63b343111fa04d8a91b68a83442f34356fc3b555d03680aca8b9821cf056b547
4477 CTUSDT Oct 2
91c9156731b8f7f670dacbf412bc8b2cff7ad2f2e73d710b31937ba850bde003
4478 XRPUSDT Oct 2
c215f8264b28d9df4cbf4ed45fcd4ec42c7e67990f86fab25364d7cf9c8f6e7d
4479 ENAUSDT Oct 2
2b629b3a6c10227295ed923eb7c5b320a378b69bba3f5ebf1dd7dc35d3433b41
4480 SOLUSDT Oct 2
1f083390a9e9308ef70d2a3237c9557a2222af2d539fe82b0b43a2bfe3d17619
4481 ETHUSDT Oct 2
cf9daaf0145c71168812ac3abb26903f8d952a437d9c1983a6710ba155b466ed
4482 BTCUSDT Oct 2
087627c65727b9d28d74385e79b0384e5e3b4b70f55ed9ae1f651db5359d1d65
4483 CTUSDT Oct 2
34b8e73c378acd02e6eaa45656a414934f88c8586e2e7802336c902c8123da10
4484 ETHUSDT Oct 2
ac8665620037f4f95df18ccbf068cd7c7710abf0f38eb4fb9bd490228c564e07
4485 PUMPUSDT Oct 2
c1a8e7974e54ba02f9bba2c101582f7abaab5a478f614b5ac7f24f88ba495a4a
4486 XRPUSDT Oct 2
e3b08ce5282da3715266c010d04ee9147f07a547c2e73c46b4278807eec76c1f
4487 BTCUSDT Oct 2
3fcbbb128b8f2bb03df02b3a868e016d5dc66fd000dbad3e6b0cf64a68242e20
4488 BTCUSDT Oct 1
38ef3ab1b110360e4ca0c936d8712cc5de7d1ca3dbb4b176f3d9d099eb075a1f
4489 BNBUSDT Oct 1
2a6c5189eada18bcbbf2eb9777f28ae5b1e994121fd6a1c9865fd8a5031b7886
4490 CTUSDT Oct 1
dc5d3beb49f31b8923d4fbb31b6a136592a57bdac147ddfea83b96efd4484614
4491 NEARUSDT Oct 1
ff36787155c533281006f92d550c511ce9477a062d2dcedf9629c47a7c14fbe3
4492 LTCUSDT Oct 1
40ddc4bef37775f518e8eb7b3e9a4b31ed8720c461ad85df345387dd9b378b93
4493 TRUMPUSDT Oct 1
cd236706a18022c3c1d532bcff86b76ac86ffc7871c31032e761495e1129d708
4494 LITUSDT Oct 1
bb1735813d5f057864fa394994c86a5dac9ed37b24f4af2f41b24ddab87b8281
4495 DOGEUSDT Oct 1
013fc164cc12a737f8cb4441cfe18561f1e224d318a8976b7cba39d7894cb09d
4496 XRPUSDT Oct 1
c698b3a2c0306fb459c60af2bf67ea0da62deabad4446275cbefb9a2f06705b6
4497 ENAUSDT Oct 1
c1b8dce5ecda7ebf176ad3fb799d5435074e2fbed42de90b5a53dca556c84c70
4498 SOLUSDT Oct 1
51107563041544eabc15a52f42372f32fb4df2fef680fa5ef5ede17631b30e09
4499 ETHUSDT Oct 1
13a7e80ab26d0dad1509ac2fb3d0779e301ebac9774fcb95ba1a1d9a1ba8df3b

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