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

2100 BCHUSDT Jul 1
fad3d2a837f604239edc87e95d4185f66753a8ac1c16a3a707cdda877b3d22ca
2101 XRPUSDT Jul 1
fa6da267cd3274c531e7070dd885c5ee79852d29d2aaed0d4e00723aedf043fe
2102 SOLUSDT Jul 1
29cd4ab99979dc8a42e9cdd9878f0d1f82fb1171d950322a62b9e6cba80c9bc5
2103 SUIUSDT Jul 1
cfa23716ef4378a3ffa7640c58f628c77b494a485838737e1314f4af3152d04a
2104 SUIUSDT Jul 1
8dd426bfa8992475690a904d10eab9a0b9b1f0ad602b7fadf1395db720a07b62
2105 ADAUSDT Jun 30
2aa44e75d4a801a85e1d97ebbf62216ded3419b1ee34dd3bccfacd2b57bfee65
2106 SUIUSDT Jun 30
acad530d92f787e6d1f4388b51816a277e1695ab6deae6a3804a76566eb8b658
2107 SOLUSDT Jun 30
fafd7499d69b7a03ba355bf9c126770be66a83a975fe13e64df4ed659c000669
2108 SOLUSDT Jun 30
1d5fe3ed89857c6e70d5bf5383780585efef16885f0386de3fa17aae4cd0b170
2109 ADAUSDT Jun 30
bcbc4023da30471f111f494c858619305811dd0902c35c1aeea6342b6ffc15f3
2110 SUIUSDT Jun 30
877792daa066e3c6af85c20efbf2461e26a5577f8c9b47876f7db7757d974511
2111 XRPUSDT Jun 27
139ede916eae823217a80bfa9123c0b54df2d75d120cd85db2a4b991ec8158bc
2112 SOLUSDT Jun 26
944a9a841bb4ef97b49a27ece2a19c5b268dc70cbdb7c6d3907a78a5f6e91df4
2113 BTCUSDT Jun 26
73e7f16d0137a078bccd45ba9aaf58eb44568f364fac34cfd328582f3ccf9eaf
2114 SOLUSDT Jun 26
e26cc6078952c22dc5e0ff3fbbc0d1c88cca2105828b6ca0a030a0dac1b58bca
2115 AAVEUSDT Jun 26
1494e14adc0dc1ecf6ec70ab33c7d751f06d6d8b3e425dfcc14d53bdbdec771b
2116 ADAUSDT Jun 26
aa6a6dfc4fc43874a701d3892119db7ddb69078f9686758343b8f368044f41f6
2117 SUIUSDT Jun 26
544590059c5b25811189ab6b99a17a6eecb827fd55ee43e8e7ff700062157f2e
2118 SOLUSDT Jun 26
9ff542a2212ccca643a1d580b6256ce736717e86efe9a526e2e9af9eaaa5e998
2119 SOLUSDT Jun 25
b7310a12ff8484ee6982c8f9114c7c81e6acc1bb30e5092deb46398de5074325
2120 SUIUSDT Jun 25
740ec621dca357faf9d4c1a78d3462ccabc0e7fb5ed874074b9ec347fb56cf30
2121 ADAUSDT Jun 25
fa691ceed7b6ce047eaf187b174029e7196f31cf84cc23fd58ff3ae74c8678ab
2122 XRPUSDT Jun 25
02cccce4afe11d953f9105baa4122db678b1603175b266dbd38f44e15ac45ac7
2123 SUIUSDT Jun 25
8b2c498ef4256248929a7d9540e993b1642864b88a0bc1233a659040b6f8d6ca
2124 BTCUSDT Jun 24
6f6510b3ba236771155642784545023df25ad4389e6c4e3a559dc2bf0861dddd
2125 BTCUSDT Jun 24
e1cbbd4e4cee00ec7a53435a6dea9ffefeb810402e56d3c2b606d9298f603664
2126 HYPEUSDT Jun 24
32de901b90bcf9b4dc78225f43f9711dd8ed8e1739513b471a9170531359dfdb
2127 BTCUSDT Jun 23
dd58665edeb9b641dd8db7d2df2da3a50c7568073253fd85dd786de0eb3329b7
2128 SOLUSDT Jun 23
45b8787e5a1777243d5fa5c977ab8dae93ae3c4de67e498bc863d12b61a71b6c
2129 XRPUSDT Jun 17
b47028ce05583c1061f7c5d79255011a8567fa0ca0a96bb7ea4a2482a97eb0d2
2130 SOLUSDT Jun 17
e24b999d5a8e034187f56fc9ce862afa9e31d75121317774ce3bee243fda74a2
2131 SUIUSDT Jun 17
f9db2c444924cb605a6f80562a0eef69633f14aa84d66df01d1b1341641a197f
2132 BTCUSDT Jun 16
7c9367010c663387d4c62096b1a067bf581fba5e36afd78fdc8bfea16577944f
2133 XRPUSDT Jun 16
48a48b8cffb2863c0b434e10107deb847a664f8ab423a9495fdda04f722470ec
2134 ADAUSDT Jun 16
afb9542d934c455c0549d70322498e9382afbb82069ca558a9cda242aa6c195e
2135 SUIUSDT Jun 16
964c9285bce46055c539368520407d1a12070d855d9b106109fd3b571bc14fb6
2136 BTCUSDT Jun 15
dcf7d02c05a9cb183ef8d329d2f5af77d525c99960f932533606591464e26bf6
2137 SOLUSDT Jun 6
8282d978570b755912c03055f48b88ccab49ec280542fbfb5eb1c00b332ce8f3
2138 ADAUSDT Jun 6
fcde469e8a9047dc8b8d760aee0c0bdce486e69a7995e5ba9d4b1c54ed984da3
2139 SUIUSDT Jun 6
a9095c6fcbc63cb8438ae05db4f30008126cb9e123ed38e8b8bf735c6281c595
2140 XRPUSDT Jun 6
e79cbd02298a617ba6561c7afeb973bd0601c88d83fe06be13ea4954ec2b79ac
2141 SUIUSDT Jun 6
b77dc43551ef5c1c6182c74a1bb07a003ba2be000fef1be02e0a86fa7c7643e9
2142 XRPUSDT Jun 6
acb60fd8f6a9b405df3fa4ea6cd32254295b12af4845d3ebbfc503b58d4f40b1
2143 ADAUSDT Jun 6
1954397374d9c5b7e8dd829009d69e25c32023bfe5d658f7b2a99c5596d1979d
2144 SUIUSDT Jun 6
d4a49de9dd70d455cf6caabc886bf71ed50bcd2400355701441c203490302024
2145 SUIUSDT Jun 5
649bce2d2d8305904f261dc429821562fa39aa0719b9f2dfb51c2afe19c0218e
2146 ADAUSDT Jun 4
a4e44585527b1c2ded4f70001fb165b90e1fded13afc2801abfcd7b56c442e75
2147 XRPUSDT Jun 4
f9560acf8ebe2e3d050a0ffdafa78cf65f21a271b8efe175ea28ca2ba2a5cffe
2148 XRPUSDT Jun 2
e704381d5ff8680790c534a89624e5b657793d7e67dfa85432ee4573250bad19
2149 ADAUSDT Jun 2
8bef9eb23f3fe994e1b7ffabba05de267f8a1b167fd539c7ad9b1a1900fbe229
2150 SUIUSDT Jun 2
bb1e05a337186f7b28e9e629b747d97cb784b36f0d2e8f92879a0b797c4cedfa
2151 SUIUSDT May 23
28645c098a509ff4297bdf80acdfc20d5af45dd4fbe450739c08d3dc2d0716e7
2152 SUIUSDT May 22
64a4326ab2852dcc0e50d3edf1add272766b5f65c134007912929b888c0952ac
2153 SOLUSDT May 21
7788a3765c3eb28a542762f20e9c9c8322af7bc1ea85c3bb52f32ded8b51dded
2154 ADAUSDT May 21
0319257dc642fb32790f6bcf1991daf35dd39078cf8825476d0335b1edf4fcb3
2155 SUIUSDT May 7
3a582065e4b2bebec95164fedc4118a9c153efedecf8a3f3b15b229504e40c65
2156 SOLUSDT May 7
5beb2f53ed6a11baa0fbb7a0560ce1723f5edddaaea950e35831d65938481084
2157 SUIUSDT May 6
c085139e0084f50f78694478747251bd649292c8b1d253f8d8a5609c99e4ee4f
2158 SOLUSDT May 6
ff116e8b48732b7b0ffe184e0ae6d74b8a311e820bd4f06d120a816ebebdcf29
2159 SOLUSDT May 6
39728cb1a3d80f0a4b5892b68297093aa5ea8d53314e66f67f2c87f4aeba25ec
2160 SOLUSDT May 6
7d46f516b3a46b09d47a7f0e9ab3c3055cefecf152aa8b9e4349f8d4fc8d362d
2161 MKRUSDT May 6
ec8f981fa9b6f7bda6f144e0d1110b59ed8bb97af04c12df65085b774cf0fca8
2162 SUIUSDT May 6
03917aafb178ce1374c55f78d487d8cb4e171b193c2ad60a66afe7d8ed692092
2163 XRPUSDT May 5
a15ab97ecafa1ab1364ef1db8bc26093947338365aafa7022a57ed1d53fbc9be
2164 SOLUSDT May 5
28d20873079c06f1c14d0d19fae8ba26c397b9c1b268ec845729f375524706eb
2165 MKRUSDT May 5
ac45746c5074bb2407ffa163a0c08b556e671d35d0c4fb87581086732cd53137
2166 MKRUSDT May 2
65f3770ff633cee5dc869d656fdb767e5673d3ba32defcd85e9d97fd1c1b7d41
2167 XRPUSDT May 1
273181b0c57e1191c83fc0eec386aed910496f93aba98ed9e2c067f1b9bac76c
2168 MKRUSDT May 1
3fbb8e2ca4ea025023487afe91f6f637e784f56ee47ab353d8171b372154995b
2169 SOLUSDT May 1
06606e26133556bf92de443f66556b003655e6d4e378f4e4bfbab8bf5ec0c85e
2170 SUIUSDT May 1
54553d6acd8c32a4c19dafafc3072deb914f27cb3b347ec32115972589439701
2171 SOLUSDT May 1
9945ef09b01849efeda8cf93731c5837db311155cbb1abdce0c187044d90c689
2172 SUIUSDT Apr 17
502416c4954e17b42f2a856e9d65e6b6120be7d2f2543fa40e4eba0ce0f92feb
2173 SUIUSDT Apr 17
1587fbc3e89f07955836a1e9677b748374f589da6fd923821da43cadc1694120
2174 XRPUSDT Apr 17
4147d20638a4ab97857a8d02c2d453fb256a068d0e6f36d81eaae45829291f5b
2175 SOLUSDT Apr 14
21d12a53c43229ea58ba866d1ec0922fe18e0ee041362248f2608ae01afea1b1
2176 SUIUSDT Apr 14
adaa81d30c55878b13ed961867adaa3528d591226c798f6b860d00a7a30707ee
2177 XRPUSDT Apr 14
450d279f4255c063831f9405638e96694a065e905d84f73bc493cf7a9885994f
2178 SOLUSDT Apr 14
e80b28a4c3b046ff09c24860dc955f02c55a9cca361fa48a25b2b3c1144f78b2
2179 MKRUSDT Apr 14
d9e7aee03c5d946fd645e8b0b3043770041d4283e34b656584b0ca1af5c2e26e
2180 XRPUSDT Apr 11
fe4f4808761db233b35883a9ae239cc92503488958303491e875be71a450ef1b
2181 SOLUSDT Apr 9
102785d84dd9ecfcc6fdf13905d7090f19ea79e4652e714e767f25259071cda1
2182 MKRUSDT Apr 8
74c5dfd8eb5162c216c5d92e8ec1ae01482b854a6af3036622cb303313a5a3b6
2183 SOLUSDT Apr 8
6d540db51bd9db687d5e9c80306fda2896da8d383b2b309881738d07ae668333
2184 SUIUSDT Apr 8
ddf11329e57f02a85171b80a83a24f3071f97af261b59a0e767d50fe57058fbe
2185 XRPUSDT Apr 8
5da684db7cba84bc77aaf1f722139a47fcc29d7446366db4ec0fda263598ac34
2186 SOLUSDT Apr 8
08af98bea2e1e42c2f4a218f3204027cd535a7039495affdcf50ae68c7957d53
2187 SOLUSDT Apr 4
575adc9b9ca49e4b04c1003d4880600ee65859614b97cf03579467a5e1f9e355
2188 MKRUSDT Apr 4
8b237b72c4ee2e93481b668207d261c62706b404c321a6b933f1a77e937307c0
2189 SOLUSDT Mar 27
5054e7689a3d1c8dacbe5a285a3613d0315e669358e855703e0945fae4252d2a
2190 SOLUSDT Mar 26
344486f953c14087b1285ca78a091de3a6dc897c24d24e0acac1374e27ee4e33
2191 XRPUSDT Mar 26
db3855e414913c67ad7d64661f92d84b257c2b9b0e9d577b73c4c8726ace3c72
2192 XRPUSDT Mar 26
3c8820389eb06e32ea25882fbbc8e6ab4608e8d6daff4aed49f2d45260f157b8
2193 XRPUSDT Mar 25
451d2bab83ba49d394315f90aac605eafa0110638417a55d1559a0282e87dd14
2194 SUIUSDT Mar 24
99b6b2229f519dcc49f2592a801ab957c24367b4fe6fd009df0bd39dbf025ea6
2195 SOLUSDT Mar 21
9b11866cb9e670f178b6375a2e3823609819979ff27b3c30bb052d4c382924d4
2196 XRPUSDT Mar 21
36dd3d101f8dc163a4793b12ee37471f2c078bf1bafec5f05d2e30f9af97ba0a
2197 MKRUSDT Mar 21
8e04344832c778229d4ee1f75e6e66cc727e9fa55b1a65558b929c3744de382f
2198 SUIUSDT Mar 21
2b642526bf8dacdc9789249c3dbc306ff13c9b9751c1fc27bfdf7c23aa57f8d7
2199 MKRUSDT Mar 21
e5b1d4bc6a292e8e9db7598ec309ebe3978d9310dfeef29e601b28ec934e9a55

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