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

14100 JTOUSDT Sep 4
a068c9d26e126d19d47bad61f6750c1ceacf89c94edc9b7385e7a793cf827727
14101 CROSSUSDT Sep 4
5c6d734478929d2745353ba1da0dbb3e76c3918d6e671aaca61ff27b51520bcd
14102 AZTECUSDT Sep 4
6d431c8ddc8c29f759b2366644bc8823084b669c2a5e312a3be64d78fceef2ae
14103 TOWNSUSDT Sep 4
cf0c29aa39b370579c9540c20f459934bd3e4705045bd61791bcfe74e6955008
14104 AVAUSDT Sep 4
7f048328c6086a677a791db0415642da285061d3a0a844c7af5d013aefe6755f
14105 AZTECUSDT Sep 4
3f54ecfcc9903d3c0ec3e5ce8d1627202adf2eeff5fb8202b412a10b90dc270d
14106 AZTECUSDT Sep 4
48b8078f67053bcfb3f11b4f39804b15065bfd3b605bd01a6f9fb3e7f2e99f31
14107 USUSDT Sep 4
dcc1128cb4fe7559051d716a6b5720af52d757cee3e9a3fa209399f31637f4e4
14108 DODOXUSDT Sep 4
46d4c74b7965070e4c618d03f3055f2220b9037202aebfbd0a2b15aa88aa0c1c
14109 DODOXUSDT Sep 4
74a7289b82ae8481759b2df33d47c170b47eea537eecd4142c507551132d7683
14110 SKRUSDT Sep 4
097e2aa635846b5e5cf95045e2df192640037c2eff8c8632cefbefa3b70993c5
14111 BRUSDT Sep 4
30d2741774db37cf51a355353c511eaf849a1b53055c4a5252e29e790a357639
14112 IDOLUSDT Sep 4
2706027bb28482815db564e7a5c8e36f530d055f25d4c626c4d4a84d7a27445d
14113 AVAUSDT Sep 4
3076ac628b56b837a372365bcded29dc6749d254967614aa024bc6cfd05f8830
14114 TOWNSUSDT Sep 4
25c8e7f7391d267b6c040957d547aa06805e74c15a2e40eb9a4e8f09f35e6a94
14115 SCRUSDT Sep 4
2bbc5aeff2a4dea8e036ac4088ea83ff8e5e659031101f3e2bbc6e3a216d2cdf
14116 AVAUSDT Sep 4
3af0bdee311ed808167d5d88970fc1a364ee3952f166660fc940cdf6b779921a
14117 AVAUSDT Sep 4
8f97228cb8fb5bde727f513a3356fdeaa66a7b3ab76374b1052b72f6250dedf9
14118 SCRUSDT Sep 4
3dfd5292525ab0235ec1d271f96ac38c60f67a51f8c266e28450ceeed208f995
14119 TOWNSUSDT Sep 4
c96fdeb98d680886a464de32f661ea0ee4f7f7b451009d4c805b00ff9c2f1b8e
14120 BLESSUSDT Sep 4
fd0d1ba3324448138230f6fb3af0b3f6b690a004595be8fef294e036d31d01e2
14121 TOWNSUSDT Sep 4
06d06b625666c7133a42576c17b41c19a7a37bbc5844e7bbb4803e52c4f7dc9e
14122 TACUSDT Sep 4
8f2f5bfa297f8cbc63b097b22b9c23f99e9b66cbb71b42b07493a3b896d7bc17
14123 SCRUSDT Sep 4
65da6e5a9c19e59a23b3c30e06a6cc4808a792c0607c06eb81287ddbe416a4c5
14124 VELVETUSDT Sep 4
7ed73388a364575c5d697146a0681f64e70827cd4a34fa7d2a22b0182342842a
14125 ONUSDT Sep 4
f0901051dc740ff96207a8268c6a8082663fc417fb3666208136a19191d59df8
14126 VANAUSDT Sep 4
be539b4ff5de46642e6ad7b12ecb7ed4bfe700ded0a021a2dd42405869403002
14127 TAGUSDT Sep 4
fb99eee710b89ad7dda4f46ea98772bedc85db549d2b15d2e5514c9793ab4776
14128 QUSDT Sep 4
66591b16411510e81e02c01c996a9e952e2778b8aecd135c144ae491d8b34fa9
14129 TOWNSUSDT Sep 4
fe5c62fe7e0221172dc06e4dcf0c6beb90b33517dc861ef60d90467de89a9474
14130 TAGUSDT Sep 4
0f8ca15fc5547f1b2005cdac30cd4110d34d30210fec2ae978c48b7995017d89
14131 VELVETUSDT Sep 4
3eca4218ea448551c1d093fe566a1718181654a92f9c5c506553bab2684843df
14132 VELVETUSDT Sep 4
8e19043fc0860fb2096000b12dab31a5fbc2b71bdbfea82f06948760005ed3d4
14133 DOSUSDT Sep 4
fa92891eadddda165c2a7cadce02029a0423cb9703484879c3ffc96dd002d4bc
14134 DOSUSDT Sep 4
f0783a5136fdf27e71a955ac3bdb64bc36a80ce12f771a2eb89e5b14688cea71
14135 DOSUSDT Sep 4
ccd4034acfe6ad114eb5965ffb93834dde2f43495902227edd6977d674406691
14136 VELVETUSDT Sep 4
e62be875238c4e1fc0b02c24dda9c895d44184a42f94f765184ee665e6cf4358
14137 COAIUSDT Sep 4
3d463cd32d01a3f6e3f74cdc381c2f77fc856ed4481b94bf630b06662ba6f331
14138 QUSDT Sep 4
15098f54554e63f73b1ccee2771c8088fc9d67bcdd98075f78aaee0faa0e2a31
14139 JASMYUSDT Sep 4
b2c7fc361efa0f9c7ed553a79e70808c39ad5db6d00ecc213bb7010d7d4cb72c
14140 IDOLUSDT Sep 4
fe129f9b9531c511456ff9c2f6fb2bc636e587193d598822dbb973168c94e253
14141 SWARMSUSDT Sep 4
109ea5125e7dc2848fe875873bbb9cc0b13849980d4b82b91d7c9f2073e99e79
14142 ONUSDT Sep 4
bc07379b5d76af9205e3fb219bbba97d444cb591e4aa00c9ffb55e9bc9b88349
14143 IDOLUSDT Sep 4
edf6b8c4b09823ac848612d32b36e6fcbcdcc6f33c207887a999648d4ddbae40
14144 IDOLUSDT Sep 4
1e500b78cccc1b71f90b9c9fa7484fba4ae0ca93e7237d2b9294861c172d66ec
14145 QUSDT Sep 4
91294b1b8f4f036ecd0e013eff1c909cfb75b27b60e24b976b2d5b1f9ed2bc51
14146 TRIAUSDT Sep 4
ee0f0cef450f04cacc8252e7a408f7ff8f18e59d54ad6b6daa1bea927ad5fe03
14147 AIOUSDT Sep 4
98e24d980cb867a97d156cfd1f5440f759678cb1c6a6fb14a3e53907b7d27a7e
14148 APRUSDT Sep 4
5d3469ef01b6577ad5b07adf845f5bdccb78b318b3b1902ac364439eea31f186
14149 APRUSDT Sep 4
4c4d69e61c3be6630b54b9506971d7de04439bdd4b95588ce14227bf721932b0
14150 CAPUSDT Sep 4
2e0bd15c192d534232d4212a66d3d0cd47e4426067a0eb1cce99ab3aae4f308b
14151 CLOUSDT Sep 4
c7f833e03fd3d893eb7d8ae8dcac28a49553973c6183625679c3656ec9464eac
14152 MAGMAUSDT Sep 4
2c9ee915bc5db15850e66c4401fe35d266397f5d40b46ae07e1927f43e36dcd2
14153 PIEVERSEUSDT Sep 4
2777f719d800d5a850a9fe60152dd8ffc2ba1e1cc25d9f604942e2b25140a58f
14154 PUMPUSDT Sep 4
d0f5f03f8f33098b2a65c84329f7382faec35c6540d7c70ecd05dc5910f02e8c
14155 CAPUSDT Sep 4
9cf29e5236bc4ab2f088218a77001470ae69030fa0b075dd16d19f355525ee08
14156 CAPUSDT Sep 4
7be7b5b8ab568cb1169c9889d41eee20bbdbc48865142fe28baf0f0dafff3125
14157 PIPPINUSDT Sep 4
60d8354e0d64646723de6435cab3fed463da6efd86c9ad1d7d469a151d6f78ce
14158 CAPUSDT Sep 4
222215f14d11c8c4eb8cb8c41ae8f307b5212087534076db89da4b10a7153a87
14159 APTUSDT Oct 4
ae12379e3e8739f60eea0cfe6f9ae6a99f485b042beb9ec56244f6a790fcb1cd
14160 DOGEUSDT Oct 4
336dc0526b0b019c02e2d538d0f4c1b8332a51169138ee54f905a2f37763b003
14161 QNTUSDT Oct 4
cb63dda451494f76926e4e3d4a272508b5034d55feace69dd5f3e81973c4b7ec
14162 NEARUSDT Oct 4
4892a53eb4d923e3ff51fe9995c2b7440f2c6a28ff2bfbe55b44c659ec505048
14163 XLMUSDT Oct 4
38348408f575f8e6d854ca8b98e61a88c63165f1ee481f4624e44792959e0ea4
14164 TRXUSDT Oct 4
5f6ae9de0fd965f1fa17a62de02ba8522060dfc0b0ffb0ef8c61ccf2697ecaa5
14165 PEPEUSDT Oct 4
04ac3c5c58b77f8fdffa016bdf926c1cfa019a8eab68b1df59cdaa31c1ebf3b1
14166 DOTUSDT Oct 4
82c134453cd4de23242c6319818246ca14346e36103664a257b7f7fa11bfec65
14167 XRPUSDT Oct 4
634807c68f50508cc27ddc4e6368d102b4e05d779f5322b7b75a4708aa28213a
14168 SOLUSDT Oct 4
3e5e0e71e4645cf985cef628c8dc85409ebd77f9e87b210fcd5e322795534816
14169 ETHUSDT Oct 4
3406677769b9d5cba416b38b35389f52b2eec1510b3b1c350a27044ee3324e29
14170 OPUSDT Oct 3
dbf3b647f5c2493c2982e0730013e3e03f6aaba1ed29342910a083667aed29ca
14171 XLMUSDT Oct 3
d7009cf3020ed5ba715a28352c05c2a4e40c70dae277a8593dc40569e363a91d
14172 POLUSDT Oct 3
cc2a6597feee70d7af40c7d8de9ca598d946498dfb5d0822c588c32e67f450c2
14173 AVAXUSDT Oct 3
e5d8e776b532508b33a26dd88da1d30d8a0dc116a224c396cc5d5a8be2d02321
14174 FETUSDT Oct 3
7f30063ec9c109ffb3aa9aaa8d70c83e67d1ebe9d4821944a5a84d138cc4d282
14175 GRTUSDT Oct 3
3c80fba39eaeb733277d98b7f12ef3637a2b372b22152bee34cb667f92511a36
14176 AAVEUSDT Oct 3
de5a11f0e1d5c5f478235c816781108cfa811c2d0dbb2047423274ceae64021a
14177 APTUSDT Oct 3
73d2ef630273a5cc5dc7675010d0bbdbfaf8bc1fd233c4f6e3cc9d7b05d24474
14178 ARBUSDT Oct 3
41a3adb0e09280103dd0470b76f986c4219b8ffc1ffb84a89f7854bdf9ed6ef0
14179 TRXUSDT Oct 3
5f014568f6a81ac90fc5bb6f460c7135309fb9eeaf47b1b1d690434c4ae7c3fb
14180 AVAXUSDT Oct 3
d2e7a7bfdd7a2b45f6f856e2be4231e02ec4cbeb4e71049115e7a2af655ad353
14181 QNTUSDT Oct 3
1be74b5a196a11ee5452e1f07f6096ab5ec3b68683d10308278439f982ffff1d
14182 ADAUSDT Oct 3
769d7c0af98934cca0586f25466972aba823f75d07c3d6a92d42560cbc815cd9
14183 FETUSDT Oct 3
fd8cee9c18d7e060cf4f7631d73698b0ee2e206dae8c3bda17e27717d15e5d14
14184 GRTUSDT Oct 3
59e40ef882bf900b22a2690daa96aad030c259ac24dacf1b5b40c66cefdc078e
14185 ARBUSDT Oct 3
35b7f5a2c0682996c8bc3d3995063ac0a27dfe89308e6439186baae83dd24011
14186 APTUSDT Oct 3
f2727910759ddf06194e7b4f4908d7c132e923ad18bdbd990ed06c41344aceeb
14187 NEARUSDT Oct 3
919d318b34665a18f90d7c89899e717030524e482c6fb9cdf2df3c4d87264a42
14188 UNIUSDT Oct 3
43ceb1ed3177620154183977f706aa330650f8660e8caf6a4776f3c2f49a2c17
14189 ATOMUSDT Oct 3
05ab0b852f41d9d7660b695e37f2a67d755e1e2a2058f4020fcc158e8a58bcd2
14190 PEPEUSDT Oct 2
abb47c1e01c366766d54c23421a74d70288d9457f65cf47335c7f5b4c532d26b
14191 AAVEUSDT Oct 2
2ea620c334deecd9e9f883b31b911ba6ce8ea10b2960ea81f977c1c2f14fdbd8
14192 TIAUSDT Oct 2
b075eea20cdfeb1dd188a5c87cdf41d24242a5a295f50918bf8e63dedccf4a7d
14193 NEARUSDT Oct 2
3e045dd4f5d9321914266a0f6776dfc21a5328cf9ec12728261a4657ea808952
14194 UNIUSDT Oct 2
9a6e39c31645b5b08134f2354d699ac1422e0c54f20f72137a1cfc0a522e1af3
14195 LTCUSDT Oct 2
b0df6739b35719366847f6df46e5061021dc38b0daec6fc455da22f43a43dcc1
14196 POLUSDT Oct 2
888c5f646071ebc996f70179ce00399fe2645417c401587a45aff385b9a8c22a
14197 SOLUSDT Oct 2
021c721ee40ccffefac48fe4147ee1416e87f91d2e84ab333e02c744b46a34f3
14198 PEPEUSDT Oct 2
4c4b8eb85f2dad8612da5ca48716b750db2d5e7a8bfa889c81f9a7d7d5dd79eb
14199 XLMUSDT Oct 2
93ca0b1cda8eaffac2041221ca3ae14ddcefef544d970ae0cc46aae13844e75e

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