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

4700 ETHUSDT Sep 21
54ff7c89cd15bd53d83b2484d0b3172a97f5f5ab50d2bb0afcf081c35a28582f
4701 BTCUSDT Sep 21
fcb26edf21411ad887fac7f32f1de438dd5bb317c0cf15db4ecd85b23b58c821
4702 LITUSDT Sep 21
e432b4b2d4a4ba6ceda82e107d407372b2083c92ed2c7e2c9ccd1bf58c2257f4
4703 PUMPUSDT Sep 21
33493d7052eddbec18915cb15c28c57ae7374ffb036551717ec196e6b242f667
4704 NEARUSDT Sep 21
47b1c7a21800884c61d952bc544563029c59637e67088dd828a356f617e40c43
4705 ZECUSDT Sep 21
921e404b771908699d3a75f538966c3910538783e6df8906b774711a9cce9af2
4706 PUMPUSDT Sep 21
42021c07307ab3286620cbe4df1fec7d5b89c2ded8ec7fed0d97d313b14a81b0
4707 BNBUSDT Sep 21
1ad74bb8dae3010ab2e974b46356d96908c8a193ca62a54ac22a6a1336501568
4708 SOLUSDT Sep 21
7f3e9886a08d4d07c5452d51f3fae80ff3641273915840828fba1c7b3bc7c990
4709 ETHUSDT Sep 21
06cdeee3357569d7cbe70eaeb05f77ec7e4b85f49e7ae83be8037774c44ea404
4710 LTCUSDT Sep 21
d5298069a8734c5742231b59ac2ef3fb00644f3ce832c11f685b0d8a713f6b5c
4711 NEARUSDT Sep 21
c805a792c6b85a5780a0ed3838aae6456d28d433b7403f7066e3142d2c0f1cc3
4712 BANKUSDT Sep 21
8113d3ff4dd07267c735a41ed294d4cc82a9420747d457a22ae94d711b45600d
4713 ENAUSDT Sep 21
dd68441d8aace7a29a456ce45e66ea8e1af1b8e27403b6e7af503902666c7412
4714 NEARUSDT Sep 20
8bfa143e3f2d46ae04c48d8f554bc81f1f02a8d3d08d00aad19be8e31154a613
4715 DOGEUSDT Sep 20
7f3d0201ed455f8956bd9633ca55fae5b4fb61b3312d07b95f7b4ac0e562547f
4716 PUMPUSDT Sep 20
c509b0384493478d9df59c647fda34c62e98f3d37d3ca9a07530da0c4eaeee06
4717 XRPUSDT Sep 20
421dced279c338ee3d0ccb978378fb5899bb1a13df59cbb40d8c9235d4b8d605
4718 ETHUSDT Sep 20
0a5e2954618f0eb4d96c13254928025afc77d9fe9dbd12b6d18ff9b2630b0d54
4719 BTCUSDT Sep 20
c755c480bda28734f4668cc664bf8ba98511682c1d2577701390a5fc9d68b92c
4720 ADAUSDT Sep 20
b226ff6d53e018a174da0d22d700c49aefd2ac3e20467a9c4b4e707be2d1a91d
4721 NEARUSDT Sep 20
31cb5f6627b3048ba3cf7328e308cf52fbfde0cd112fbf929405483698bb1c92
4722 LTCUSDT Sep 20
ed37af1fe3d625601364e740decc623522121699824bdea2470abf9f266520fb
4723 LITUSDT Sep 20
fe2c6e3e2ef7a4efb010caf95286667e51456aef4d62b370509d2886a62b8458
4724 PUMPUSDT Sep 20
280b88b93246ba5e14999c26485a4b115a6392bd3fa0eeb1862ef80f1940719e
4725 DOGEUSDT Sep 20
d0d036caf541567117b3ce3f3f309ccf5a4fbe9a517687b2da4509dcdc4f6e2f
4726 BNBUSDT Sep 20
d69462a38cc97b778da048da6f0438c844234aebccc5c601a00fbf859280d9ca
4727 XRPUSDT Sep 20
c4f8213ebfc21c0acd44512e33e554930c4b406ae2cb1a41cd63d41efbc740b6
4728 SOLUSDT Sep 20
84a0d5c885c61c11b2fafd63c3a8c2c2e76366ec2f1aa0fc6145a3d0e806b659
4729 ENAUSDT Sep 20
2f24a20ed986b53438bd8e6165fde0fc2a644f7f9a5accecad8e8ec72da84cec
4730 ETHUSDT Sep 20
ed073046df7d6bbabd09fdceae1786fb794524edc0f4f7e5114f1206e41b494c
4731 BTCUSDT Sep 20
29f8cd1759096aef996d39f6c3a2b685a411177b3f4074a0967bdaf3a5217725
4732 INJUSDT Sep 20
8b36b15e359b2b179998ccba192c29687904151de9c24d47972e8deddcb0cb57
4733 DGAIUSDT Sep 20
5a89ef52b42613f656cba7501e1c0e12ae6793a483b26f3ea64878c284f855a4
4734 LITUSDT Sep 20
eea9b5f275338402ff5c6f1b57ee6db996e2dfed5f49f3f1f5cd1bfab2b5e7a1
4735 DOGEUSDT Sep 20
b31df81d27b9feea51c7bee0ac70798f9895ecd1120b9a327fb723b731a9ff7f
4736 XRPUSDT Sep 20
65cc47ecd6bf629d61e978bddf24691e4d5940fcc6ac7674b83e7f1bba626a26
4737 INJUSDT Sep 20
be9e3abc759df076dc14fe1b171f5e4514057583ea3f886f4ea1b466f599d4f8
4738 FILUSDT Sep 20
380ab4a7c7c3baf873b709e7dd372112d0a6f78b7061f4ac774662b679b2cc1a
4739 BANKUSDT Sep 20
dfdf38f8933f64c6775f1052ffdc9d7eac7ae95c6077c8259b22454d41d1ae46
4740 ENAUSDT Sep 20
394f248ad6a8e0911171bb091727c774be09ee030a5fa89063da024d54194952
4741 FILUSDT Sep 19
ebc3a640e3d53027aa7122982f367e77a8cd1afc16edbc371772ab5c824cb737
4742 BANKUSDT Sep 19
b1374b64e9671f812654f9a3640166169547687a577f1a0756f875090175d0af
4743 ENAUSDT Sep 19
84414d242fcb98d4a4f20f22e2ed749675038801824e542631cc62854e4c14de
4744 FILUSDT Sep 19
e4882ce18bf3f15a78c419ffad11f9b89102ba3310047e64752d8226d8c6a7f1
4745 DGAIUSDT Sep 19
25f8dc9d0719f398293e74fe7c2f329726188293a1e199602e90de5d512c3f6c
4746 DOGEUSDT Sep 19
0e39898561695770fa42c1eb932939e076711989a07e81ca75aa65e2cf364504
4747 KIIUSDT Sep 19
b0e2558d22bd4376cd1917292a7650c787ef89990ef33818b492b98e4ae362a7
4748 PUMPUSDT Sep 19
20268912e6585cef19147f5404657c060ec8062c764f2dd1c356887e175558f7
4749 DGAIUSDT Sep 19
eb2b3833fff4c306d5b55da043a993d87284a450d7ec88c726d8eef4132fccd2
4750 DOGEUSDT Sep 19
156107407abe9414d8066a3da173d2290491c8527eee7fae7288bc60d8e57078
4751 BNBUSDT Sep 19
9fe41b64fd5aa8ad754aeb73f1b8ff165e03644d2a1e2c938437f4d50234230d
4752 XRPUSDT Sep 19
1dafaa1104d75d13bd41c395d0eb4ff7803a678ee83a2e1fe47576202f0e8d43
4753 ENAUSDT Sep 19
1d1c92b628986064d7ca6b9ea5e175cf2b24f194e98695da443221c274f6fe00
4754 BTCUSDT Sep 19
c758c971c42497aa0d6476a2e926404fe311cb31d6276aad7e2724e15aa52953
4755 DGAIUSDT Sep 19
4800dba13046121c1070ad2fffd81a577e746a2510a9c2c69eb10824286d9dd8
4756 PUMPUSDT Sep 19
16ccd7d526d56019d0883e7d66f6a401be6de7f3802b5b6d74838be957e43b3e
4757 AKEUSDT Sep 19
25bfca503a6f0e73b0e83a143445b155f425191fc06fbc89acb6d9e935ed62ad
4758 LITUSDT Sep 19
9854e7b37274f25aeda8bdee5dfe894a026d8096f49f9f0a17ba428ab62ac7e5
4759 BNBUSDT Sep 19
20aad012ff0f473328cf0e3e01ff642f6b83a7e7fd446275916093fbadc75845
4760 ENAUSDT Sep 19
1437ea98e352dc6d89cfcc53772309a718c955deff0ff7026628a3921ac9b0f6
4761 ETHUSDT Sep 19
a45d5781e2ea1b61f1ceea13d3d81763fe107a63e7d9f54413349cf00ecea051
4762 AKEUSDT Sep 19
6d6943d0b57fd24906d0e622b5c7a6a545c25019aec48de408bf625f5655cbc6
4763 LITUSDT Sep 19
bb01d8ea1b4852e2e451d64701ad7456acd52a195119651445b9b9ee4f53e44e
4764 ETHUSDT Sep 19
9b970c1e2b86a1449d82a09d236972db3bb17c47ea67899bc3e5177ec6efb56d
4765 ZECUSDT Sep 19
e2b1cec8e21ab486d45323568b9203d1632b4813e48d6cfbdecbb6553c0f9924
4766 DGAIUSDT Sep 19
13b169374d03b912ed3cd44d4cc7535be52aee6b2c8c613ed943660e52ff4cca
4767 XRPUSDT Sep 19
2abf034c99942aa2f6515a70b0e697614c6ebfa610f7a51e9c97e702a8188a9f
4768 ETHUSDT Sep 19
9a009a3c50751c7f77e6726f5ba80cabf93dfea1516b5fc56678ff6d038797cb
4769 ADAUSDT Sep 19
3081bc5052d4b7185f48646297ba76832e19fa3b100b9688b4e68cd891edff77
4770 LTCUSDT Sep 19
63331ee1db079f5d2958efe31a5b6cc2f268346a39105b2d569b30ad5f7d0d59
4771 NEARUSDT Sep 19
b0b0a12be19ecf80bfe5402d735127867df2e729b789bc033757f070363011e5
4772 ZECUSDT Sep 19
2744978cdaad6bbf2e1b2032d734f7bb63fd237681af935addfafe503e92f5ed
4773 ENAUSDT Sep 19
c5f94b7f4e3dbc6bf2ba23b8b309b2241eb7ac97a2230b031cf02bdd6075f6da
4774 XRPUSDT Sep 19
679986a7dc0cc31448893c97409bfb12531d044f241095dd9ea7e9b7b952e8c5
4775 NEARUSDT Sep 19
2310503dec05179dd2cb81d3178a60adee7395e5a27fcf5e8b401468ceb2e224
4776 ADAUSDT Sep 19
cae497c09473685839d6c4cb143ab5da0f89a66f113a00ccda47dbc5d6088b11
4777 DOGEUSDT Sep 19
005f5290dcb6957d98cd12a85a3f8fd01e146217d30bb113843309774d0a7070
4778 PUMPUSDT Sep 19
ed8599ebe3623df85c58dc3d8de60306a67344ec5abdc7d084b8cdf93b4ccee1
4779 DGAIUSDT Sep 19
d58dcd43388409ebbdec512e5e7e4dfc1dfee8887d7110cee214a3975d8ef53c
4780 BNBUSDT Sep 19
657601b3eeb63f6a7f0009c139cab7e7d50748b5a531d4fea8ad50e8b409c54f
4781 ENAUSDT Sep 19
a9617066a4f975c1b50402e90358863bb5161c955466832e2efaf602b2ba5f9e
4782 XRPUSDT Sep 19
b5a09526c9fa651975fd3e8ebd1b6721a2892c09cd2c01f0e6af58a4910cabd3
4783 SOLUSDT Sep 19
18332fee6709bd8fe6d50ba50912542af1d06d3944dc2a6893dd075a1e32da57
4784 ETHUSDT Sep 19
7079fa7e922c89c97718febc6d546164aae7da86385f3f23443e49e056863ebf
4785 BTCUSDT Sep 19
49b68e62754ff65739ab07afdcdd5341b2a68e5f12d69b3e450ab66778727507
4786 ETHFIUSDT Sep 18
2e1880b4cf76333edc2ff6190849ea17ec0f1c1ebbe1e5a870139fbecd32325c
4787 NEARUSDT Sep 18
ef6fb62e26952d6e02536f031eb787171e31df02b57abe8fe1415a2bd95f95e9
4788 DOGEUSDT Sep 18
3f6c028183fde430d0c637883842ee82ca27a1ec786f6cb7f65d350adc2b0044
4789 PUMPUSDT Sep 18
f3178c9496c95102027ff45f0a2775a8625bd0026cf9174d4e38abdc43ed17b2
4790 DGAIUSDT Sep 18
57618487dfe83f783262f9d75f9574605c886dd45bc16c8313c2dbd5a8f33e9e
4791 BNBUSDT Sep 18
3c93581fab3621b6228fe09d5c2322562d074080794435e11fa9473f170384ae
4792 XRPUSDT Sep 18
b4915a9bf11830444ecd950aa0e5deffe496cfa74d3550221e6712886871c598
4793 SOLUSDT Sep 18
0531bf94fc77cce9b1fc1ebc5e60fbf98958b4d01619a15f2b755addac3d324c
4794 ETHUSDT Sep 18
7c7a4025d6763eb3a28f9892ccaca4616dcf886104621c266bddb9f8d0de326d
4795 BTCUSDT Sep 18
a0c543562b12c44db97b8a1fb8330893ceafe9d49c3095711a286c19a28ed9f2
4796 ETHFIUSDT Sep 18
1bfeb5d4f9a55067359b1501a3f889bcd19fdbe07799f0350daff781c0a11e0e
4797 NEARUSDT Sep 18
7006aeed419b856d76d25752bc6d084b55fb012b95d4455add74a769e7b10bd4
4798 BTCUSDT Sep 18
a03a0d150139ed13876fbac030857e3457b7fe965e39a62a6249cf66565d4c25
4799 DOGEUSDT Sep 18
8690d6aa9bd02e1c5cae5e4479211195f696191eac7af2675dbd7d59ac31ba34

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