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 12, 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 154 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.

15300 XMRUSDT Aug 7
5d499f161e1fb251b3f788faddd034201fb8601d43f9039c646a1aaffa13d252
15301 SKYAIUSDT Aug 7
f6536856230b25046285072242377fa65340cda85851ca57d2a0e1887656404f
15302 DOGEUSDT Aug 7
5f2e8f64a04d1f5446ed281c37482c72af5ee1ca1e58be8da834268e2b9b8b34
15303 BNBUSDT Aug 7
9edfb3668266994331835da6db9e208a7baba2532aca76c61760c4a5c351856a
15304 BLESSUSDT Aug 7
2d017dc505478c57361722d7f5b34a60269b42d27cc9eb15533c45d5cc0489a9
15305 BTCUSDT Aug 6
a090a328bf7719d1d651f89ca35ae58cf9245fa29a5ea9e5bf7c8f09e113c7c7
15306 ZBTUSDT Aug 6
2f2e76645abb14ebdef970f39cd9d8d5093d541977e6c6f12515ba038f6acc2f
15307 ADAUSDT Aug 6
d7914e02e71b78e9f46ee15e7406083eb2b6b6be0e8e694f14eb23910fdf0f8f
15308 TRXUSDT Aug 6
26855b53e518c2a0b8f51b3bb2053018b3af1d5c977f13071410d0e9226f9ee3
15309 HFTUSDT Aug 6
3e82c7d5967c45b3dacae9a19ea42ec4fd94773e38533bca6f768d4940aa794a
15310 COMPUSDT Aug 6
6c71c94198e250e983d3af3e96ec6ed20d5ed31d9cd9b1fdde69f27727ae52ce
15311 BANDUSDT Aug 5
5e698e2a9eade05d9e54e9cf61b0c3cfab1f99f7420a037cbc24ef740d9bf1dc
15312 VICUSDT Aug 5
17ab6a167dadef5aa42b62b64358a44cf7c12e6f963e97c7fb33b3f031bde77d
15313 THETAUSDT Aug 5
2bf437d4a0e55d7f4d78325dbc710ae9edbcb9cca5988e212ecb415df2d7d413
15314 ZILUSDT Aug 5
2234a69c36738a477b90a9c952c37df05f9fbfeef8241de317953cf0c5f76c8e
15315 BLESSUSDT Aug 5
5bebb87137fcd5831f5a660a0aef680d9f437311ebdccb0f100e599922e07df7
15316 XLMUSDT Aug 5
72408ed27e8fba59a42dbfcb705f4381c122b0365596d83f6ce5b02630d61b5a
15317 BICOUSDT Aug 4
203581d892bbaea5ee9bb79f1339e7fe8cebc50e91600014b9fa9ebaf8ca1268
15318 ZECUSDT Aug 4
875f5ada3006ddc57daf911b8ee740144abfc1fb19a69d14dcd742c2b70ed1c0
15319 COMPUSDT Aug 4
6829f591db741574152c2486e192109274c8c9f2f09cef15c9abf714b0700a35
15320 HOMEUSDT Aug 4
ef95a99d8626e987c675edc7b8391338b67b98893b220e8f3fc84781e41bcc98
15321 IOTAUSDT Aug 4
038fc4e9d2d8f8978f83de8c5822f441e323c7ad5fcb768326422a6515070f14
15322 IOTAUSDT Aug 3
34fd6499fcf9626eaf528e1fb1c7dcbaf72efb7a9e32cdd6843bcac806144db5
15323 KAITOUSDT Aug 3
f89fe9a6649864932b71fac6489b8bc8276b34393b45b04606fec35b394e15b8
15324 ZRXUSDT Aug 3
90febc714a2b1a4bb38eab65e6390e6f97d3ce4c2203cedde42a68a6b0eaaf66
15325 IOTAUSDT Aug 3
d2e3670f660dc8a245345615b0f581dbd09f35b06ca75efb84ea6f362ee081d8
15326 TAKEUSDT Aug 3
3f70a9f8fae771d9d1a44ba42db576c3c32ec080f8179a0e8d75260b1fc6e3e5
15327 TRBUSDT Aug 2
2557debbb2f503d3aa9f309477eb8d19224bb4aa57981fd86beafe1dcaaad1d6
15328 KOMAUSDT Aug 2
133b3f4ef31404246d967bbe8661a857f8c065eb6fc4014da6a8fbb5617da4e3
15329 ADAUSDT Aug 2
de41f71f240eb6fd330b2bdf4548c84471298089c6349db17b80579895638232
15330 DASHUSDT Aug 2
d0b77ba7904c0e2cf5961b50c4219420876b5a0a6ab88ba24025e94d09c97fa9
15331 BEATUSDT Aug 2
033e0eff253eb9bb974d13e43e6d6d40155a45cdf5c40b53696ba0cedbc3fb16
15332 XRPUSDT Aug 2
c2aa44adebb29dee54bcd654078623f880e341c93f9c49fbdf1c2d72e9a5a6f1
15333 LTCUSDT Aug 1
e3a380606a8d0830c778c263931f7b8bc019df82d1d29f94d6288926b7945f1a
15334 GIGGLEUSDT Aug 1
dc75d5fa1d5d0c9e4e679223babe890023802d6f20eeda85910020a308709d12
15335 BNBUSDT Aug 1
ae9db2e21f64d53dc71c022942ac761befa4d523efa04805f55b6fe2446b05de
15336 ONTUSDT Aug 1
f4d90cd44c71b96d19b460f444f99db3f4715ff9e7daa54a9e6bc7926932d0dd
15337 COTIUSDT Aug 1
edd22be4c21183ed03cf587eb4218b12aa96dc6769fa97b8c75b2634ee640393
15338 DASHUSDT Aug 1
587187b94de6ffa7dcf9dc5a3524c2bc621fdcf479207b10064361446fa16b64
15339 KAVAUSDT Jul 31
fe9efa26349358431cc19e9ed9188e306db8ce5693d504dd95352e21fbf54cc5
15340 SAFEUSDT Jul 31
bcad7e6d4e2344d8c72b7af3cd3d6dbd5efeb23901ae3c98a6902ae31559caf7
15341 LTCUSDT Jul 31
1ffbeeddc934abb0e7447299dbd0ef27e49aaf4bd5ce466ca69215c2f030dbf6
15342 RLCUSDT Jul 31
ad28b7a0a270f5ece863186ed3bb7327f16ade1d1b40cd8b4db01463e5bb4844
15343 ZAMAUSDT Jul 31
d1110bbfed4a89e4350467b85ad525e84761a863b7638ca3e09fe54797b8bd09
15344 ALGOUSDT Jul 31
870c8529ba3cd2148ea6212ce5f8bd1e6dc5b0fbea8a2d7af67a5c222ebed885
15345 BATUSDT Jul 30
f92ae670c995bec47b1c8830c7d9cbbaefd75f6a9609d725b54c2a6cfb621ae1
15346 CAPUSDT Jul 30
ed458eac7b28b048fc990a7ccc3743ce1c8bdb909b7ad67632d9b3b1c1b90159
15347 LTCUSDT Jul 30
58551fa6fec8895f79ad56f6e37ee7d1fdef452192607ec4d35be6e6b91b9308
15348 RLCUSDT Jul 30
083b168a3dc88e801391d09669c729312043eb58188351a9361f335b7bf6d2bf
15349 ONUSDT Jul 30
7cdc54496860553e8dcbcec0b0daa5fc45cb3a2166cc8a84b01fe3fefa8fe9f1
15350 COMPUSDT Jul 29
7dd2fc13c46a1ba61d23b7367504a3a3023c87f796d243cd33584d4a47e9527d
15351 COTIUSDT Jul 29
bc971b6da1b0c1055c224d8bd9ef6d49aa5a7252a302bf5a3e13b15e79ce710b
15352 RLCUSDT Jul 29
84294e4d60b5778cc1cbe1102896fea79a27d1bef33dc6b25763b82877281171
15353 SSVUSDT Jul 29
f550d63a85f4eb2fd86733f4a1d7de02cfd12a514bfbd92450c0d6553f2ce406
15354 BATUSDT Jul 29
9cbd9bf1eb5367683101ec77f1960263c915c9b5ac3468f9dbde70fcc2e490aa
15355 ZRXUSDT Jul 28
537986d1ca842571700452a1b270b524a883b98bfab5ac64008dcc803315284f
15356 ONUSDT Jul 28
63d9f1cd9ef75624a15997faafd47c54f0cb64d852256e25334320a4a5680830
15357 ZILUSDT Jul 28
a4b7b38497da3f735c038699e549a70b29fbd37079cc0b9407c7552a743e2aa6
15358 IOTAUSDT Jul 28
fe0a0ec202eac88dd4e58f1a46bc701a12c7565551b5b4921854dc8fa85caf90
15359 UBUSDT Jul 28
c74224f22bb2a578938457e8bad7b159ac4aae9fa32f9ec3f03ac4035721ab8c
15360 ADAUSDT Jul 27
48e7261a2f874b352d19be879a5838d2d1c9257a8c5566a1e866f315c9c6a351
15361 IOSTUSDT Jul 27
28ce335d9c266750bba0c426d91d11d0817e69d674e8d455a94adfa2759d7c72
15362 BEATUSDT Jul 27
b3fb65f7eb01c6a16ea788d68ef027e4caec5220043a2277cf60c8d400fcc207
15363 ETHUSDT Jul 27
36230408c5faf8c999a5876bfbfb28c17936e0d2a33b8e29c9973d22eab5a16e
15364 ONTUSDT Jul 27
9c370c7f9e59801f1d0aff96149c048acbd4202bf2c48e0f2917173ce5f3d3fc
15365 EULUSDT Jul 27
b928c2c639d4dd08c3b5c5fc91c197cbf80dd842433770d6bad832aec3dde6a4
15366 XTZUSDT Jul 26
faeaed2c6ae33fae4eaefe350436b19d2b233fbf47c8e884f040a8170841454e
15367 ETHUSDT Jul 26
5997075d38a689978dcc9f581bda4c788e53dd79ea8e68d49f84efc6d3386234
15368 ESPUSDT Jul 26
b6e1bb66b3fe8b514f6b3c8062f877d4fe13e7e8e1b31b6b8f1d69466a1ec186
15369 ZILUSDT Jul 26
a77ed49d518fd9c6dd95c8ef0614ff032bfb9e686f752d2acd32b7a4c377194a
15370 AKEUSDT Jul 26
1f2d44dbaebdd5936ba062bc7cca68242e6251a835b5508dbbbb0a7047f580ea
15371 XTZUSDT Jul 25
95cc3d2816310a11986a7fcdb904b153cebbf330ccca51f5861b2a39b844b72c
15372 TRXUSDT Jul 25
2e4e90f4141b1a7dabd591bdec2c380120e70aca40af2a811de2d652bf3d3ea6
15373 HANAUSDT Jul 25
bdf29c0ed313a8789fc520bb62b4357d55365ef2bbad9374a2e59a3fa85dee46
15374 COMPUSDT Jul 25
75ab3752b6155ca19d9f6a2db2870802d5e38b5c5ae084a82c91cf710c4f31e5
15375 XTZUSDT Jul 25
1f3b932917de1d38c53056d92315d161b6701be22512b89729c3e61ad4c2181d
15376 VELVETUSDT Jul 25
a037ed6203effd9003ce84cec6ee00b2fee49549ecbc4ae14ec1adab5e3b1b76
15377 XMRUSDT Jul 24
67caf32a97de04edae84086850c3bbaf98be8d0ed53c25e48cd47c60d8638891
15378 B2USDT Jul 24
c3626b5f78b65244f4b5be51642db8944e916c82e73839c6ca2770409df1bc1b
15379 NEOUSDT Jul 24
db8ce1a0df12c86fb2794d8be64d1e6b9dd6efdea67eb6f6c971e27cfe313ed9
15380 XRPUSDT Jul 24
341321226c4be4914289535c0614b1310b1dbcecdac8fd31fc1dd187846c6183
15381 LTCUSDT Jul 24
b0d7c79a5f834b7a28be6b1a08f3fb84e8d331d8036f74e58bda04c65728f3b8
15382 HANAUSDT Jul 24
a471a6ad429ed356b8a47ba158776dc69d7a28918f4ea145e356e76e11caf6de
15383 AIAUSDT Jul 23
2a1f351c6d691a8bb281dd01ad1d2ede45e6af4801029690afd985c53a63a41e
15384 BCHUSDT Jul 23
02d3d2b588f78c94d8422e9d88464154858eacb0ef83a96036875a5211e78234
15385 NEOUSDT Jul 23
fac709749f49c02816c6ab36c213db2933b6c892f2cdf50c372d359598aa8664
15386 ATOMUSDT Jul 23
8f662d82a1dd101a491499e86a1c81a7fadadc373381618137be9893ac753b73
15387 BANKUSDT Jul 23
e9b0d52dbae1bc1091501192051a00720c4fa606099c0cc5935975b22be914c2
15388 LTCUSDT Jul 22
009746bda000c3951b81b99ace90cfb009044cefe3c52c59932f461563f39422
15389 AKEUSDT Jul 22
5869ef86c33966395cf2a66d99feadc7f0d868aa98e82a57068e6399938ad2dc
15390 DASHUSDT Jul 22
1c1e547240c961989d953c67c426b723abfd4c89c5efacdfc001bd0e963dc2d9
15391 DEXEUSDT Jul 22
cf0a806f3d75c76b4bfce31cb887e20023a3f842505cb3253423f5558c179f1b
15392 KAVAUSDT Jul 22
8a95ba418224f721d9d6f2722c332321e6ef37b7ada07667d62c8c3779d0d102
15393 ZECUSDT Jul 21
8e71750a37b3836cbec48a75197e295b7c3dc388c8a2b6cdff7d47407017ccbe
15394 TRXUSDT Jul 21
74e698f12d756dd7950cfa0dc5f86685c05900db476548d3d879080e804e223b
15395 SYNUSDT Jul 21
261407463537f1fc366bf9e4556ac62f548a52117b64482db4ca7d48a405b532
15396 ZECUSDT Jul 21
6585a458f3af5ed36e9f21e1dd841bb3c78766fad0320a9955684034313239b8
15397 USUSDT Jul 21
97a12857a5f755d9ac58f22d4158b6b3dd139987b445a2281db473db400b1a52
15398 BCHUSDT Jul 21
3275a0b062b39277a3feb8c4387266a0c692ca79bf669c9303ea1d77199bda5e
15399 ZRXUSDT Jul 20
7f1d89f3e73d22201fcea5779b6109b33f8afe35fe2e77b814329a5a9d12f09f

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