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

21400 DOGEUSDT May 7
acd2468865b0dcf1181340645b16fed70233606da74b8a215c48c1adb6eb5586
21401 FILUSDT May 7
a902548f91fdb8b8ddc1250165bf3cf0a15451c776c1694176cbf2b454bb5a69
21402 TONUSDT May 7
3d1aff108d38dc1b7b71001c13806c67bc6461c7bce5ae5973f4521944011575
21403 DASHUSDT May 7
259e501bbd3107fb919cbc225d1e864159973f6794d4bc7161d742a84f18d8fb
21404 FILUSDT May 6
b80aa60f07849214dd927500b439b8e0d0e14a5209ffc805a0a28704ea0b1e4f
21405 JUPUSDT May 6
ba407d5af5f551b1f2fe4a4ae023dcaa5e0a6a35d07a6b52a65c1d53e6d6cb22
21406 ZECUSDT May 6
84f35e7bb0644e4c52948b78f75be60f06b549f88411ddc48eb94a2db8de0c63
21407 STXUSDT May 6
68cd994c30346c28720d91de258085f8c93612ceddb407ee44912af325969799
21408 ENAUSDT May 6
dfc55f0dec27782a29d4e3532685a595a6a7b991e59e266b447a78b7c1221343
21409 TONUSDT May 6
9ee471f2d12209adf2027cdcf9ca8d7074f1f68f8b08893e31ea4973b975f05f
21410 HYPEUSDT May 5
1a91e4681eadcb52479dddfd3119899b0df1d70a7110c821db2aa049b9a99ccb
21411 ALGOUSDT May 5
0b740a6ed14d0aabbb8331ac6f8a3d677cc05b9ed64278d37274cfd8b4a54102
21412 TONUSDT May 5
905e03c4852597c1656c8686859d488767598fb25bd02e4a4e228abee35e5c2d
21413 FILUSDT May 5
1bfebaed58d10268b2a46edf64a3061f59a6335ad09c01bd8b76995920b917d9
21414 OPUSDT May 5
611b098d76aecfb185a9783e8ba84f2efd82e409057c6bf9e916cd26278a1fc6
21415 TONUSDT May 5
7eee694f2fc39c369b5d6cd40cd4d1938d7d6c1524eba2885ba8295f0553090f
21416 ZECUSDT May 4
68e628b793d18409965c32d0d3a120ea16a9866845e808fb95f8709c6e357f35
21417 DASHUSDT May 4
7fdbf16fc7c6f71898b1b85766e5aff74ef64e2cf85eb7fb4efc17d5ad70a660
21418 ONDOUSDT May 4
df6a25378b5b8f6516d7ff2433650231a660f53157ee79ac1a8317ff071ca3ee
21419 DASHUSDT May 4
b19fb406186999140154f18d6f41b71c8016bcff89abf3c9e854a455728d5178
21420 FILUSDT May 4
83e0e3243c151b9d941e584bb65595fcd3184de2570d72a0e0632d0f0fc47416
21421 OPUSDT May 4
f12e22b5d6d5925bd2840faa3f9bbcd6ff18177c6d74cabc1861669954638a5e
21422 ONDOUSDT May 2
277fa7cc13e511ee58b7a1a8e6e65f4aa8b29db526f571c2ecc14d98afab19d4
21423 ZECUSDT May 2
54fbd7bedc054271d0352f46843613132bd54b487e4bfcfabf36eb50a375654d
21424 APTUSDT Apr 30
c8c32b490c2f0317677bb4949ab5961710835bf9d58ad6af48e17b8fe95b8713
21425 SEIUSDT Apr 29
9840a3443e80474641cc4fdb362a23fe9aaf13e2505353a96dc972395504c470
21426 DOGEUSDT Apr 29
88bb6c19255f738a46700c6c636b7575ddcc4c05efc9c11824033be9e0e0cedb
21427 DOGEUSDT Apr 29
5be5f2e1e65bb1855ec61ec5bb67703943d7f8c5499589c996f94d638a8f642e
21428 XMRUSDT Apr 28
0a55a09fa3ab2a19e622db6549471129abb7c3bd647110d9682684029f76e017
21429 DOTUSDT Apr 27
0602628e37b53ca714a311817861f15ef0ef2037b7b2695392de7c949cba3683
21430 INJUSDT Apr 27
2ce0bcf736410c25a308f6cc4f94d07ef05d161c44b736b8799492f60fb86551
21431 JUPUSDT Apr 27
772e23ff1ad10977532bf12d4e3a628f1608b21aec081a66d44f6f236e6137ed
21432 OPUSDT Apr 27
a5061c71617efd072707658d2a8712604629b79b76776516b8d25168934e21a1
21433 XMRUSDT Apr 26
54119125d4dbcbed9b534f06d9342d13885b2006ca884ad04eb1b4c2c6182c7f
21434 IMXUSDT Apr 26
141719e9ceb872150c8a0d598b7d0ca73cd715b9a6e9b509a5d0b6c76ca4cd25
21435 INJUSDT Apr 26
ed45d4489c505ebcc2dc12084ac9bca493a7e3205c0d0b3090055c0f7ba60aa1
21436 IMXUSDT Apr 25
c719775a1b2df7e52fe664f9e31dce65892bcb4f283488b1c9482690078609e0
21437 ALGOUSDT Apr 25
f4c0822f3a72fcd6f20983bb03c08dc53772375aa18efc3cdba90fcaa68cacd3
21438 XMRUSDT Apr 25
e80c86cc7e49f35fe5008bd20c49ea108db9df1876131ea7853fcf9ce957591b
21439 ZECUSDT Apr 24
7d126f5e840558e595c24a87b6f4712da1ea6c9b1e2d4931e856f9f2a187b38e
21440 INJUSDT Apr 24
b5581d7308c84cd0050677fe01a32f5f7de5aa146b030862a0df646e8847e95b
21441 ATOMUSDT Apr 24
745023f01a4a6b84b63f3721683aab7c2b5e52a0bcd2d2690607397df9d80b25
21442 CHZUSDT Apr 24
82abf724aeac3d6163856d3841f8b7ac592083fb0e3cc8f416ad881fdb75939c
21443 DOTUSDT Apr 23
c84a129e0a47669d9317a1495a016e2a8180d8b2b173df25bb822984757601e1
21444 SUIUSDT Apr 23
ca8301796b2360a6bc9ccbc8a51bd5992b07a31f77ad4ad019be96c435ddb6ec
21445 UNIUSDT Apr 23
7271a51825ebee4bfd35f7590cf0f13a31b09567da99b6098940c18a186bbd4b
21446 ONDOUSDT Apr 23
2d6bb9ca88541793980865edc23eced77ff8d76899d34c0761ff52e22981e1d7
21447 HYPEUSDT Apr 22
c5ad43fd451b771e0c7cd6f71345e55076ec6d855d20c60e453c3bb2f3290fe7
21448 AAVEUSDT Apr 22
a44c979ccb382795613c42b1d4224cf14440df8efc968759642bf133864a1616
21449 CHZUSDT Apr 21
b8f37f67bd548d12c40abca70ab4f2700e338331110fc7bd3b8c893a7eaff5f9
21450 TIAUSDT Apr 21
91cb4dd3b473777ad42453cf7a4e87b2061f361d8b734b4e285ba37cd110af76
21451 ARBUSDT Apr 21
289fcd4964bb4e383d62502a315e7dd080f3576b0512299b06c66f5b3fbb27c3
21452 XLMUSDT Apr 20
312c1d3f0afc03212aac5d37abda5b2bbbd418baf9b16f542cc19471e45a2c61
21453 AAVEUSDT Apr 20
7dfd0242f80998bdbba6593ffebbab523d486e03ed41644b9f8045a8a98d2aac
21454 MNTUSDT Apr 19
5d4c0cc51226b135c4f1d89e957adfeb289e819cf6c7c048acb5f4087db40ba9
21455 ALGOUSDT Apr 18
3837da6044a2ceed9aa74899197b3eb23a5a58bf766d651149c4b1888f93ec65
21456 ARBUSDT Apr 17
e8a9fdf1633a413358f952490a62db0d6aa98c1ff526f364c1f206bcd443dcba
21457 ARBUSDT Apr 16
a9aa7b7cf3bd3e7dc571df5df1a885d41d5fc0d834c46d14aa6f85e086fad23a
21458 DOTUSDT Apr 16
e8063e7707edd56eaf2312261332f02a2bd6846814b95f2f7ce2f85407cd3a26
21459 ARBUSDT Apr 15
eecd475e46d536175203376b0080f55d0b461da963b0f6701d5cf780e2a78368
21460 HYPEUSDT Apr 15
5ab989ba113178b98f306016cb847b347076ad9c7e65bb09e00609aacd569855
21461 DOTUSDT Apr 14
0ce7f7e5144107aaeb2c710555503bf99abe7762259f9dfde4d52dfde0273574
21462 HYPEUSDT Apr 14
fc8747bdb9aa6fd7084d062d9128aa6037d9be066b5aa897193c3cfd4ca2cbdf
21463 ETHUSDT Apr 14
ec7f3671f9ec5fe8c007b301db3788e250459c3aedf970f731f9a486a898d33d
21464 UNIUSDT Apr 13
57f685e0398c15135789081601ac058682f1dd6f758d51ca24c7ccf77c1670de
21465 ZECUSDT Apr 13
a2c9c2eecb130673707be0263ff912d7a816b19caa8722a003ea84b6165ee0d0
21466 APTUSDT Apr 13
8e029ff496a5441d81ceeca4cd0d9a3c929026816d20f0a607c78e45a0b680ed
21467 DOTUSDT Apr 13
7812dfff90c686d5e6fa1f7a4a9793e4a0ca868a1b0f63e0bba4dce864b7e17a
21468 ZECUSDT Apr 13
79abf21e0f9844cfe344ed0c0d5ae0387ed29ccd08faae3c677bddb3bee6fd05
21469 ZECUSDT Apr 13
a016f71d58332fd9994e15a04d6d0dee5661570d8b222d99039d63f51f44c6db
21470 DASHUSDT Apr 12
c427114ebf42b5ec78552f968431fd723dfaebf0f81d51ea3bf30f7a07009da5
21471 ADAUSDT Apr 12
ea300239ef0f00248e49665ec4e276a7363ccd8e0f2210de61693324f265546f
21472 DASHUSDT Apr 11
24aedda32d1131e051f6d3729f186902707942768120e2be70242a9b83ddfc3e
21473 ZECUSDT Apr 10
2246a6f56c50c35edd9402be9474cfd259623ee858f1e4f90d6796cb4cc5020e
21474 HYPEUSDT Apr 9
d339662ef5d4a66ec879d065ff04e4587b410013ebc3167bf4425a7a30647231
21475 HBARUSDT Apr 9
7db7805da0d5aeab6e3d7d21f127f5b785b710949d585daefe5245a7f0f49370
21476 UNIUSDT Apr 9
d6c9e54e688d72f1f7527ac3ed748c26b0281a01e3495936489aa00926b7c1e2
21477 ONDOUSDT Apr 9
86ef3b5823a340cfbcc9f05b9f87de4c662c9b2b6c0e78125cabf21558be518a
21478 APTUSDT Apr 9
ca4be412ac10c119d2accee70c99b84b8ce45fc0c87dbcb866a43f635466a48d
21479 AAVEUSDT Apr 8
45ec454f4f1560cd5b62c1e047c3c4c2729ea2b1965085fd8c2918eaf7ca0c4a
21480 ETHUSDT Apr 8
aeba98020fea6ce9e522738525545df2725756459f8ef730125b365a0787678d
21481 HYPEUSDT Apr 8
6a42e1cf260944f1f79d4b77afc0a6234d23a2749ceafb1161ab7da16743d730
21482 NEARUSDT Apr 8
d1a83c6325f1e9bccca2e46ff8e352588026ab2ce29519a7ffe60ed7a4aacbfe
21483 RENDERUSDT Apr 8
fcaad714797c076a15160c830ed7dad40b73baeef4149e38b4ede8bef254a22c
21484 ZECUSDT Apr 8
6dc014b85a8f0cfb0d328ee1673e974e73525931dbd4687ef5ab9c902c6070c2
21485 AVAXUSDT Apr 7
a33e9089cc4468297bec763a05a39029eeb4751725cff367be9948e233a3eba3
21486 ZECUSDT Apr 7
815298c6f010d012b78ead574021678c66c98a31c46a649bcd1f015b654d6f29
21487 DOTUSDT Apr 7
f986089c06b8425b4eb22a7e0e85cfec7484cc5143d0eefa2841312db002e35a
21488 ONDOUSDT Apr 7
de18185b03518905fad58efd11f7c1375cc376b249ffb52211ba0206df42ed2e
21489 AAVEUSDT Apr 7
7566e1b1525da235e2769984d251583ebcd379163fd8fe9da36c44485e732772
21490 RENDERUSDT Apr 7
01dc6ac950c1942dac42280b9cbab52d9b41f982383aabef6a24af6aed1c5eaf
21491 IMXUSDT Apr 6
990eef10192c55e6714097d5f66dea7d6ac85ef423c5b1a99867fb1999ca2ce2
21492 ENAUSDT Apr 6
9016a18289ebc2ff885f075abd7e2aae214d5d1f85c1b5d7a5aea16aac0def85
21493 RENDERUSDT Apr 6
6262f2f0fa78d8ea15d00f77ebe4e808f1c41348e2feeeef83c1e48b980ee0ce
21494 XMRUSDT Apr 5
c48cb994e3943b989dddaf199da7d5f0ec490ab02472b0f1d9cef940582f8162
21495 XMRUSDT Apr 4
4c024d64ed63238df0cf15be739e54645cb11c8fd3cda24f610ad4e8cc7be483
21496 NEARUSDT Apr 3
ecdaf3fedbb78aa38e500638d919770b9e7d7427a1f0ad61da570ce8ec4195ec
21497 AVAXUSDT Apr 3
1ff984f0bed1143277253e4129bb24ad6e86789c3576a5cb3fd674cb820fa09c
21498 RENDERUSDT Apr 3
2c5cfdca5900399541ca2240fe4e2030dcad8a25c0c24fd168d5162d64dc1d80
21499 ALGOUSDT Apr 3
5e7abf647ac074da2cb15178ab9fc5801ec803a55f48f05f3fa9d3299f60519a

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