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 13, 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 137 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.

13600 STARUSDT Sep 9
cceadad90279eb7f02c98c202a2f5694f65eefec0ec34ade26902631b20c949f
13601 TACUSDT Sep 9
5403fd4742727dea0f590d8259c6205ed6990eef59133d5b582e1abc5064a957
13602 STARUSDT Sep 9
e18b27553775aa03da2dce1b13b2c8c4989cfc56977bc630b041abdb6ed1d7da
13603 PRLUSDT Sep 9
0a286c4d7e12d0630b74c48644607090cd6d6d021a5c35cd1b95a0a1bfd2573b
13604 TACUSDT Sep 9
4b284d9eb7b8a4af342deb00a801ab525bc3dcd93ef6d455eca3da4e52c9a7db
13605 TACUSDT Sep 9
a7f493d63f3bfdda53888b6f68641633e4d3325299816d3bb0a1149cd130b190
13606 ELSAUSDT Sep 9
9fa0ed632c208b5ff71ec4936e3315ed48f4837a7a0b236115c0c33f8a7cecca
13607 ELSAUSDT Sep 9
9cca7601e1cc7cacb7cace65559a3fc3002fa4cdf67483f9a9ed739b909a0171
13608 ZILUSDT Sep 9
0e7b56f7b79e527a4c600cf0c4c1a21fa6ff8cc50b702436819b1951d8e4ddbf
13609 SOLVUSDT Sep 9
8da65d096c03e45626185a4e8d204fd821b5bfdaed107f89c89e2652d017b209
13610 SOPHUSDT Sep 9
13579671490603589bd3e47b0d726443d7116d77299784b8cc9ff01283d1aa96
13611 SOPHUSDT Sep 9
61d4a94a5ea3dd6cdf6d0c9b46bb14c18a823cf604da6d2693eec9c9b5655439
13612 MITOUSDT Sep 9
df091c19cecad5137375771506648b476696da26b1dbeab2afb4764aafc515e2
13613 TAKEUSDT Sep 8
b52c2ab7f2f57db3f524241daad858646080a5ca078c042b6d5a101e67f04e6d
13614 MITOUSDT Sep 8
a3b32f8d24e2c0463be772df602fbd73d8876c36b9620ddd9d637cf698e11097
13615 ZESTUSDT Sep 8
3975b57fc89398e4eedfa97dc3f92dca29156613c067d8cb536a5d81c90413ac
13616 ZESTUSDT Sep 8
c1f9fd3cfdcbdf994e4a5300b763d65116c665611a41d3d30b64350d99681e04
13617 ZESTUSDT Sep 8
01ccd1258e80d08125bc41cf6bafd7ccb7cc36c0db1ee643c30b47af16572074
13618 COLLECTUSDT Sep 8
005bb787eecfa0185a9fa8a4893ce560bca44b1a6c9fa4ab6d7f6d2e933921d9
13619 ROBOUSDT Sep 8
89eb2ec89a8a2a996036ba03ad01901c4ed87761b45a4564bd68a18f6cbe104d
13620 GPSUSDT Sep 8
f0974a495ee043d076a10642178425c65c1889b66a940cde189db684305b6ffb
13621 AIOUSDT Sep 8
10804a54ed1299a6a78d993e91a4464114c8480f02bda050dcb4a328b647b338
13622 ACUUSDT Sep 8
76e9066071de4c0dceff3465c29761458922b8ae816688a2f06852df145779d2
13623 BLUAIUSDT Sep 8
90dfd42973fa2f271adc99f3d4192e2e040c5bae21039a4525fc5229da79b0fc
13624 XNYUSDT Sep 8
d804f0d007aa762ed18fd8a3646d878a6bea63d8145fe62496723bbdd3dfc97e
13625 B2USDT Sep 8
ffac0e91bc79fb83fdbb24aba3e2e4db0488cab65a6fc25d5d467984548af190
13626 B2USDT Sep 8
cce9799642b544575a4c70007b7a54c0a64d353f9bcdc788ede5350db0dbdbed
13627 AGTUSDT Sep 8
5594dc13799b6a154beb6d879ac34a009e4791ac48f51140cf6c7bda9b2ebd79
13628 ACUUSDT Sep 8
df56f29c2722fb5d5a4bd62b83206d32d9c1c6a72c5c7c52e642906e014290ad
13629 VELVETUSDT Sep 8
0585eaf7d98e4f4baeb86f2f677c4495a04a33f93787b0a3f52164a9313535a5
13630 JCTUSDT Sep 8
cbf6f4a8565c7ea124319299da6b973f8f3a2ed7617542109b3d24e0382731b2
13631 VELVETUSDT Sep 8
19be78cb6fd212941ba937e01f7cc06b1fee2d97ed9639a59a1a3681d50d1d59
13632 ACUUSDT Sep 8
71ac55dee057e44b2b23867c467c5b01497d31e45f48f96bd4bdfef99e35609e
13633 XPINUSDT Sep 8
29b66b0ebb4ae6217c789e07f0fed81b6d634a33c46e1e2340b8b4b10ebd96e5
13634 AGTUSDT Sep 8
91ee24aeb4aaef1590482d6413443df1f9af0d9fac83c59d869370384377d093
13635 AKEUSDT Sep 8
d2b47bdedffee0bf0f8d188757af32d82f593bbaedeb2d0d1a0fb54b4b098d61
13636 AKEUSDT Sep 8
1edd00ccfd54963ce3a9d8b53d457c9f834b9a0dffb7903060847a932c234cdb
13637 AKEUSDT Sep 8
0192fedd1167ddf7644b5d15d28e5dee4e9998bd003e0ff1cf4bc89ab0bd20e8
13638 WENUSDT Sep 8
9980ade08559b3a148873eb03b1ec26ceb8613d91568f19d1808fb2a1acd3a38
13639 DOGSUSDT Sep 8
fb3ec743134348bc91821699061ff9c32ce522f3f999bc0e114de2a6aefd738f
13640 COLLECTUSDT Sep 8
cbb869f4d2294650b294f238a60a0db97882b1a62901aef8dbf89fe0dc098de0
13641 COLLECTUSDT Sep 8
90e45c08018b67b64a34642ffd5601b759aee9034ff63620d6b402881aac626d
13642 CYSUSDT Sep 8
6d257308d29cd490df095ef7282470800190b181e06f4d1c63821ac5222be4a5
13643 VVVUSDT Sep 8
2b196c378ce211073369357688c7954279e86ce43a4b526b17dd2916640a5397
13644 FFUSDT Sep 8
4ad131ae80df0ac9a261a347a077a1b8cb1c80f165634357076577fe461b4b88
13645 APRUSDT Sep 8
7b7019de970e57aa490db9f6db7b64a1146a5df74f19495986ae70802d45565d
13646 ATUSDT Sep 8
26df8049adc8ae788c6b1649ce5c6581867a039250bea8db1acfe55f4f6c15f8
13647 ATUSDT Sep 8
b1aede98f569cf1d7176cec9c819153fca3d8abee59ffbf1a85c469bcc5e2627
13648 AIOUSDT Sep 8
68765992e6e420470340e52b7c93db9a3db8ae08be1c67d96e03b9805912234c
13649 WENUSDT Sep 8
6d0a27ef05cf767c2ba8335fad2c6a4ccaacf1d66514f87db15ed827d1924861
13650 BNCUSDT Sep 8
1a1dacbd5572391cbdd2c9cd2d921da4f99d8f7324f4e0617aa668bec259eb6d
13651 VVVUSDT Sep 8
5eff5b1f8ec6eae4c6390e288e8d5324170de7adb7bcb6e99204a1573fa06f31
13652 VVVUSDT Sep 8
7970d20a34e3f46a84ecedaa13e60b715400a085402823169382e2e0b49c1737
13653 ROBOUSDT Sep 8
5cf60b1bbca6c79a206489ae7a4fd782e21e7d90b663cfa30fbff78909b6662f
13654 CATIUSDT Sep 8
8285b0321cc4655d3ad6b172ad153f69d300d21cdfb65b153c13dc7b156dd424
13655 SIGNUSDT Sep 8
bdc84e0144f21bc1bcb52020ce77d95d5c3c063ba2b5962aac2401e94d7ac4e9
13656 ROBOUSDT Sep 8
24d0263dcfb7496c720021c9c975bdc65326627aa956d874c929e2b1d4c351b4
13657 CATIUSDT Sep 8
3614c82b7912720d25a5ef85b6c957a1cfd4b08eba21210153d181a3ebcc3d86
13658 TNSRUSDT Sep 8
ae901e0715407be3aac9dfa406d0b9533e4051d4b45f8e492dbce3660e6639b2
13659 ETHWUSDT Sep 8
cb107cb12349bcfbbc3be8b306b6d07fd4a6f3846063d8323d31426ff39bbf41
13660 MEWUSDT Sep 8
77cd81aabc5e311dffa8b084d3e7806ddcee6d0dfc07d24055646d0ded4f7cd7
13661 GOATUSDT Sep 8
5785f67ce2daa7d08aada7e546f0e556418c65c4f096f869d6dfd5c14ddc8388
13662 TRBUSDT Sep 8
717903bd5b935481092a879affdc93be11d075c4e80d37fb281f151142accc7a
13663 TACUSDT Sep 8
f1b5387a86bea869de076182cf54072f37e8cb742f604f3f33fbee41cff9ebdd
13664 STARUSDT Sep 8
25f724906c2b641fd7e947a12d8493fd4a278b4e49a01a2556537234fca67f50
13665 FFUSDT Sep 8
59b935a1ce384ff88860be5f9b9ff9256251b144cdd99bb7ae42962a506fd35f
13666 SAPIENUSDT Sep 8
74631d50f713777cc3ae1204ef36e090e6463cb7d7769cb67db18e263e73f060
13667 SAPIENUSDT Sep 8
3e4cfcbe149bffeae0eb2501bf79fbba4d7be0cdd78db3ffb54113ad479b12c6
13668 FLOCKUSDT Sep 8
be41b7ee3f1eb62a58a54a0cb0517ccc621b16338961b5d57dace110dfb7dd7e
13669 STARUSDT Sep 8
f7c87535b48cdbf0067eb88a289e39706188984c86c2bfa4f85a48e714d31d28
13670 STARUSDT Sep 8
bc286e639861c7ad98f4cc9b767d63d006aa4d9eaa3352672e4a15f2927a45a9
13671 STARUSDT Sep 8
63eddaf21738b964a65cfbe672550ed857505b80d5a461068e541889c789b00f
13672 GUSDT Sep 8
85a340b222c13827d3bd1e7deaee6c050da9cf20d8e1b38d8b67cfc578d28a1f
13673 GWEIUSDT Sep 8
dddcc0fb0cc4a9a767980612c1e8494ce6b6d26780140c645862e0112f3b57cb
13674 JCTUSDT Sep 8
aed93e73542f057ea108d2cb300b9e9392ee1e57b6107e8f76b1653a3175894a
13675 JCTUSDT Sep 8
083469ac6b8344294003a41f4d9c5ec7c0473226981353861611b9423be2589d
13676 GWEIUSDT Sep 8
0054db54c74ea276b703792212e340fd5ee9fd726f284415339953a3cb4f1876
13677 GWEIUSDT Sep 8
2ae430725491942968082459d2a125632e64e6800be6d9c999a07e42328d791c
13678 GWEIUSDT Sep 8
29982540a5736fb19fe906d091c0f31dfa4f0be787818da09d26bba15a06a1c5
13679 ZRXUSDT Sep 8
892225d67da010f6a74a6ff170902f04917ff9033f3dbb7f6e8be260929bc50b
13680 FFUSDT Sep 8
bea2b9a4a49628ec54352f2f0aa8bf105f7d5054094b1bb7b09588e37e215b2f
13681 FFUSDT Sep 8
45aaacdd41f53a47c30ac15ae3ca49c4cc1446c6eb2127b42e7ab9e17e5b55cd
13682 STARUSDT Sep 8
2f835370d808794d73097fbd0c4749ed1ec0976ff3046a762ba6b3e55e9186e9
13683 FFUSDT Sep 8
44299522f643bd179e0bf38619ffc2298e1e34e96599e3d48e5b52451930e935
13684 FFUSDT Sep 8
a9b98084415009901bcbcf18afa2678dea8a18905c43b196d45e2f4868502e03
13685 FFUSDT Sep 8
08af215dcc6dc20819dced211fd17f4785d10025c76ca91558f00e899e5268fe
13686 STARUSDT Sep 8
f9b82dd114ecbb5ad62787bc10f75e77686e2c232365154e06f5337acbe9026c
13687 CYSUSDT Sep 8
d2d03225f69ed6dde3e8b46e84c1fc1c9044e58da84095a4317b073cccf2bb99
13688 ONUSDT Sep 8
6a2aaafb83baac00e09b0c31f1ce1eaed1863f134f967553b0d8e98654ece6df
13689 ONUSDT Sep 8
f6db3a64166117793e7cffb16fc74c7d74b2fc5fd10a010bdcb30a4cf5249b1f
13690 STARUSDT Sep 8
918c0bf53fd39328c7ff96a8ec3c5b3df31747bcb30ec282d6e1ed06d9e2498d
13691 SOPHUSDT Sep 8
8fb34a9f73f92260c10cd86b04268917159b23e5b973915d449b251ca5e0ae43
13692 ACUUSDT Sep 8
76e869aeae05920ce63abef2d31ddd9d10481d2dd892b663efab6e3b8a8c3b0c
13693 HAEDALUSDT Sep 8
55cfb93449322b6f64fbdb4e36985c4bbc74d152675ba26f4d95238d3dab900c
13694 BNCUSDT Sep 8
1c5f19cda9fc43ad6e0f8ba3e816f4fb81d931d2eb3c9c34c0b620648e0592ea
13695 BTRUSDT Sep 8
f0a217161b0b3e70058d2e99d37de06a98206bf8cc786544bdb1e25f807ff6e1
13696 BTRUSDT Sep 8
9b3715a237667ec788f80706ed75e596e1d386f5bbc0aa28c0f4c330c66a76fc
13697 BROCCOLIF3BUSDT Sep 8
a34bd242ce3c219377f10eec07c9cde6694259c3f880eb1f6b36b93c42ee6fd1
13698 BNCUSDT Sep 8
0ad46b0eab7511388aff1deea1038d23497f8b67bf5b6a18914ec59aeaa82a2f
13699 BNCUSDT Sep 8
37a563b2625a7f75dc83c8cdbbb3b3f6c380125294e150ab3ce27458c80540fd

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