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

21100 SOLUSDT May 13
bcbcd465a9500767c632bb960557a7f0cf3335facbe156b09645ab4c8f9e053f
21101 ADAUSDT May 12
730218d24c972db2202e71c0cbd0cf9e31e175bd4d990cf6816f30559b684e7c
21102 ETHUSDT May 12
7e1cda2146fe06d8e5a921eb81040aa91389d993905f5f7878f869119036934e
21103 XRPUSDT May 9
1f4a581e2c395274b43ca2842fc81d250c841adb326333af48764827c0f8d17c
21104 ARBUSDT May 7
d22291bcef896725fb41f0ae0f81bfe5f2228a88a220837dcc0907264b63f221
21105 XRPUSDT Apr 28
552c41d85c452b08e12820de71a884fec9b854c674e95a1e88217bf9a16b3631
21106 CHRUSDT Apr 27
ee64d4567d0d095cb48706f094c62211ad88d6c2c67f94b2003a52c78e41ba1a
21107 KSMUSDT Apr 25
d9788e148b1bad7939d49c3f8de363b19e3c4697a1749068d533a5c17a4dedf1
21108 ENAUSDT Apr 24
295d444fce6c7ab87246bcc08400c4e263ebdacce504eb1d1fa0bd659665ae25
21109 SLERFUSDT Apr 24
dde029ac11acab5b73519bfbe364d9ea2b0817abed479ee4835fbfdcd62ad2f7
21110 CELRUSDT Apr 23
6f0a440570ed77ca652cab95390e9a2d926c576b39d8a645cb27a13422950ec5
21111 NEARUSDT Apr 22
4a947361fd2f647a3f8768c5f311c9f275a5dd3deeeb4935d1b4a551ec5345f2
21112 LDOUSDT Apr 20
727e82a5b5a09258acad675eece4f5cb8cf29f238a08a404d99c8398797961ae
21113 OPUSDT Apr 19
09b1a3dcc0db7874288cf2130a2fac3fa9df9dbfacb42b3d95f18dcf9139d9b1
21114 IMXUSDT Apr 18
c08080e1507aef0b6e733579fba2b84638c152f040435788f21e0e074d987d84
21115 ADAUSDT Apr 15
55186973225c7f73f8790f6313f0429b67d2a7e54b26f03f06d2f1c7e2b25a71
21116 XARUSDT Apr 12
7a985657753177dc561cdbb2ba87a979c2bad2c5ba3cfb247805ba640fb74b2c
21117 TIAUSDT Apr 12
78600389e1a8ec04dede49c8ce186c21638ac7cf6c7b88b9ce6bb6684658e479
21118 MOVEUSDT Apr 11
13418999757cc8bf71c2ec0af85d1f107718ed74682273fcdbaf7ed252b5575c
21119 BTCUSDT Apr 10
199ae201da2d85bf62f3a5c923980a62a11294ebd99dafec2d980ddcbb6280ec
21120 OPUSDT Apr 9
9105e3d49b6f1c9859cc4c2bc322dfbd344666783d31e26a1b670f50a0b8dd9d
21121 OPUSDT Apr 8
fa983577779aab45fe0342d4c69f856cf231008775c2ff070cb061bdf51d1d24
21122 QTUMUSDT Apr 6
1f580f0a9b7a85350d94ecdaafab43d85ffbe40df26e37a74af728b618208fcd
21123 XRPUSDT Apr 5
b148099fe2bf72874e996fa58d3238d091321c504221687ad911f9fc4bb97d3d
21124 STORJUSDT Apr 1
0395ade2f5df9a79ce341a05da5ebe8bad8ad83b4cfd302e266a4dee1c5f59d4
21125 CELOUSDT Mar 30
0fbe38155e61be40da2ed84bde8efa70ca6d019146cac7579784174f5e43d162
21126 NMRUSDT Mar 28
5a95110ca0f493b3e2d7fa9461df8d22b5ee27a8e4b20f11c79bacde9f19204b
21127 KDAUSDT Mar 26
941f31dcae8eb58bcb627b1ec683de6ecf6ebf2da6378d7e1d349bbd2211909a
21128 IOTXUSDT Mar 25
7d127fa8b5441a1d760dd14c6ac0b4c1f5f184df8792ef9f19e2beb74cc4c145
21129 POWRUSDT Mar 24
1d1377a5877e92c4f364adbce5de4c479d53adfdeecc91d5940f6c7bd1546459
21130 GMXUSDT Mar 22
1789236255b5abba63f278bbfb8360614a35d2fc2287ba3c42257091794ed348
21131 ONEUSDT Mar 21
4d2fac674b02e1977c03cefa4ba7f2f73372d2312a701e1a1bd9662c6a961c45
21132 LSKUSDT Mar 20
c47adaf0bb066a1a8b2c926325392fa5b64eb4a0e93a8e7ba6ea81cd78302dbb
21133 MTLUSDT Mar 19
49b2aff7ad61754333ce60074e5ddd8927b2a3c962eef8dcb4f4f83f68e1abd9
21134 RPLUSDT Mar 18
db8500bfe8f5fd737baa71176be08105ffc095375fe35874c977d394d46cd3b2
21135 TUSDT Mar 17
cd0778f0d7eb5e07e793d93b4ecfc737f54e48c4e9379d30779b020c5c73f678
21136 YFIUSDT Mar 13
53f20bb92d9989e35c92adeb09c356bf9cbce12b05b3f2f222e76c4cacb091f0
21137 XVSUSDT Mar 12
2a1076994f610bf86f0d30998166326e24258e74071cf28abd12ddcbf85ae622
21138 NKNUSDT Mar 11
78586562610c08ee25287b681c67bd5a6fcb7b7ac1417aab8787274604405f4c
21139 HBARUSDT Mar 10
bd9a49904f92d5a3421c3c144fe283e38b6377a06cfce1db5afb2135a238c45f
21140 DUSKUSDT Mar 8
42e0bb44533ec5573960a39667cd0ffabe062b686265a77e38cecf3b3857e773
21141 CHRUSDT Mar 7
6e7c153909465169104fdf894a17ca7cfa2bc12b583a63ab69e76d27df1fb35b
21142 SSVUSDT Mar 5
b143cbb1b84e5a933ddad5378e64ec75e3412a5e67cf9c8d55bdff20499eaa97
21143 XVSUSDT Mar 4
4e6e4101bbd4db2b31a10c43b8e5e4ef9892aafc7b40801ed242c0026c499df5
21144 COTIUSDT Mar 3
1e99867518504be6fef53f539bedf792b33ae7ecc90b68f73b6b2d80781b4e9d
21145 WOOUSDT Mar 2
64026f44413cdc017abc526bb33e5ef3d3bfdfd2d455c33587b2ec8d5d0a9c28
21146 BANDUSDT Mar 2
d79328ef2bdde32c2f396486b4d846cbb48d31789943e81be0fd5fbe0b585f90
21147 ETCUSDT Mar 1
9f342b5727ef1724d759d887247e9faa07708eea128488149a4d7ae1a5bcb5e7
21148 NTRNUSDT Feb 27
4b087e265abc1bdf3012450b048adb7c4c6272ba0112f4cbdb1b1b8feb0f9092
21149 SCRUSDT Feb 23
0ee0ba2fd0f7647e7ef5f6c318e76aad0221c2d53134eaf9de1cfcde6553ed09
21150 ANKRUSDT Feb 22
6404a58e78204d165ff83115aa7f14f86237f6f2dd1950541e487399547ef724
21151 SCRTUSDT Feb 21
be37a66f17cb6d790bb9c6cb338a9d2eed31f578508f25a4f76b4df857ea6b9a
21152 C98USDT Feb 21
35278419550d2bc58a5f8b0257279d7a7992192a23d05db3a420575083f1d2f0
21153 CTSIUSDT Feb 20
467fab44f6b5c0f31e6fd07a82df35004c5ad68f253f2dfd0aa8d19c9bc6f39f
21154 OXTUSDT Feb 19
da2563aa4c86f79d36b9710e58b81f479b253a5910e2fb2daf7802200ac5b641
21155 GMXUSDT Feb 18
d9a2b02bdf72a24c835c13a5086d19cd760315caf33966f95e33fbde338ed9fb
21156 ONEUSDT Feb 17
c07c2a14f0ba8e22777c0464a3a93dd0522525afe4a951f448346271925235c6
21157 IOSTUSDT Feb 15
51b628af822f6913e49d34e8ba2a5348f6663bd41f14721cccab085aa8d28152
21158 MOVRUSDT Feb 14
9cdff085d0a3c76dc3aac9e7b4c185593bb5131d0e8996ba36a2a2b3f7c8aa71
21159 METISUSDT Feb 13
32b19392f8efd6229c820efcc879ab874c91d547e9e3dc6a9bea254b48ea8de3
21160 RVNUSDT Feb 12
dedb13c70fbbf8aa17a3f872f995ada226da4b8872a894491987c8579caf469e
21161 LSKUSDT Feb 11
edde0e8f4b040e3d3a387c5d90cb32ba27ae49bcb9068f8f419386d541c31809
21162 OMNIUSDT Feb 9
43e20ff9f9867fe3113196c309b9b29784c0c9bd34a6f875ed5dc94154a2f561
21163 BTCUSDT Feb 8
e5771257d8f2d2ef89bd00309b237207709334221259f3fb230ec164f6e2c69f
21164 RLCUSDT Feb 5
5e602dc50846f07a6c7fa12c8afd9c8f638626acc7f99df47314aece048a09da
21165 CHRUSDT Feb 4
3692d124130c45c0c3e466b1183d7256f7c12e70f06ab434bea7f547dc5e8a5b
21166 BANDUSDT Feb 2
c5858ee526a7d592885e478e53b7b8c1b383013cf8ebdb466f1de3c4d09d4725
21167 API3USDT Feb 1
5873a86c9849b86d777faa5d1a2acc2a4279beb8c2b5bf8d95e8c26169089c34
21168 CHRUSDT Jan 29
4c174c1600f77f311120c54e38235ce9ed761e8c3acc5b51e1f2dd7966734502
21169 WAXPUSDT Jan 26
0dd6b81dbcb4778e16aaf2aab6f79034ad8634dcdd28ea61b8a6201ec0578b79
21170 SXPUSDT Jan 24
260faf3eddc1003f832e53f82d5eacfcd6b404be1ef9328de0a071cef5901a1e
21171 XVGUSDT Jan 23
4c50cf6a79d866d906d4f5ddbf90be2a1dcc6be1830f1abe797609e33bc97d07
21172 JOEUSDT Jan 21
e0c77bb4b235d0109dd22d77f907976e34d900790a20f7ab3e0b39ea77f33e7f
21173 KNCUSDT Jan 19
229cc2b51194248df1de7ac953c3beb9a9e73d4966a453e255cf5b6c36a6f24e
21174 ONGUSDT Jan 17
80cc35de5f61bef423efd00a613391e4494387be826362b7143107c7d401b689
21175 FLUXUSDT Jan 15
8c864b2ebcd7f7ad81431468e65908bee35c7f9eb7e2fc32a2ebcc24f8e5a504
21176 RLCUSDT Jan 14
81d2cad64f6a9d908bef02237f74d7dbb20927852da946606feb957b8313154e
21177 STORJUSDT Jan 13
393833ee2192a61e0922d60c7d7fd87ee239f9388d0c244a9016f68dea9f0dd3
21178 CHRUSDT Jan 12
c693b469df50b6527c678dfec5fd3f5a4bd5ee4b261928f7f8ab07f0785e1789
21179 COTIUSDT Jan 10
66b48b26163ae8975f98dff2d320e4ec92bfaa041376baf6fcb1a1f689d4808a
21180 ONTUSDT Jan 6
a633c293bbe4abaa42f7365a9456d6e9da7c7cdbcaea4050cce08070ee2691f0
21181 BANDUSDT Jan 5
499169644e6dca4c56a5599323e0c250de9373975fc67bec9abb2edac934ef69
21182 IOTAUSDT Jan 4
b154e1d10f9d7e0c4632df8df5df3ad4ca224b285e10d3f1195561709701c084
21183 GRTUSDT Jan 3
effc5f25b8af904feae3eab8aa0779b31718a2c84decfe8ff9ac4e93165eaa6b
21184 BICOUSDT Dec 29
bbfb5ba42c8ff00bf7ca8c1b32a193f624c29db50fbe1bbd36adf04ca4631d3a
21185 METISUSDT Dec 27
38f30c5e24ede2f24552bd43167ead1a94d2a6b8bd5792adf0ddcc00c1958e1c
21186 XVSUSDT Dec 26
4511fa18777352477887bdc91aa03be1484657cd77bf14ca8712dbd9b331935e
21187 CELRUSDT Dec 25
a202d45cd3bf7642826acb31fa1b72357edba1e7b619c77e78d201b862f1dfc2
21188 NKNUSDT Dec 24
ee5ab030b6e09f133c32982f6658f202e78e0eb49c330a01ed0005cfaad5920c
21189 TRBUSDT Dec 20
f35dc313367700686f61991c5ea4988f910152691b78d186db6100546cfa6fd5
21190 C98USDT Dec 18
8b6f4ba5713277fe671228ea176a99fab445a6b2b9ea77c6cd978e3fd0e9af42
21191 CELRUSDT Dec 16
c7ca96ab2db4c4a83b5ef19cce5a620f03d1f6e36c0ed17a00f3bd6bb3af1bb2
21192 WAXPUSDT Dec 12
65fbca5efd87e10aa43e25f5ce259d977f4d5f2cd5b3bfbde210e10cac08dcc6
21193 ROSEUSDT Dec 9
0813dbd93ffe2ff9d12cda353be77194e2617744635b9216727d3bd5c3948157
21194 HOTUSDT Dec 8
c9471d0f7f4af382278e13b4aabd8a82eb03e973302bc3722d53692a9bf2f5cb
21195 BANDUSDT Dec 7
4381ac7e056ac71d8e378af0e159a62fb9a90853b244d01a313d9321f5451128
21196 JOEUSDT Dec 6
fd1938a5376ed9421cc72387d34a050eafb279d68a241ae37df05bd6d0aa1692
21197 EDUUSDT Dec 4
794e767b6c5dc0b0de7c75e231d8451a159afe8bb658b61b8110108ffebdb474
21198 RVNUSDT Nov 28
19a386b63318d1edec769c9e68cbf09fa172ff94e604b81c1f74120f2ded3225
21199 PHBUSDT Nov 27
2aeb090534ba70cfe8c331274821d6c1c45cfeaaecd2429c01d46c0a5db29814

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