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

14800 FETUSDT Aug 31
1b04943638f8b9cf22d9c1c35479f2a2799b9a48afa335d783ce38d9b2731e6d
14801 QNTUSDT Aug 31
c5cb8029738e88431bc7973294b7422086220db6f3bcbb5ff65ede669c262090
14802 APTUSDT Aug 31
ebb7c7dc5e5c5c6567946a016f7fa74de8b116f15b2f5f6d2d257539df0627e7
14803 POLUSDT Aug 31
12f56aa40e12104b7c7e1e380aabb9414549d4fbbc6180241e2a59d690bb7f91
14804 ADAUSDT Aug 31
70625ea32a0c2b6596ccf72b0612bbff1defef600bc1a06d0d0423c3aed544b5
14805 XRPUSDT Aug 31
a38805c1821b950ce0c536bb0f3b77a65012087f456d96079488371bd7151301
14806 SOLUSDT Aug 31
166381b7f10f0cc8701d1e10c00c429b9df29291ff75140112b7749c25dcf3db
14807 APTUSDT Aug 31
a4c984bfb4c9b26dc0eccbe58e83a9e8b58b2cf3311dce83ebdc40d4a1b2fdc4
14808 TIAUSDT Aug 30
83e09516665c04fecb7ee361b47c9d24f510debc0bf2d637a917eb64c7a38306
14809 NEARUSDT Aug 30
faf34c588aa8934481f90a2afd18a234d3c5a1391b2b380d42de2b4fb738312e
14810 XLMUSDT Aug 30
86e7e81120579269455d229fb32625e6173330fbdc54c6a15823ecd07048520b
14811 POLUSDT Aug 30
cbbb601fca9e173ea8e69ef57f8e085a4be841841733bc436f648d80e32e1553
14812 ADAUSDT Aug 30
24d610bd2c7919d000d33107d1a4313816700f528eb7da018c242f11773d226d
14813 GRTUSDT Aug 30
5074bb20de399bfe5c4ee135d91056f783fc027db8b71d6ef568c47b4e8b6ea3
14814 OPUSDT Aug 30
4de817f040b4c5b0f7cdd1fffe7779a9abfd32efe172db6449bd40407af99d67
14815 ADAUSDT Aug 30
69407747a626c2d70471356c1d60591a8d6c248bfe477d1fdbfb5a1af9093213
14816 BNBUSDT Aug 30
7c9eb67141cd8c4565e24019cb0dc60428b81208778439228fdca726479bb0b7
14817 BTCUSDT Aug 30
698f5beea97b6a1fe602f7004450209ec1381b91a0fc1663c2ddd20b9206a2ae
14818 TRXUSDT Aug 30
1f216d71bf25a55ad539f0e40c7111e7e381776b01a7c276e1d1f60e1067c477
14819 TIAUSDT Aug 30
3a14c0030671ab2be019a8666589f6cfbc4e5baf8e50d406cb24025c8eeee0e5
14820 QNTUSDT Aug 30
2b6e6a73d225f7c3bb9a9b67c2703cf36d9cdf60a43015336f7831026432f1ac
14821 INJUSDT Aug 30
bcf1c09741459db1ec6afee8173f1e1c959d38d0e7500239954c64b047a83f33
14822 FILUSDT Aug 29
9247eb00026ddf6205dd99deee13ed7550256b68efa6f5667e19243d64f8bc4f
14823 PEPEUSDT Aug 29
72f9212cfe91469aab2345a76bc25ae4394f239fe77e635beacf84bbb3eb40d0
14824 APTUSDT Aug 29
a383634c33d6fa871c01e508a162462789b50b1df44aef14d5451950df8b8610
14825 NEARUSDT Aug 29
23f9cbd0a991b6b75d10ca8ad98d3cfaba7f59a2e207926cd4b06e568c0ed064
14826 AVAXUSDT Aug 29
53c289b0fa837fbd6921a5c77906246d080709812baa50d9d2f8ffce0e4928a4
14827 ADAUSDT Aug 29
64e3c213416feb958be125c34715d8c329a0859ac478d17605204f0bba3bea1c
14828 BNBUSDT Aug 29
9ade238334f9ce49d1e560b0b1396513509a20acb780826acac28927a2c865fc
14829 GRTUSDT Aug 29
abd3bef147bd3de33e6e228abf905b6fc3fe27ca452f86b1675f5c8f28e7aa06
14830 ATOMUSDT Aug 29
bac8886f70f4e959c78c4f9fef642999363649c56cc18cccd40e57f01f568a91
14831 AVAXUSDT Aug 29
969c80cb990ee70e31c7eaf3fa1f9452af24b43ebd5fdaa7a4aa7319509ed556
14832 FILUSDT Aug 28
a0c51da4bd6b7491706740fdbaf005eefe846b82e243afc8b1f4d1d8cb1e15f2
14833 LINKUSDT Aug 28
4be5b5891488601fe9554504b97172faf00a545a77bf313647e78d1e87901d3e
14834 FETUSDT Aug 28
88bb52f1ac43b53b4001d004e7f646d1120e25db426c982dbeb51ded2c5785f4
14835 GRTUSDT Aug 28
316447eda52e2899023b01fa2c0e82e9d147b8b2f2b1648469bb6d5e359f109f
14836 AAVEUSDT Aug 28
47625af6643c0694a3564cbc810159067db3137bd417ce6cbb26e8a1b091c696
14837 XLMUSDT Aug 28
8a3a2c64e57fe95873d5858c851f27c62ab769367e11259a246b61ab0ba80609
14838 TRXUSDT Aug 28
4bf0214649a9d38b52f1c21dc4425ecd641a13add91b28fd64aded8bba52afc5
14839 LINKUSDT Aug 28
c73e46fbc7cd58b03835e70ee069a6c2780b7b66a5549f3f07e24bbc5477faa1
14840 XRPUSDT Aug 28
ebcfb6675089b5f2695fc66b90e9541099ba7dc2227a84d333a1f084636a484d
14841 QNTUSDT Aug 27
06716273fd0e62b1dec5f8514da954b7ce6f10f8ebe7708758a8600de832ad91
14842 PEPEUSDT Aug 27
0c290e88ea271bdcff85752f83981d6cd35576d988cacafe51b50d4810c162f4
14843 INJUSDT Aug 27
cee25b452e50d7a46a118541cca2e581f85f57acce33a46ddc18860d49e72a19
14844 LINKUSDT Aug 27
9fcc1687ab5abfe8fc398f1641e55557873286f06c486513d9884234bdb34869
14845 DOTUSDT Aug 27
b2f0ebbb7c652b2feea06b430adab8bc8d49d678cfe17d43f1d8d14203c44306
14846 BNBUSDT Aug 27
27040c68c17413674fb5a61be91c6fc6cfc7c2224ce03eb4e4c1e9a441cb3737
14847 ETHUSDT Aug 27
df7857a286554f2b6eb17754b3528e87cf453647f459d49295583ad630ba1499
14848 BTCUSDT Aug 27
3fe280cbb59c6a220fa7d1547017b70c96100c0bfcbbf598dd7f0168216cd8e3
14849 AAVEUSDT Aug 27
4a9d02ec5b6dd37930fccada71f23d3125cc07df6d3b53f4f596517f8996c4c7
14850 TIAUSDT Aug 27
11c0eea0093bc9977d8c7a8dc0d524686c17901f205808116227842971c4b471
14851 ATOMUSDT Aug 27
823262f6bf8452a8302c1fe29c1dc3607315fe26f5b12e37b37597b77b3aa6ae
14852 AVAXUSDT Aug 27
3eed21be7554b967aa6fafce6810f9a2253a8b28cf9af1af96c4ba1b442918af
14853 INJUSDT Aug 26
535f5a248ec0987a827a93c90d1a931054d7cfce6f8dce8cfa8f02c56305cb2e
14854 QNTUSDT Aug 26
53c5d454a14be4fc6d80fee6e33be59a91b5dd18b918c4a356d4e834796bcbfc
14855 AAVEUSDT Aug 26
f42c4248b95a906b9824883b9c35ee7534ec09d904be7836d569804ea5ce52bb
14856 SHIBUSDT Aug 26
4992346ba1e95915594e9a03a124350c2e9272107aae2d7da52dc09b07ca709b
14857 TIAUSDT Aug 26
fae30718726cdc29208c7e9a1ec3b6fd5351359058d8a4c00bb69a6d02c006dd
14858 BTCUSDT Aug 26
e3a804be48264bfb960e2f12123976eb47b432b0a102a1e875223761ea9f3fae
14859 APTUSDT Aug 26
30bd0e2cda9e5d0ab57ccfe58bb1e469b432485957e66c544b5b2a0ccdd6191d
14860 UNIUSDT Aug 26
3668839ab7dc04097b53fc64ccd56e60c2fcafc3e8e9b185df3a4582a239d197
14861 AAVEUSDT Aug 26
1ca3cc15bd71376c415f882313db7846ca7790bed394527d6c3fcd16ebc8ec92
14862 ADAUSDT Aug 26
3da22b5a76fbbcce158d93d64faf6986c797635ea19be37b674fb25f8291ebd9
14863 AVAXUSDT Aug 26
63ab8b6537d44cb3da0e7432a28f8cd895c27d63f6bac2ea0266e949603747a8
14864 PEPEUSDT Aug 26
7e70d9c28afa87e7387cf17b31a4cdb5c78d904969693c72a9a23009c765fe4f
14865 TIAUSDT Aug 26
3def80a15e42b6b42eca0f38699413c77e61fc84f9737226e296b2e8a97e15ba
14866 ARBUSDT Aug 26
dd7b9e32844043c1e9f7112aef93474e65be3fc1ee7443eeca2d57209f07dfe8
14867 SUIUSDT Aug 26
e38e74d92f0d98901e627a6933f9c4498b2da3a05d54ed0ffd603b2b5ca32997
14868 APTUSDT Aug 26
80c5c5f9b0dba6c382dfdfbfed3f64238d7b0ca00b6de4f9dd743f17f7481014
14869 XLMUSDT Aug 26
5cb67342182228660fe61c41eda9cba0d6e97887a3e402f9466f155f194f2f30
14870 SHIBUSDT Aug 26
81449db21c1e841e90e3eac305e3a562d8aa701b02ce4617c449141caff8d035
14871 LINKUSDT Aug 26
ec60f3037af63028e0fd8ccb58977b56f7d40efbb29ed7ba0ce72350d5b5a7bb
14872 AVAXUSDT Aug 26
9d87891357f616c61eafa6beb08e9396adef7768d1f79f46592a33f6221b2d19
14873 ADAUSDT Aug 26
5d605be7e8e47d41732138c4717bc04d09f740eabdf858ee0db1de956153e517
14874 SOLUSDT Aug 26
001601ea4b65188fb3d4a42534c1d2640486035ff8be8e7e58da337cf095d1db
14875 ETHUSDT Aug 26
9ee57796a19214ecb980c5ab8b9e800f05c83a9a8a6fd1debac95fa388df46fe
14876 FETUSDT Aug 26
5508d5e8458c69de4f3981a11096dff8e975a4dbb90331d6d2f2ba770a113d07
14877 FILUSDT Aug 26
66e5fba3d8f6749b719d001d186c3227152fed52d504c4e6ae4833d3b5f0c5b9
14878 TRXUSDT Aug 26
2bc6ea0051fbae432ab5174d82c8c456cda06653670ca30d64153360c1ccb041
14879 DOTUSDT Aug 26
92fe9f39199c7f4c1c0e63e2d294e84691753c826430231f7b1f6025d90db7d5
14880 AVAXUSDT Aug 26
c2aa4b68ff2e8e83ac952389476b6a65701cbcfdc73d3dd0862f938ce4cad662
14881 DOGEUSDT Aug 26
0c1a5ab2ba8ccfeed1a97456d6c0dd95896b425eaf016ef1b1437f21002fbabd
14882 FILUSDT Aug 26
75377c07559943da66e01830c841fb0ee845f49a56276561da946b462474953d
14883 INJUSDT Aug 26
b94b91907790674edc3edc2456f2c078dd443d9b05e1b5ff54292d4bfee5d574
14884 XLMUSDT Aug 26
cfdc80c9c88e8442abdabc39df14db1a02c46f30746247cfe5015622915a7ded
14885 ATOMUSDT Aug 26
9d82e6e22c554bf0a40d9bddb25ca187f6a970c20648b79b7db59d569a6582b4
14886 POLUSDT Aug 26
7cdaa37c1c272bf983c626c799e131beee286e37097fec9e08cdddb346249cee
14887 ADAUSDT Aug 26
2f3e1d7ec06c2b4d5479e790375bbb4a6375473ad8faccdea4f5eae6eec486e2
14888 XRPUSDT Aug 26
dfa59650a75540dd073a2b434ea4a6630b69f3f758010538266199018f54fc53
14889 SOLUSDT Aug 26
2ae1b6c6035dd451aea3b5e4cf44cb5b80be11d04bf7234b0ad7248c5c98aa6a
14890 ETHUSDT Aug 26
3cc2d1ee2a7e7af8c6020676ea5dd1f9e015f5afc19e1bfe4a9b518c79bad767
14891 QNTUSDT Aug 26
3ab0aa776361a1c4d7b93b3531581c4d6f7cd44c2912df1b63537f48a1952787
14892 PEPEUSDT Aug 26
ed7d34c0702e3b13a7af49b4b45b0afb7be8f8e7a51e7cb8e61f11bd0706f61d
14893 GRTUSDT Aug 26
238e02650f325ab4d2fa1f6190da3596df83a3e3fa92432ac501f0360be8ae00
14894 LTCUSDT Aug 26
9523eb5c1bd251cb031c016aafb09c164574e3efa001fe2e4b4cb2aded91598c
14895 GRTUSDT Aug 26
629751d29c053f46f64f0dbb18ef9261ae29f5b899f58bfcb49aa00b69c622c6
14896 SHIBUSDT Aug 26
bea5e6facdab2325ab35597937a0a7b94e448ef3069b1cb5cafc9896f089de19
14897 AVAXUSDT Aug 26
3036cf3aad3c43103070c2b78497fb4633af142043fef48761aeffb6d5f2e1a6
14898 BTCUSDT Aug 26
f6cdadad14aa33cac738b8be6999cb0fcdcce725d49c7070061282fe5b9c8f06
14899 PEPEUSDT Aug 26
2099ac8412729923de0d2f2dad5ccecca15444957090ceffe4377457a6dd77e0

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