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

18800 OGNUSDT Nov 18
c1a222460a45f2f0e1e4edfc37e63cfb211f3a44ab3fad49be122993d7ad9db0
18801 FXSUSDT Nov 16
e2a3d0ac6df9e08cb0b3b10ef2066c13e536a106b91dd101090cdf5001bc5aa8
18802 ARKUSDT Nov 16
e6638d557b52822ac45d5926d276367b2959fef414f3807707c67a1cc2f111e9
18803 SANDUSDT Oct 2
3744066d46dcd0b11616409fc73b487f42e16e103956de557dea50f4a9cfa26c
18804 MOVRUSDT Oct 2
1ffd971edeb6eab9436e7a9d5f21b3d74c98edce8048762e2eb1d13010a17c32
18805 QUSDT Sep 27
112663e6112a5c40fa6103b2259cc6130ce99b43f9877921832e5fc5a99eb27f
18806 NOMUSDT Sep 24
5a18d90baf4067d0a9652aaebbb1e57c5e055be2917b1b91b625df994bb2a191
18807 DASHUSDT Sep 23
f93a9ee4c247f16856b2b169a0446815ec8e72386fe2f43b491a90f9ba19f539
18808 SNXUSDT Sep 21
c6b3d0fd0c87fc2c2341eb0ad908e2d22dba87f7773cd3f54e7bcfd0f0ba14a3
18809 ZECUSDT Sep 16
75bbb56d065429e6cea484b0c9bc3323bed16e8e113346fbf5dc6e41484ac628
18810 BTCUSDT Sep 11
cb394c49f2767ea6ba29be3555f9bb180ab880ae71134f4d551183996d12c059
18811 IOSTUSDT Sep 10
50d62302f2db45bc83c98f60f3aa395bf7a327e482c5f937b218e77167019dc1
18812 VELVETUSDT Aug 18
9dec4a8561c48be844f6bef6b5947a517826362cd15e7e997e83d23d9fecbc8b
18813 BSBUSDT Aug 17
efa2eac4560c20ecb7be066c2b9258d4f925e4afa3da8195d5a62b175ee7c627
18814 APRUSDT Aug 15
e4615a3fb1c18b9da00e5db8874a0dce56cd6055334e2c07787416b240ddd0dd
18815 RIFUSDT Jul 2
27458adccde730f1f5be77f00923e1e207360aef0f608e38edd659643a2af665
18816 YGGUSDT May 12
b237c10fffd62fd00e2aa4aa94bc76b7219faccee82eef1582b5f08d89c18d15
18817 HUMAUSDT Mar 12
986c1d56e651cac7311d5f947deb407c7bb51086a6ebd9bff6dbf06c756c29b1
18818 SOLUSDT Mar 6
db5d77af956b64d114c4f188be45321d000e371612dd61018583acd6410d8172
18819 BNBUSDT Feb 22
1b179d66108bd45e876f72161226a70dd1610c6bf27797e5b93aa5901b6254d4
18820 MAGICUSDT Feb 18
f759b21bd0cbf1f8229cb0903b22ef6fe03de9e6d54ac39505178e7c1dc7783b
18821 ETHUSDT Feb 16
4737af782e36c1b287702aa238ca81f2a6c7c7a9e333c2c5f142d08ffbe6e54b
18822 XTZUSDT Jan 27
17533d3013197310b1eca787722d6276faf4eaf48d62063e365ec9f45eecab7c
18823 TNSRUSDT Jan 13
71884c2ce6902e433394186db88a202ffbd50fe2599842c53af801e9d6f6d0a5
18824 ICPUSDT Jan 13
433fd46e2ed3ca83567f1f168482092d31b6f20ba552e4d58ddee4a64a56ee78
18825 AAVEUSDT Dec 24
eb67a1be0c5be434b3dd84167e34c78e0940aff62dbe6f65b83a5348e212549b
18826 BNBUSDT Dec 22
f73a510e3d76849c2a0c5e3675f566ab006a74377b79088cc5cf59bc700ffe83
18827 ZENUSDT Dec 11
3d984380f0ff4c60a9c2309ea4a79ea01e219a5c379d25f2033fec2ec2bd1893
18828 TSTUSDT Sep 20
e2df837981c085de2df92290f5fb7f41f1ac03ff080f27f097840d70c0ce18b0
18829 ENAUSDT Aug 23
17d08c45a2694bd5b6c704724914574e73a9660e9dfe0e859b9a9aabe71e2e2a
18830 ETHUSDT Aug 23
cf33b35f7352b9177ec7735b589244784d24603a89232a0b8239279852c3d973
18831 GNSUSDT Jul 5
97017691b5a45e5e71d0fff8dcbec4bf9632cd8c1ad78f3a7c26b12fa63372d7
18832 ETHUSDT Jun 10
c7009d8102d4edcc7df15cf97536b4f47a4268c51eec3334722bc30711385b60
18833 GOATUSDT Jun 5
125daa1bd23c6409ea1202047e23f795b7264ee0afcb04c5d144b516522709d6
18834 ETHFIUSDT May 17
a1e27e904fa056b0fcb63ad240146efb51c7692c5bc64826aa40abf9585cc3f4
18835 NEIROUSDT May 10
e338d8d487e5b6a83060aebc00225b0f62017871a6c03eec5b61684eacfd1d35
18836 NEARUSDT Dec 19
98ab8a73a627651cf78796e3052e3d123b994783b83cada305796052565875b1
18837 ADAUSDT Oct 4
595d81982482b249202bf0058949fbaecf8ca8de74634dc8feca10f9b08837a4
18838 COMPUSDT Oct 3
f5382e66bef357d42308dbfb4fe40cd835d8da43d0453672665aaa5ca19e3b02
18839 ZRXUSDT Oct 3
b5b1007263ae0bd6d54df1e7e9b5eb0098a369fcea1c2ccdb38342c1ce2c290a
18840 TRBUSDT Oct 2
63aadce9657a328e26298a3fe3a848074bbf0494f4e5c8f09b7739bc07305525
18841 BTCUSDT Oct 2
a1ac3c82cef980199e0a9383d6f4f664ac964b6fa03a5e2eb16c50e613877157
18842 XPLUSDT Oct 2
def63ff60e4ac119e2f4c18b745ef68a9fabda4a44375947e2397f39baca912d
18843 LINKUSDT Sep 28
c6dee89fee8003fdd8b4651efdecd3b6274fa4ba088d5607cd6e92d2a7d2377d
18844 DASHUSDT Sep 28
5765359f6d7b4a00b49484d32562b1e18743982de55c908c6987c6cde15b8b6b
18845 ZILUSDT Sep 26
ede4f9ac3c179b4b62515e50de71c29a033f578244d641f9d7f434ba7a9c323f
18846 XRPUSDT Sep 26
90bd23a7718eaaa40ab0ad7a174261760dfe14398116ee8451466a7cdc317bc3
18847 LINKUSDT Sep 25
e5b7f1b88b656a97c93f343208e684425b12ccee0b7209e0af101f912dc282a9
18848 XLMUSDT Sep 25
9d1b7e7339af626452552c1949ec8eaabe2b56c49984507375b5af79d2db1a9a
18849 QTUMUSDT Sep 24
bfa8f0c6793d02e68b2e108b01184c1b7504c8b91cdb7956b7bcf6bebae6d9a7
18850 ETCUSDT Sep 24
d90ee90ba7fc174849207ee650975be653b4916a04d7edc6e7d1fe25ff61ae50
18851 ETHUSDT Sep 23
c8d988df7cbfc10e0230641ce262eb1b8b45a77e1578ff6dbbc431da3181925c
18852 RUNEUSDT Sep 21
a774f437916abb290d8c51edd23b8b50e7d01527584898e04082f421067778b0
18853 BNBUSDT Sep 21
d9cbdb843ff1879527178a750d30d83df924e12893dee74aa5c3d793f4ece87b
18854 XMRUSDT Sep 20
0fa4d17c4f6258ac9ae47686d0dfdcce16260d70183b64bae41fa4111c92f42d
18855 XTZUSDT Sep 19
0030bf528a031063b9248e78f2d9216b0f92795c1944fc0c75f53bc915665ba6
18856 ETHUSDT Sep 18
5d8b81294a8acf98daf08ea600c844be073a9c662e06ee5f83a5e4ff033164d0
18857 YFIUSDT Sep 18
8f99af645e06842168edc083e47d65402329d06833dbfe299a238048d013f58f
18858 LTCUSDT Sep 17
e7f9b0f2dcc1103ac5500c34af488f6dfb62e0638bc49b5c2b69c53a4122c525
18859 DASHUSDT Sep 16
3fcdc71c6cf34eb19820937c2d522abe562e536ec210853a27aa6502884462e9
18860 ZILUSDT Sep 16
d168bb3537795051d6e6b2ee76064f6c5937713d8fe825fff11e57d3d41a2d6e
18861 BATUSDT Sep 15
c873a6d9e22759952595d2a9e81b15a332955522fbe0a904470e0f6a7a5383cd
18862 BARDUSDT Sep 14
806e1657f105e4f3832c6380968646ce6aed319d2e4f141ff133112f45d27f2b
18863 XLMUSDT Sep 14
8a456d8fd758f08b386588630bcb6ed5098f28f1dec300c6cd36bf9ac7b58a18
18864 ALGOUSDT Sep 12
5eac86630ec6e0caedc0bdb3fb8629a940d36d52329afe9247cbbcb97f33f9f2
18865 COMPUSDT Sep 10
0369bfd452926c4f86f2346596cc86757f128e1f910ea931e9467992bef8f763
18866 ETHUSDT Sep 10
d251d8143b62c7c4b74e83a84852a966f2f69d6fe273e6e9ecdd72f47e30b40c
18867 ZRXUSDT Sep 10
81f439c75bc7f06038546ccb24d91d5b680bda385a32af2027f293f975a8c6b7
18868 BTCUSDT Sep 8
67755bbcaab065785b277539e524697b27093f2d87d36e1358b1aedf613f04ad
18869 ADAUSDT Sep 8
56fbaf7cc6ef85c86829107c83d84f6ea44f2a187e939deaab974677fa676bf4
18870 NEOUSDT Sep 8
63c88d81c178e9c1626fa10ee9eb53938ac35ebd00fd982c0310f026f61ef10a
18871 KAVAUSDT Sep 8
bf63344fb9f56a4d85ea29ded3acbee14af50e027c62f6d48be1d121d4988402
18872 KAVAUSDT Sep 7
19b04d17380eb98e0f23f5c64fcc9cf0e8be7c9fb908b333ef769d646ca0e5ec
18873 AVNTUSDT Sep 7
1c49cefe8545049f6eafff76f6b8a7a23b6aaf3d59ff793b9f1295b68a7e5490
18874 BATUSDT Sep 6
8997dee8ac03610585c32273e03fac6184e1d9a89d80aebd29eae4f4aa9fd454
18875 LTCUSDT Sep 6
3ce7c64da940acabb32c5a7405770f327f8660628b8675ad8c12a6b209bf79a0
18876 BNBUSDT Sep 6
0b04c697c56f7b748f7df834ada2535ff39fc973e80c8b90c58d68d02e9e14ef
18877 RLCUSDT Sep 5
aa0412d064b334b457d2e946b1cdcdab468ea53fd264667a714e52b89828eab4
18878 DOGEUSDT Sep 5
bc0d2d0ea96bf53fb0d51889e5d27aad8cc261620f66f804f3523c4e8e383448
18879 ZECUSDT Sep 4
d3c2a06da94428f9b59e345a07944d706148d5aa84ceb965ae00b448a9fe2e4a
18880 DASHUSDT Sep 4
7f0f3b937a7524403521651f37be23097bddcf14f3563efeaffcb36988988fa5
18881 BNBUSDT Sep 3
e36cabaf64faee88980bddf54d66725e8d6990a7b95da721e437e54e65d33292
18882 AIOUSDT Sep 3
b0f1516a42652580323d1cde7cac9a1949aa5e7014a42910bed5943402b7a849
18883 KAVAUSDT Sep 2
4edcbe48d03e4c3ea6888e3a68dc432547d85d5abda2bbdaf84d24090a1b876e
18884 BTCUSDT Sep 2
54b8e61d07f762eac617da4a7ccecd3debc19c2dda5f75466af5af5830eb807c
18885 DASHUSDT Sep 2
e0b6bf840e8b309615f767e365edf26f9854832713ae74c03e42b431973f4da1
18886 ETHUSDT Aug 30
ec9e180234af3f5e175660897ce1d98357c7e2a1ed3fc9b7e503840564e3b968
18887 XMRUSDT Aug 27
0d14433c97636a5d6ab4ac80e56a2b875e31a02cecad5485f99a5751f0059de1
18888 CRVUSDT Aug 27
55bb7569fb123fa3fe78604cc00e1587c0b11cc15d493c4f900c21e488029774
18889 UAIUSDT Aug 27
c05f5c5ffef3972a8acb478c7367be7df736d6dac45ac28245dd7f09617fcfc1
18890 ADAUSDT Aug 27
04dbf598cec1aee8df5f2457812401fe9124e85c67c380630dda68307e831085
18891 TRXUSDT Aug 26
ec176db19a6a15e2ef2d3fcba0662a16be4e0b0d12b111aafc465ef37329800c
18892 ZRXUSDT Aug 26
ad8ea92eb43aee6141bc38199f8c83b19abee9204c7996ead3b777e64a8549c3
18893 GMXUSDT Aug 24
083a37906b758929910d2c65f67a243cbe4d4aace95307d72449fb89f2d03221
18894 NEOUSDT Aug 23
d6013f2db59bc8b3f43cf2a64efc1b22ec7ec32502b0c133caa5137f60ef41ca
18895 ZILUSDT Aug 22
ff140cc3eadc394396505c16cab14bf277f7dc31c4b220d3bfb5906aa8789b1f
18896 ETHUSDT Aug 22
11e79e91c38e21c54b9b65099a889f03332326261cba02cc6c7f7b8c809deee4
18897 XMRUSDT Aug 21
036a44c171fd315428a8630afddfc14300afeca0589d8c72e1689925dd0bf564
18898 BCHUSDT Aug 21
7be25218be8a974e097cdb627a870b375ed5e837285d1e28687add5ead7614f4
18899 XTZUSDT Aug 21
05182120c120b76d814dc4022867b765aa24ab079d92f8ee5cf7d66e3c6b79aa

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