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

2800 BTCUSDT Jan 5
67a3178e872fc69be8197596fab7d0a664dbfe228038c8771f831874ed1df56e
2801 BTCUSDT Jan 5
48afa174b8f32887db64c06389216ef46721ecde213682e29393854c3eda639c
2802 BTCUSDT Jan 1
9a517f50a39aaa808ba5122f36309a310d3b4754bd0703867960e5f49da9b498
2803 BTCUSDT Jan 1
311cd12b7970d23d6655ce64aaa166cc5d4f25c24921f659ac2577adc96057ad
2804 BTCUSDT Dec 31
596370c5b42574e83d1a04234ecec143350ddc0a75cf36855a6b1d3c8f18bbdc
2805 BTCUSDT Dec 31
2024f3b10eef758bf127b6cb3b1d0013e65074f1b9de37a15d2613637e038595
2806 BTCUSDT Dec 31
c8fa432487c69886da8118da4dbfdad20bfef068dadcdabe3b71ab44a9ca026e
2807 BTCUSDT Dec 31
78ad5c7a56e63879cbdbef65103f9b1dfd15e2fb3189150770e8039a35bc7b40
2808 BTCUSDT Dec 29
186ace5b64591f481ce44711070102ccc681fbab2b32eec8560a3b1f555a5caf
2809 BTCUSDT Dec 29
beed65b9f663a32b8482986ef8675b3e6556bed328376bacc85a252250df2fcd
2810 BTCUSDT Dec 29
c3559869926d546120dd81d58627162a834fb69b4d5a98d0fd9ea40a723bde10
2811 BTCUSDT Dec 29
ae73d014a0f5b3ad2c1c11b3611cc877915d4b4e3e37ea3aeed6d0d5b77c573c
2812 BTCUSDT Dec 28
c6bec6320e0a947bc5ff209644f5796fd5bc5058ef5c42e507ad40539aedf9cf
2813 BTCUSDT Dec 28
f67b91c6cc1e03109f668c8f4ab2b78a4420d3e35d4b96422542470386f0a7f7
2814 BTCUSDT Dec 28
5f1322a45fc08927c3387ad13bbc96f30e8d8014242d4e2fcafeb11d89c2b3bc
2815 BTCUSDT Dec 28
681629d47a03a7172a183653b3d776417a9666238ff8565499739acfe9d0ba7d
2816 BTCUSDT Dec 24
ba8c8b2a291d6be830661892e01c5ba70414c47d99807d29fbe2a2e8358d4efb
2817 BTCUSDT Dec 24
03d748fb29da0c9fe4e7cede13db775e1d9a66747146f67d4287aee2680f571d
2818 BTCUSDT Dec 24
b3573690d7d1885227ba60f3c2572e417c2d19d2eb6c2d1aeb34e1e1f6ae0197
2819 BTCUSDT Dec 21
754a7ed5ed111fdf69c493127887005e814abf76897da402eb05dadadc446895
2820 BTCUSDT Dec 21
f7da5f9187cc8d3ce96f145266a899118645471d858f0e4d6c9b7c5c2a53178d
2821 BTCUSDT Dec 21
a6511a4fa888070ef5facdbde2fefd0c4682c29e9d896d21de5f31a5bead0085
2822 BTCUSDT Dec 21
10e12ebdba29adce1917939239845d7fc085777392797f29648c9cdb187f05fa
2823 BTCUSDT Dec 19
9d1312c483850fca9130b1e004ebb2d75ab1544c2bfeba0d82025b6db67f0085
2824 BTCUSDT Dec 19
925b213f51944d5d93c1103c631533c9c42c6184488719ca1fe1975b6fa709e7
2825 BTCUSDT Dec 19
d898c8a6a619e6c77999fb06849f10ad09a09079556832ed3509ad7f371e2545
2826 BTCUSDT Dec 19
a3c96fd5625b976421a197862e846c08baa81f1d5a579c27d0c4e18d4e3ad70f
2827 BTCUSDT Dec 18
4fc44ffa03c03a1c1d4174182297199d6f196c37ad48a7b1d81f22814047d0aa
2828 BTCUSDT Dec 18
c1e884dea8e48b1114a09d124887bfa490db5c46730c02d78ee782f2626977e4
2829 BTCUSDT Dec 18
c0755b7a6d71ad8e949f9b90d481a73205de245f0a62756960f6b5cb7ff410de
2830 BTCUSDT Dec 18
2460ef9343223cee75f229da38a283f9f93b3f88af938c0390808a7dd22b5e00
2831 BTCUSDT Dec 17
bcc341a0447af1b72ea152e7ec370ec4a1257c068c88428b0dd5495d5a9058cd
2832 BTCUSDT Dec 17
fb6a82480a39dc01657d81193df20755e9a3bc38a5d7f13f02e88847c4a06d24
2833 BTCUSDT Dec 15
290fb908de6461f19698e43b9d28e2c2a8978b4974a28bc0fadb4c99cd94ef07
2834 BTCUSDT Dec 15
92bdb1fa8ce648823b18b6afba336e7399efe7b9e047c75b5553761b171f9b45
2835 BTCUSDT Dec 12
d8618a4f4bea8d7d931e4182d8ecb23378fb180c4b813811cf1e4e0e40791389
2836 BTCUSDT Dec 12
d2e3c8789e95aaf6237a5af348de9e277c307ee17cc53fc74aa2dbf2dd548fd6
2837 BTCUSDT Dec 10
a51ec9c0b6432d70f5e89d253e62fe2e0a5f8aadf71069d882965c14fc6d23d7
2838 BTCUSDT Dec 10
e2b52494000f7e7e154eeb8c276b92eab2c75d3a16d1292934893e989d732c7f
2839 BTCUSDT Dec 10
b63a0f9b70996c206da59e8c54a4d3c2bb5ea0545443ef208956dcc210a606ed
2840 BTCUSDT Dec 10
ea808fa3a26d94b762082944ea907a994bef3e58e638ea9ac2c80f05ad0fa7be
2841 BTCUSDT Dec 9
20dcc1ebf2059f25c5410f4e394a422a590b4f5c1e2e488dde0c3b11c49c72c0
2842 BTCUSDT Dec 9
cbb1f5e38716c56156e2243477b7e461df0aa267daccb03f4e55152e1e68e0f9
2843 BTCUSDT Dec 9
849b7b7c468ba42c1fce7046e10902445b36a483dd443cc11f897b954d610e8e
2844 BTCUSDT Dec 9
1c83aea9f77d8c06607602a881e1e6c53b1d0422aa6959b74a0b8b6f2253a03f
2845 BTCUSDT Dec 8
5bfc538f4f152b3c420986e7860955f71d28a17ef08d568d603812503c34a5c4
2846 BTCUSDT Dec 8
ee93191953a2de6bd77b4828cbb26a218e133f6a8ed48bee88297b2f0f47aa7a
2847 BTCUSDT Dec 7
ff03d6674be38d0ffbc6dabed2c4bbb1fbb37e825b706e902170312410097ba0
2848 BTCUSDT Dec 7
7fce43734137b3d94689ac8e65e44068851aeabcaf8f89aa9a75f8eb7ba3a9d1
2849 BTCUSDT Dec 7
ce06164519c6f563d5a2943d43c3214d1a15b5706918314f0388ad4732aada3b
2850 BTCUSDT Dec 7
d830c128d559f3f06b4a4e4c25aa421d7740b1c6ec37738c46bee684bea484aa
2851 BTCUSDT Dec 5
2fce4b0af6b571043821a260de46dd2a84ce8b6aa95de1afcad2525a9a754477
2852 BTCUSDT Dec 5
8b9fe4053b4addbb825fc7f8b1dc16090fc74b42593197c544806c18c1363a61
2853 BTCUSDT Dec 4
fe71478698176783b2e3da619486ae4a558601aab402d9e9cbc5c07bcb5e98ab
2854 BTCUSDT Dec 4
90459a4ccd4036c66b746a76c97cf882165575cf6a9d16ccdd0dee4e491fb012
2855 BTCUSDT Dec 4
d4c3ea19128eedc06992ad9a199ed94c5c815de23ecb3075228dd7bdbd666633
2856 BTCUSDT Dec 2
45806bfd646c1a7b3d44844174107eb96cc843fefd02af26ba62b43474f01680
2857 BTCUSDT Dec 2
dfa5a29f9f045d213e7dba71c3b092ad4c3c7c8d46b2e43c926082548a03c767
2858 BTCUSDT Dec 1
ddb665d27704b5973cfb1ee96ddec7b83f6fcf1a83b6643e8646335d0338bae0
2859 BTCUSDT Nov 30
c8a6ba354cc923e843de097c1e2310fe48f249031926cd909294ffd98319fa67
2860 BTCUSDT Nov 30
00b7a04ce54a5aad05df10280343846c0993518f748f06ccb81703b1bcd50aae
2861 BTCUSDT Nov 30
7546a406efde3982e200d182c51505d877b277ba7abfb38e9b6ec9ea98cb63ce
2862 BTCUSDT Nov 30
b2e611e8ceb2c5b5517093c6a6fc6d9fccea2cf567f05ec5bebd2e9eb9fdbc46
2863 BTCUSDT Nov 30
a41621938cafa1ccf7fe1bf9dc2facb391eb4819c08d6b654afa0443e7b9f5a7
2864 BTCUSDT Nov 28
486a38986b5e646847829f88a3c6315c44dc39f87707a7ee5d3acbf6218416e3
2865 BTCUSDT Nov 28
912d5ec56f2706e0d1278cd90e834a433e17a11386479697e2c8b7fe584e5280
2866 BTCUSDT Nov 28
ec09a1a9da8b7ab03fb635bc23922d602b964cdca8e1e27cada3752f33e1f34b
2867 BTCUSDT Nov 28
51e53d43ee741ed4eea4df2d857d7910a8c40dcd1199bde86288a5359ca4b91d
2868 BTCUSDT Nov 26
65297bd0522381a82b0c2b8616b6a496a1cdfc9ac8ea7d04d257dcf0dc4c1044
2869 BTCUSDT Nov 26
8e79717a3dc69fb5fdd0247aea4f24ba277186a8dd984aadc6e6abda2060e420
2870 BTCUSDT Nov 26
9f5d888d5829cfc6f554d1ba9f9f11fb9e3b6cd8beedc6307e28131bd2752215
2871 BTCUSDT Nov 26
724b0c43870e1111e2d69dfeb36cbd41153214d1b1e896b31ac0a5ce21e7e25e
2872 BTCUSDT Nov 26
fc23e7a5237042b54d992048891252c47476e29b57fe8cf17c3c83eab6ed948b
2873 BTCUSDT Nov 26
ddd54fc4413983e522651c1959e547fe55e1af615d1ce2132a756be3e32c04c3
2874 BTCUSDT Nov 25
b625cd730d5e7ebcdf2fcffe76cf0ed70eb6b662f558a3c34b2bdc8f9f49eeb1
2875 BTCUSDT Nov 25
daaf499eb559e82160329abc55fec6668c8d4683cd4a10e0a85b2214730ec329
2876 BTCUSDT Nov 25
61003e6142981943de5adba29e8376ea893d77e0a93f4f3d91b2555bac51188a
2877 BTCUSDT Nov 25
075200497b0a4a8387b3313202e8c46c13e3a5766e36192b33f41bae1719c909
2878 BTCUSDT Nov 24
2880e91e015419004f85d8ab4f397d52c2b13b664f52909a4dab61f8224d8c0c
2879 BTCUSDT Nov 23
6f8e7d6df785e4485f3438d14e7e906abfa6b9f7a5aa7f3590a32e9f1b69ddae
2880 BTCUSDT Nov 23
746482c2a3efb77b6d59b9b0afb9ad0cb7f49e7ca39bb01733cc59f83c7def85
2881 BTCUSDT Nov 20
8340854b433bc8b6120cd3137bc12ec687bdc9c9944b485fff6fdcf0170d2cfb
2882 BTCUSDT Nov 20
2dee28063d565b61f85ce8c0a8a73c684831533b43786189f7dbd1a829541e8e
2883 BTCUSDT Nov 7
f50626d16e0cd5dd1f69814c34a3a0a18c269d7f81e6f06d6c591d42e51e239f
2884 BTCUSDT Nov 6
1cf45ac174668a396b20bfa2960306013d5ff51c93dc6d08bb7c95a699297980
2885 BTCUSDT Nov 6
00797ce450dcbf66a941ce1ef5b1b7466a103884991dd21a645af6aac70ec8c7
2886 BTCUSDT Nov 5
27a95dd99a72da4f3dfb6ae78e9e1a438519514c52bb098bd0015390f9fa37b2
2887 BTCUSDT Nov 5
4ad0b23db5f112feb085c93985ad4d09582c939544d76867255fa9ffdf8e60e6
2888 BTCUSDT Nov 3
3b7577b342ab2ea1beb75d72ecb2ffb403cb632930e4f15c35788bad5fe02c7a
2889 BTCUSDT Nov 3
5f06a1d94aa0e3d08cba959ff527ec4481124c06b71a45a33057d92d4ea90216
2890 BTCUSDT Nov 2
d7248ae43dcdcb32263ef981f0e2fafce60ada058d5a637e743c53977eb22001
2891 BTCUSDT Nov 2
3e6373d3bd549a9a3a39cd938e90e2b57214117c505ca6ee4caf9908d9f79cfa
2892 BTCUSDT Nov 2
cad623bddb1df811585f063cb131ce8c60a398ef5922c8d904834dd45e953203
2893 BTCUSDT Oct 24
f99ccc67f3947c9c6cd4c18c5148b625dc9f140ba28fdf4dcc246f7aeb54999a
2894 BTCUSDT Oct 24
5041062fb1ab252d81be301124588e7ad15af6703564409b350f6b8caad37e0f
2895 BTCUSDT Oct 24
50da9375d3d737343706538c959070b5d2aa4e554b7a516a11baef4f700100ae
2896 BTCUSDT Oct 24
8cabe972a4fa158db8a7af98c367a0fc11b2cc145d53e6eb2c34e3fb29a862f2
2897 BTCUSDT Oct 24
39e619f16a78a3ce1ce7ae7d254e176e09568208f2b2271297e49776ab01be60
2898 BTCUSDT Oct 23
3a6398d9a9d6cf2c45f5846f6b766ac8351e02598e277340dae15b3e8c3d6530
2899 BTCUSDT Oct 23
d24fdc476a68ba438d4d17b5f32acba4acbb07c3197a29dc74b4b60684b10549

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