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 12, 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 76 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.

7500 WLDUSDT Jul 18
bb338fea1fd3cbe25c18e4e714edf0ef30cdd0628288fccc9f86253181e2e4f7
7501 HYPEUSDT Jul 18
09776fcaad661422018cb3491579a58c031bfa10e999473d3c716bae816258e4
7502 INTCUSDT Jul 18
cabe1a76ad8e91f7af6a3c2954356f5def67699be6397178ccc0cef94defdcf5
7503 INTCUSDT Jul 18
0e3369be16883981ac236703dc8822eb202c35d7a28c371a9b4c645fce87012e
7504 WLDUSDT Jul 18
8c32e1e1b1424af27558c7cd039e5074375ce6edcbfc2b596966916199e641db
7505 KAITOUSDT Jul 18
fae79d37ae6d8089998417923844c62eb8462ba03bb848665ab629c7bd3d5b7a
7506 KAITOUSDT Jul 18
7095f27c9f13a529fa604c2609f57ab826567552578748bb224fab74d9bf0268
7507 1000XECUSDT Jul 18
c88ceefaf444c3fd4b28d68c316cd99d2a2d4eb52e7fd6387c02026d968a67df
7508 SUIUSDT Jul 17
56769ed0a85c950a67ea0a34b13b1f5178fcfe5081a89f615a2de71d3d195856
7509 XAUTUSDT Jul 17
3830f586f3bdb2475566d03d8a34faf49f26b46201dd17b373dd7e04f1f2d1d1
7510 ZECUSDT Jul 17
f0847fba9fc853d60ca56a889459b665ee508da350dc1bc893273075532d4634
7511 ZECUSDT Jul 17
b5d4ba115e5058e322c65dd57519eb244f70746727f923ae4fc023064c16dd43
7512 LABUSDT Jul 17
0ec7d2b41f4725306ac9bb9eaef3003f94e5a9afbc5eb16f4763b1552aea8d8c
7513 LABUSDT Jul 17
fd719d85d864f0f0cf2447c5f6f3286499db81b04b17336d7dccbaddcf7d8d06
7514 ZECUSDT Jul 17
681c250d7bdf93d2dc11f0fabc1f8f8c513704d22be4c9363bb4d3a88d604579
7515 XRPUSDT Jul 17
68f383f6ee67754226b9adadfb3fd7f58573bff20099edaa880223bc337018ae
7516 ONDOUSDT Jul 17
1fec6f0178f7f338e10f78fa08ec540008613c949b014e689b58be7a02ea9c56
7517 PEPEUSDT Jul 17
3de779d78183640e5da2c178817d0626f29f34f6d0193a8fba47767ee1577844
7518 PEPEUSDT Jul 16
9e6812f615f3ab009051e61eabccf4d8ae80e7c3027c22ed1cf24fb24d027328
7519 WLDUSDT Jul 16
5aa647a99739020a244b7e53f3da977731b6b52aa0f53e5efad4c9b85c009ebd
7520 ZECUSDT Jul 16
bda291d38cf35c8599065f843ef802dae15cd70ded9459f39038438fe2513032
7521 PEPEUSDT Jul 16
1f9749bb1145e0b05d1e583396b40dcecb116c2c4f235c53347b4d96c330f926
7522 SUIUSDT Jul 16
e2bb93b2c2172ad0cf856500451274631eefb89baf37caafb8b814041f3b287c
7523 PEPEUSDT Jul 16
236d5f12f7ed227ff14ddc3aca0120a4957bdd857dc125e30483a98f1badf03b
7524 SUIUSDT Jul 16
2aec1ba93b3f6a294bc05aa81555bdd1ef993b16d127d60b3f6e211c1005d2fb
7525 ZECUSDT Jul 16
b67b32209edb04ee1ebf3f8ba121a0a5935506472b638a9598c3261177930ff2
7526 SOLUSDT Jul 16
8e66a8ca4cea1597153c9958edecac2066541df28ac0b28c3c5451b60c6cf5cc
7527 BTCUSDT Jul 16
1e19d52ce309935365cd5c2e5344efd588e45913c2ffe124eeaf39bf7bb2415d
7528 ADAUSDT Jul 15
3da710f694f763ac74931b2f1408ad94eecb00ba4464c2a51107a160814a00b8
7529 XRPUSDT Jul 15
c3584758c297bdcc30fc14aa0c75e6b396bd08d4aadf98fe1d04e8f0dd88fb38
7530 ADAUSDT Jul 15
35671c390ff357f2fa6a39b6508d4c8c2e4e7a521b1384685def9eb2db4188b5
7531 VELVETUSDT Jul 15
fc1c51b4ef79c4668e8eb938130b4af9f58c7306c593568a62da63be3d641758
7532 ADAUSDT Jul 15
18688bd92c61e08fb54c0f19f430b4dcc7e54d09d47de5681b1df398daf184c1
7533 PEPEUSDT Jul 15
13eb0064785dc7275d380cfd5c46d83122a583faed37f310903608acafbc68ca
7534 ETHUSDT Jul 15
84fd039fb9ae75caaea6a15575777cc1bad69e81290eddcd0b75f3780fe27870
7535 ADAUSDT Jul 15
5847cdec2f07d651b60c877fcf19cbf9b043f60f3ac486e5a3364b7e580680e0
7536 SUIUSDT Jul 15
2f8c85bc912bd01e7771dec1f0cda24919f006b9956a24e1aa32492f9cc47cdc
7537 XRPUSDT Jul 15
829090cce4d5b543a5c4160f98932f53095756568673078eb9a4e55059b607bf
7538 DEXEUSDT Jul 14
95c6c3f5f41e8e6ce993e4d95deb7547081ef73d58fa70ac95c9e4c139368785
7539 DEXEUSDT Jul 14
ae3e6d6d7489d5909311d812c3f8ef9d47e7aa2cf4930f7ce07254e1317d41d7
7540 HYPEUSDT Jul 14
3bd5d1ecaac0e8809417af06324124013d41343865cfa7434fd6805161dd3106
7541 INTCUSDT Jul 14
30073c3b3cce4178f57e8ff4375c934236eb4f578b18bf5c387fa21b43c171b2
7542 HYPEUSDT Jul 14
7132d2095483a40e3bcb02fbae65f02c75ba03c7ad6e3c1cac1b00254d68447e
7543 1000XECUSDT Jul 14
1651bfcfbcd48d21fa51dd14562dab5305ea95650b6bf2581e97c36c791ccaa8
7544 ADAUSDT Jul 14
302e5d8ceb85f97bc12c181ca741f3463cb386610f93c316a0ad26f730b3205b
7545 ADAUSDT Jul 14
7d35d736b378da1b4ab22c713e7aef0f5b0630389f6622a9321f139fd1355c17
7546 ADAUSDT Jul 14
3550b1d974e9b267a7323ca8999e3846d61f06e53fdf54bd1945e27c771bc4c2
7547 ZECUSDT Jul 14
118e185a444294e300ec1a6648f1f8d05a2fe03b5a6ff8129101100e93f7eb64
7548 BUSDT Jul 13
1ed546e62d8a53babd5b003ca7bd8d2dae0bb34545466ba7d09f41dddbfedf0d
7549 VELVETUSDT Jul 13
cb24355e26b36684bd5ed3abd1f718fdce3a5fc399bf90ce4caee2973e1f6d13
7550 BTCUSDT Jul 13
e930533c81145689988f0bf22441ee30f7171c061f4a04a9dde8e60afa33eab0
7551 WLDUSDT Jul 13
f55955345b2344ba60c2f4c4a4fb467565944d020cae179a208464c4a1d0e936
7552 SUIUSDT Jul 13
01cf590ec6601a7fa6d40f85c6102c698ce127b072066acb593fa10ed1b75099
7553 ADAUSDT Jul 13
63e33709fc9b7bed58cf06b38561c4fa563d4bd58ccd5d7d78ff417f9d16dd8f
7554 XRPUSDT Jul 13
0cef8c9eec302c0dc2bb35edf12b4d1ebef070b76f24afcfb5c7fa413bf91809
7555 SOLUSDT Jul 13
241ec83d5b70cfc74e97f8af6b06c792a03f959f732fa2b7ddd7758235ff59e8
7556 PEPEUSDT Jul 13
fd097dc78ec8e21a3a1828a95ffacfd7320a5704023d5069a4870a7fdce8f1fd
7557 ZECUSDT Jul 13
2187f07154073e65b7f8781fbc6581dbbb4bfffaf2a8bbcc49db550dfe8f6361
7558 SOLUSDT Jul 12
014e2c85fe7b2da9114b27614901e7ce945bae06056f409e85461289da7b7aad
7559 SUIUSDT Jul 12
6a022e182e0750a3b008171bc7a5fb163f46db57029434c908a367280369c803
7560 ADAUSDT Jul 12
94f91c8b7e4756c93cff75a3d0972fce5a5cb7dd19594d4d6005c11ef1a593f8
7561 PEPEUSDT Jul 12
0d2896876b5bdf297694e9147c1335775329247df52d0dd243419662c1524fde
7562 XLMUSDT Jul 12
f506299e42903c2c55acb7c29592ec2f1a7a3d48345c760dee7f506d9dc57cf8
7563 PARTIUSDT Jul 12
9250709ad9cf951151cef2c5704769bb475ece199ec1a577b6d01552ae114cb0
7564 BTCUSDT Jul 12
249f7ab79323bc9464a943958e888554045f7f1d79f2b634accb33a077a4d10f
7565 ETHUSDT Jul 12
1695381b197612aa64d0677beb71b05da27feb29e09f0a442e0be61cb6e9fe11
7566 BUSDT Jul 12
32a89e70701bc1a3015e50c380556ae7dbbb6eed3eafbec6d3f9503d584b2673
7567 PARTIUSDT Jul 12
25a41a827890fb2b476783526086121800b13a9f8b9cbb996f98b1903c8facfa
7568 TAGUSDT Jul 11
6c2fb15f2fc5f85f513b818d72d9b39f835821ef06067852eff5ab493ffaf1e1
7569 TAGUSDT Jul 11
f0bd44b7783ec3cc75468b602500d87f968fb652a20da313b2dbb5eefa8f07cc
7570 ZECUSDT Jul 11
a4840d49087cf9202d4ce5aca2b12e9449e276387a94aea8080d463a79785b83
7571 CRCLUSDT Jul 11
ab472df91461b0f9cd9c00eb637c08737b395c02aba1003189861eed026c0b87
7572 MSTRUSDT Jul 11
c6a0d9268c4ef7d9e6d1a562e14a320305a1c44dd15c0f0c21c25f1b70518cd2
7573 SKLUSDT Jul 11
2e9ee4cc3e20b61ee00f2204f379444f2c0d3caea5a73e3e2070b55cfecd5a34
7574 ZECUSDT Jul 11
9ad8e81306c1bcc151f52b05381aa579ad8d4ab93c81a688248450d7ba17742c
7575 SKLUSDT Jul 11
365d64da971c6cd9071c34bd0639015ba043863c8c46b4ac2e377133ba5e2dad
7576 MSTRUSDT Jul 11
0c57e43fa65a730dc29ebf6e86833ec8c109556b1325289d7f138d661a778321
7577 LABUSDT Jul 11
e2a5a846f46b2cf189030d48e505a077f32eef86624142e21613757503f77e14
7578 SUIUSDT Jul 10
017c6a4f32b63647eb1d5a21b70fe028a1832ae38051160ff87a777096faaea3
7579 XRPUSDT Jul 10
b654f2f86f243559a049ef307651ab140e7363226b0983a9c3dc8af2da4cb6a3
7580 HYPEUSDT Jul 10
c4aeb98c388119b19f4193459f29b31fdc65deddec0c906e69491498eb97ce3d
7581 XRPUSDT Jul 10
55e0af8a3ad2381eb7af0ceb5b299ecd57affb399cbdac995a5a4e7d4ae5fa6b
7582 BTCUSDT Jul 10
ec3d14dc35745498a14d2a043869291a4f5ee3a3e205b9c10b10409018cc17ff
7583 ETHUSDT Jul 10
2f4625ddb37e135d4f44e9e735f3dbf65c59fb80b3bdf76869bc383be7aa8ffe
7584 BTCUSDT Jul 10
e58c32af02cc9e3abc7a1fd927f9a4384c2e8abeb9b146cdd54a8bf45c9c4ebf
7585 XRPUSDT Jul 10
dcb712437d9e5ed2b1668f3e508fb6193c9d8773370b7ba628f70bbf1d4c04d3
7586 MRVLUSDT Jul 10
d0df50d1712ad767c94e8b78163b55b0f025addf4d80692c1ebd8ad6cd9220f6
7587 MRVLUSDT Jul 10
0f5e3a6e0c4c2e20f1da44afdaf0591cb2f7204f1fe193322a858c0abda67546
7588 ETHUSDT Jul 9
0c4b6c4c810bc0c2a7a4643541ef51f787c8e5220cee10df94a33a39919ace0b
7589 LABUSDT Jul 9
2e314528d49ddf97005e223ac4422265e5b29881c8aec7d6867e11e396ce304a
7590 ZECUSDT Jul 9
2c6b4772317b73d51c1197722d215225d8c1757db9e2b74931f2c46c325ff819
7591 WLDUSDT Jul 9
5899e4c21db7b3b4605208c9d62f3b7854da70eb4dda2ec0c8de18e2eb368eac
7592 WLDUSDT Jul 9
8f5f005eb4e27463e25f649acf9c176cae22491bee4cd3783e946574b3f685d4
7593 WLDUSDT Jul 9
e34f8d143a53e1bbfdf07801184460e9d4e21363127d0d035120e5957373b386
7594 ZECUSDT Jul 9
56948762309bdb94cf6ac2f20d8e93644f69d051ec1fec02131c5ed2e36f4a4c
7595 WLDUSDT Jul 9
b816f50e08f55b1312d895309a32d5f8a28b1441ae158718c6a0b6f7a5da6ac1
7596 WLDUSDT Jul 9
3d42f80ed12b7537947360caf77f77006d0d56987d187647073dfa3d62b27177
7597 WLDUSDT Jul 9
661d9bcd4c4304d37a881d121d7513bbc8b48a9be07e3d1ad5528f7c5f9b752c
7598 VANRYUSDT Jul 8
ca967534e28823aad791b88bec0045305aba16b0c24f91126de089d62e7f9561
7599 LABUSDT Jul 8
438beebabddafe63b8df46d3435d59c2b537cb153172e0547d94116305c83fe9

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