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

2600 BTCUSDT Aug 30
f5ade304141dfbf40ae61116d4117cfd6931254e45b67fe966941bc35d6616c6
2601 BTCUSDT Aug 28
0e328f2956382c8191a2eb98ccd39202c1d6b36c72e43fbb15bdf63b9d7bc204
2602 BTCUSDT Aug 27
530a5b113bd58ea464439c9b3889e44dcaaba7ba3beeb7e2dc93a03cfe822bf3
2603 BTCUSDT Aug 26
b68e24216c89751f6638e98dfbaaeefa079a34c7b06ec81e363adf31b52739be
2604 BTCUSDT Aug 25
12c1cb5d699ffe1b9ef0e9ab280f2aeedd9fa38c3e3acf88620986fcb14c9ccd
2605 BTCUSDT Aug 24
95b85c264fa720ab4cc032cd387a68ab091e7ee8e668cc9d8a2bab5984a96936
2606 BTCUSDT Aug 24
3bc6f9efe9a2c2bdde60c8ce08b20d4c5a106c8d323427ed1b2ee4055182f499
2607 BTCUSDT Aug 23
5e8dd069a40eb4382f4200d63914f30553e5791e9a0207b765dd9a266924cede
2608 BTCUSDT Aug 23
244fa5216b6c63212bb28ed423d4da12f9ccc6d8d01fe994935cd72b0a76a2ed
2609 BTCUSDT Aug 19
e87e309d30dcf05da1ed60b33f43d8dfcd842c7a83bfc0d183ba1b61fb1c55aa
2610 BTCUSDT Aug 17
713da4f22f9c0cbcbd0757a2b3b6377090a32cdc15b63ae1588ec0263d5b4193
2611 BTCUSDT Aug 12
d854b263af4ba21e0fbe6be098075c961376b4eddebeeee796164c6021873515
2612 BTCUSDT Aug 11
1583f39a52d1c91b51b20ec3b210e43df00b2bec9e312c98c973756011a31fbc
2613 BTCUSDT Aug 10
e543abd6d070e77b6df4808a57b59dc1055b27ec6c7eb9ec99fd06145239de4f
2614 BTCUSDT Aug 10
be6149273ad6161b6195ab66624a8c0400a314de73ce703f2a90d9730c85a0a3
2615 BTCUSDT Aug 9
e0ede9b0e92d4c0d58f1ec52a8424a7a437a4c4b9b5eed93a8e805b586476e5e
2616 BTCUSDT Aug 9
76b7cb3e9e91d91540fd17719349d3b079e1faf504a18f4e444bf74de6b4f798
2617 BTCUSDT Aug 7
9a6fcb70289e99ca0be8484ad10b02e724594f17895c24ad904344de37be3451
2618 BTCUSDT Aug 7
447002e87e5de4a352a38cf432949860e3af69bed26525fe04ebd531e65381a2
2619 BTCUSDT Aug 6
429a5144a2325e7aeafb628323b2c170f6b92fc1a660b014a01784834d538f5c
2620 BTCUSDT Aug 5
8e14098358cb63cbbc4930e171639a71d2d9ac5a340608f2117f9a840a37040d
2621 BTCUSDT Aug 3
a7e0103a9388429a1ab2464a0116122840d49158b7bf97a0c48bf729c9b6ddd6
2622 BTCUSDT Aug 3
b5a9609279c7fa446aedffeeb59c3d8052d439c3eb8b60948b14e20c2f04bd36
2623 BTCUSDT Aug 2
bc774905514f95e02942394bdb93c71d47ac5c9a9a4d2f7d5a7dce6c8269a900
2624 BTCUSDT Jul 31
9fb434e3d4ffaa5fadfb673b42644d8f87a6c0a0c4dddac4896d6f338a5058cd
2625 BTCUSDT Jul 31
15b48869cf8468f781415173913bf72390277d207c5055c3c9a382662ab5430b
2626 BTCUSDT Jul 30
3117482312fb70b8a4b8f2f75ad6a8326dc9a1a3493f67edcffde0460b6c8faf
2627 BTCUSDT Jul 29
a519d084d0f28da3e9cc469342ab17f82b4853f099c888498ebbffdd4b6b06b0
2628 BTCUSDT Jul 29
4a3ac6935f48390c3952d3aad2a8073e92d9625d321e86b0040d018c5c345d86
2629 BTCUSDT Jul 29
e4810500305c1d4d2541d9284307c8547051595f7a4456d348d68bf250a442bb
2630 BTCUSDT Jul 27
d7d11f52e38c88ede1d06f54276be9b5b592fcf73577d8626575ba5452d7544f
2631 BTCUSDT Jul 27
5ba9a012f10768c1854e171698f6271555f85f8acc67e31440f2ccd95e0cd6b5
2632 BTCUSDT Jul 26
5169b04508ac2d1761b96e20f03ac60efd33b5deb5fdbb1b2b34722d667582fd
2633 BTCUSDT Jul 26
d53dab95082ae1c049d72e79079817f88ce742be95a48a41ad773bf613e87b8a
2634 BTCUSDT Jul 23
1633535782b28273135ce4678360059a0c84e831156bca5f5b93c473426e8715
2635 BTCUSDT Jul 22
4d7531088cea85ee8c35e0558b32442ffa074ffe78b10cede5a5ffe8550f1b56
2636 BTCUSDT Jul 20
111fc7f5ebb3484618004e53c1dcef8befc0242f317972bfdb2119e380fdce26
2637 BTCUSDT Jul 20
f59c72a9d2ac6db8d28c8ace08bdc4724100849c6e0c71f790e5ef5b40a587c1
2638 BTCUSDT Jul 17
03beb662a27e060e1a83ddbabfbd18ed61a9d4b302cca7cabee1a28c9ca32ae3
2639 BTCUSDT Jul 16
11eee20f7f1752ca5a5b76a373746fde094bba191b21b42b33c49d7dbd67d03a
2640 BTCUSDT Jul 13
ec865d86407716ec1400c00153f44ccafb26399e982cf9231ce7d1dd3a3f7571
2641 BTCUSDT Jul 12
268fad3b8775dbd6bab8606b1201b9dc64cf6bf85dc243ea6fb5ab83242bef6c
2642 BTCUSDT Jul 12
abb2db0f260035f0be31e682c601fb2ad9a7c6d7744e3f2e74eaed1a7944030c
2643 BTCUSDT Jul 9
592bdcb70a45350332ba14fb7757ed0afbabefc47b997ffaff7401dfbd4b170d
2644 BTCUSDT Jul 9
08e06e789db3c838f78d244c9d35eebe3a435ee18df9c976fcf94ccb0e1f1bed
2645 BTCUSDT Jul 8
ed01ec49a135dc217d9a1b1cf4fe622e137ae2aea404a5b6a2a6ac0851c2c053
2646 BTCUSDT Jul 7
37b53db57774886692bcf6bbbe5c346223b48c39f360a44179247579c7e2ebfc
2647 BTCUSDT Jul 6
8cb0056cf7e774d7a9ea44f67e22a8f51b11a15e692bb3d1e08ea8506df7be9c
2648 BTCUSDT Jul 6
d7ffb20d39d32dd1ded3d1f6580a32e3ce50b2011c40c3da0351d82eb0788053
2649 BTCUSDT Jul 6
b72069eef94fd20bc2fc7a360f5614c69c09a351a0a82e389dada6117cc03d81
2650 BTCUSDT Jul 5
a88a7bbf91aa8893305edf8130076c16d85b5f544614446e765f531067067dd5
2651 BTCUSDT Jul 1
026c5a711fa0a6ee7f093aa80c3fb9829a7ef2bad5098cb5b9e1f4ab55723c5c
2652 BTCUSDT Jun 30
d8b177d2ef7da536b1c7b798ce0ff09b2088d73127101ad80993100d28e6bf09
2653 BTCUSDT Jun 29
75950094d1cc96f61947e0646b9b7641c978344018df234c79dff560da5cbf89
2654 BTCUSDT Jun 28
0021662f402ef917536b91deeccba45728ca9ce512233f79819fe1c643119821
2655 BTCUSDT Jun 26
c4d0ca3f0185e1e2c0157a080b61da6f9c5dd1ddd825978458da80a2488337af
2656 BTCUSDT Jun 25
f044961d7350d345d92c2d6257f7e113c62cbb3bbca5b7c432f367c106c6fb08
2657 BTCUSDT Jun 25
99db186220ce919bbda8ce38027edca793e6643ef14a50de6ff55faa1f9498fb
2658 BTCUSDT Jun 24
657a94dd3601680253583171a5a34cf78ea0e420fe2970c8f4f14949bab2bde9
2659 BTCUSDT Jun 23
5f33710e260059b4e559e87a1f2975dd3b55c17fcc2b529b79c3f7058895a766
2660 BTCUSDT Jun 22
8c3db533eb8126d65b123d27df7e84938aa0e4b3d2bee8593058757d7a2331a8
2661 BTCUSDT Jun 22
3bc08956bd3817f7ea5a4f19b2b3162aae4c43cff410cae9a7e57dc28920e7e7
2662 BTCUSDT Jun 21
5ff0c34e47a7bb3df39ad3ce631c2dd8e99df07f7d6eddc63c08036095fe6082
2663 BTCUSDT Jun 11
b70c6199cb5bd5d4bf33fbad2f9c2a559501ea9d7f8b2863bcf079625f242ac0
2664 BTCUSDT Jun 10
32b0600a7153889c580b3492a94ce08e24fa4f8f8759ebd492f8f93250fab909
2665 BTCUSDT Jun 9
f8550cabd38e21bb70dbee441612f447f5937265060f225e8b7b55a553a8639a
2666 BTCUSDT Jun 9
fed267d542ca061cdaf137f15e238b2da984e6dd957f853b5e00e86d9a334772
2667 BTCUSDT Jun 9
c3be91081fa7c624026f865c8d129f059ae88ac9d4a64fa055627d4102b74b28
2668 BTCUSDT Jun 8
7846a84ebb8da1b8aebb9f16850cc4b5d7f59beb2b7589f05ffb28a2d3693bd4
2669 BTCUSDT Jun 7
371d5df3adff6ede7d4618957bfcf5e19c83b4e39e6f116ec89562d6576f7722
2670 BTCUSDT Jun 7
60ac21b518dcc4873659bec91eb89d02c1ff6633b1aed5d5f8e0850d5f43845a
2671 BTCUSDT Jun 7
0bf662a04249a84886c4a68cb6280c7799b8ad8bd6de44590fcab86c04a318eb
2672 BTCUSDT Jun 7
221dbab38ed42ea213ba3a75d0965106d4fb2783753007c8cfc3d480178eccb4
2673 BTCUSDT Jun 5
3b1594e3aa8fe4b96569ab3ed647c7e152c77883ee1b8420509d90a3a8dc7421
2674 BTCUSDT Jun 1
38d4cd1fe189c1629be354836ea85f01353169b1ce72d0d322f57f2db3eb3408
2675 BTCUSDT Jun 1
f1eb4802f2020f944b1244992c483ef2080e8b4d4e9d3e4bfd1e181ec84cca41
2676 BTCUSDT May 31
1f7c1c211f290e8d87ffd058535d71ad8d194852356f1322b7b380275ec05c88
2677 BTCUSDT May 29
0bc7e063f264b905dba81351660b91840d3ebf4ebf7d15fb1c2e966dc3acedfd
2678 BTCUSDT May 29
a2ee88885ac744922a641a7befc31bca9815ce0d01e491b2601b7d06f89e0b8a
2679 BTCUSDT May 20
5258827f03876bf6a4395d80853665ec7a3b886bb393a153735201e22b2ffa9d
2680 BTCUSDT May 19
ad4672e94d994fd3f16b2ba57da410ac06c69b0ea6b9cc606a46ec4d0638f945
2681 BTCUSDT May 17
86c7a2624f9c47b535df4ff78652e411563b689b899b539cc6b19d98467b9994
2682 BTCUSDT May 15
23008593e1f13d40e2f61392b56144f4358afb80044b25248c8bc0c280016977
2683 BTCUSDT May 13
dacf1d60b5d099f8255a19cba72dc561266edb5043f5632dab37230ea4e5cc27
2684 BTCUSDT May 13
2d2e1d4d3b58255693e2955b5f3e475c0ba9df14e9cdc4599570dee542eb54cf
2685 BTCUSDT May 12
4584d94b1d79e51e93bcf7492eb1ed0a89ab6ab9100a59f568e4f7dced57b665
2686 BTCUSDT May 11
f1ed730d191a1e1880e49ad1a250d3ae9111bcd5733f3a006e4919c153f887a9
2687 BTCUSDT May 11
f69be3aedf2e63c8b951acbf30056cfed0c903352b481eec1dd806ace82f0651
2688 BTCUSDT May 10
3c095e2ca23bd67a10ed018be2c0b7839eb879299c5d17266f014b918dc3fe2d
2689 BTCUSDT May 8
1ada5105013b5932a329780b604c59860a4a3b08e85ec7aa2db6cec1b7bcab48
2690 BTCUSDT May 7
71af3ff04d1410610c5d097718f7b7edc74a23946be3bab92a3aeafe5a3351cb
2691 BTCUSDT May 7
22dc298f642ae51f8dc876534fcff3a011d94ec7b8822f1579ddffa44dfc831d
2692 BTCUSDT May 7
11fea0080f21154f91c452b6066db97e1fa86632e00a9f39871ce0b5f743daa0
2693 BTCUSDT May 4
c8d048c65c234e3e8b572c291dfbd5cfaa6a2c34266f52baa7bded5c3d448f23
2694 BTCUSDT May 4
f95946e74fdc60b3c2ae8e5e0447b93552cdd9c3fa3a6c78778ca2c517857f0f
2695 BTCUSDT May 4
612d59ad1d4c9de2a13c543da30897d5c8abb78500b786563cbd04c18f97330f
2696 BTCUSDT May 4
1ed55d1a8ac8ace6d341305ce3c944d3fac5f3450af2bedeef3922c05f787840
2697 BTCUSDT May 3
e9d676e93ddfcde8c577b3cc1a4728dc94a49b77bc6f9fadf46cc06579fce666
2698 BTCUSDT May 1
8499b34b335f88d8d54f5a86c0ac9075a8c2bdb2ac2a26391c7eca95278bab60
2699 BTCUSDT Apr 29
8c9802a68bdbd02678ff00acadf6984e9c07798bce3e3c17bb2561efa450f896

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