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

21600 SEIUSDT Mar 13
0042c5bd31da6038163bdfdc06458223845024e43fa3c5a46061e664131019d9
21601 DOTUSDT Mar 13
f5e99fdcc6ac214c9163538ad8df82f499c83ab701f96ca582153da393fa70b4
21602 OPUSDT Mar 13
db3aa72d68bccfea6b04734d62cb11ea281de822bc170b153444bd43f8341dc4
21603 TIAUSDT Mar 13
a21fe29ecbaf2d11dd55b0637a7868f9a180467228b6114af2930461498cf42d
21604 TAOUSDT Mar 13
e4ddaf7ade25d9d616ac4cce776dcbf5d8b310f99b9806dbc1bb3ca4db7a990d
21605 OPUSDT Mar 13
722e0ac482775c9b8b03de75c76f318dd661ef9b82e664c18b4da621e7fd5aa0
21606 APTUSDT Mar 13
702e4fd1eda0415b7805c655a790c8f97242a79bc759d54b5378484f43dd0070
21607 ENAUSDT Mar 13
a66b692de868ce0cce58d39b6a59d31925b562b9a59fdca4e4697eb857345de3
21608 FUNUSDT Feb 14
88f353e854e2988898adf08f86d12f82991788d253ef678ffba5306c3d7d7bd5
21609 ZIGUSDT Jan 14
6f2e00684256b6b88f6424b490469315276f3176b198581aa076df0cc9431fb7
21610 DAMUSDT Dec 27
b35db3eb89d5264556f034b84aaac6adf8e5ce8697a3d1a3875d1c7990f87c76
21611 DAMUSDT Dec 24
305ed8853358d39e1a9a05fd91c62720e83f4819eb65cb83af63d366f42e11f3
21612 BDXNUSDT Dec 18
49232ce3cf68a2db2bc60bba5e2e3d0cac76a50c807ed2e938b0379cf20a5325
21613 GHSTUSDT Dec 17
deaefd8947912c47029a9e2b5035ba928ed98f3afb1310bd78e798072eac7720
21614 BDXNUSDT Dec 11
e50ffdc9594cc92c239da0992d322877cc4d6dcfc40b2c0ff127625e367d6fcf
21615 BDXNUSDT Dec 5
47ab0223167b49847ff28161f871dcaececc3c97a86e2e20884e1b614d28f9be
21616 BDXNUSDT Dec 4
3da86949e0a1eeb8da6802a094ea4fc1f167469ac0a824b938c39299ed1145eb
21617 SKATEUSDT Dec 3
21df86717a7edb6f9cc7346d95b015f6767140ac5a57b1954f4fcdc5e812bcd6
21618 BDXNUSDT Dec 2
ac318bcd7ed90c0eca5cbf074a50562fe81fe297309ecd49e960d875d30d487b
21619 BIDUSDT Nov 30
07a994f5a902a8c5f9cdab581f238a054823b8c30b675ab229afd6e9418ccc7e
21620 BDXNUSDT Nov 30
e114bc4528fc03fe3ba34e6fa5336541b21c86b2fd22f11144a3f84f2302b9f8
21621 TURTLEUSDT Nov 28
0793f7d228049bbf0f89c4c5ae2daa837740328f6de08d2c04276d29a620ecce
21622 BIDUSDT Nov 27
b698e63361bfdb451ce3526655d124ce4ea2c3bb55d84af45b8a59f4294bc8fe
21623 BDXNUSDT Nov 26
98ce94015dea0625af29c8afcf9ffaa70575dd8196e3ec5d40ac32906440ede2
21624 GHSTUSDT Nov 26
0ca1ca79a18a3f3b3be9732fc2651b7b3a2e148f7506bc7e50923de9f79d89ca
21625 MLNUSDT Nov 25
5b87a6330c4d490f6b320425cc37bfc9b9965e278a07911efd9579145c991e44
21626 PHBUSDT Nov 25
87b9f854a1c896570858eab6c1d6237b826dba1338ea3b30b83e190fb9a91ad6
21627 CHILLGUYUSDT Nov 24
31e4697734a794311c7a580fa1f4c4a9b5f71f598c1cda2006dd1531d5fa3d08
21628 MITOUSDT Nov 23
b04d8f4884aeae22fa4f9506067cc7c8e7977867e2874daf41c2b9c59375671e
21629 MAVIAUSDT Nov 23
12aeedb2833d91b7fe146a258299ca13cd8d50e9dd1d9294becf7007c9eb7590
21630 BIDUSDT Nov 23
bf114116e1aab8c276a51c51dc72a1680bc99cc5255ff7d9fcba48162165f152
21631 CHESSUSDT Nov 22
fb120ca451af35efec3d9e40e0cc6c3732794c7a250628e01e6328eb39412ecf
21632 CUDISUSDT Nov 20
fa2278c88df7fbc0148e292e36d133d7b7241282ec93fba1d21a7d5ebbd861a4
21633 SYNUSDT Nov 18
ce6ed022f7107b89fbf8be7e29881af113a9e2d18e6454ab7739bab3f10f20e9
21634 MITOUSDT Nov 14
2e4c022b8fa1ccbbd6efe410077fe358f9333d69f512d35533f014547be16fcc
21635 GUNUSDT Nov 13
72dc6f610e1741f6ed1c7a685d9508aa9ee12576ad9fdcdd385d6cf3fc38da8a
21636 NFPUSDT Nov 12
a4c8b9a730f63834165922df3a713697c0cf57a947fdca1eb27f0603efe1fc4a
21637 AVAUSDT Nov 12
fdc6c7d41791c642755e84053638588a6a1af55a8b03d9ccc42a8407467f7346
21638 GPSUSDT Nov 12
39a58af8955240f13343d84b5f65c61bf18891ee34cd7b75cc92a6c2b251dac8
21639 TACUSDT Nov 10
66eeee01fc7d910fd65f92d50b386ed6dd5da4cb58efcc2b2627f65347755b01
21640 BANKUSDT Nov 10
df6ffd90945187266d55c51746cdb429b9a2091c0d91c4d406c7b1045564f2a2
21641 ALPINEUSDT Nov 10
03c6b48a380c7df994e4b087689015626d541158d62989744e04dda75be5c685
21642 ACEUSDT Nov 10
d8737ed293c83fea5cba5100b8d9e232dc47909c5d3d5974be360adb77d89a7b
21643 BRETTUSDT Nov 10
89b35f859f199ad1c85dfd731a400edb5d19847582916681bd4d823b9d59ab64
21644 XVGUSDT Nov 9
18c4b4b8b2642ecca7fd9a5a0ce6c6719ecf907794faa310970a81105c106797
21645 MANTAUSDT Nov 9
355037b96d22e63e7a9590f4f39b87405d5da0d2cf896ce2d87da1dd1a176178
21646 MYXUSDT Nov 8
caa35076ea687fbb7d5bc69a25507f0fd2e7be3c55fe6f5891c4c28fb471a1c4
21647 DODOXUSDT Nov 7
3d39de1eb106db203f602e749d444489c58fe8af02177adcf623ce9691a231db
21648 SYSUSDT Nov 7
3cd05d935e843ab70c01d40b3ba62b4935801241c757625230a8f31a171f4467
21649 DUSKUSDT Nov 7
1766385d130eb56f87f65eec28b30373ce50aa26b23aa9e488265c7113d70355
21650 MITOUSDT Oct 31
aad71ef7cb9e0a7741dcca4102b1f5885f98e49b3b1e9d334757fe1f27fffb02
21651 SYNUSDT Oct 31
7cdea8ba59f12f9c571b6846297f6de609d195f764963a3b24faf0e8d1df004e
21652 CHESSUSDT Oct 28
19f0511b56af2ae186fdae39ad89814532824e0b3d67958b17d0b74f330ae9ed
21653 GPSUSDT Oct 28
edd2cbcdaf92c4c2327b6355a41e73740f23f4af6ae3e96387359b7efeff83c2
21654 AERGOUSDT Oct 28
274d08f905fdb11f6d4fbb6757a6cc335709f22e8a21ec4e4a53bf4262d997d6
21655 CHILLGUYUSDT Oct 27
ee3c91c4724b6ec783a618db3dcfa8b25da6aeecd59c743c8108f788fe195c9e
21656 BRETTUSDT Oct 27
45661e5b8755a83c4f43382462be01e23c5eb378110efa4ced2da19434276041
21657 NFPUSDT Oct 27
de44518b65a6a33032b6b060cf9d26f0f5bb1e5b60791498bea9e0bd142b0e95
21658 TACUSDT Oct 26
85b9c561907235f2c48cd33f395b4733488bb4f0333d5d6e6e0a38bd5dbce668
21659 IDOLUSDT Oct 26
f2bf8b99f0125b79817145cf31b8b93813ef10b47e77ed069d2c74551ac74085
21660 BULLAUSDT Oct 26
0cce055e6357992e287888b39b44e9360abf252f54c2dc167e12e20cf3e4cc4b
21661 GHSTUSDT Oct 26
54d49963ba09628eff992ae3f3f1c84bf285b24550e5bf1756c284c5322ba9a4
21662 SYSUSDT Oct 25
408871412ea168220d45f96fbb82722e9bfc6e809f56dc1f84d11f15b67c3da6
21663 COSUSDT Oct 25
b2c022624e2c93d4a04f9266cf94a032f5608452031df44f28f26bc21afe1f70
21664 OBOLUSDT Oct 24
a0d3a327d6573f0c3f3c520f81e6d1e2c4d5f04432fcb8ba705a6f9bb61446e6
21665 FHEUSDT Oct 20
8f0c885425ddacdac6e1d392643a2d8b247ef404a4dc1f7e0f83a378594b7752
21666 BDXNUSDT Oct 20
e1747efef6eec6a90e5781be3343714bbd45247501c17c1f49694895077c2c5f
21667 CUDISUSDT Oct 20
3b3369799fdae28cab6dbf0e4d9e14564e6634d792363aaabda229a61c3d2a98
21668 PORT3USDT Oct 19
84168b9d744e3a6608dfd74bd99e815f58be2f9a58a3a8807857ec2a07c6f074
21669 FORTHUSDT Oct 19
b7f397c500a5b83aa33e64399c1ee5233d59a5837f3899efafab89e191b0e5ad
21670 TLMUSDT Oct 18
a0e334089d2145e82dc1f37bd59f766dd54f2686184673494c0a2dbb93981c07
21671 MBOXUSDT Oct 13
7d5fb3b6e525724907dac9ae98cd4357f144279e093b0026f800c04de0126835
21672 OBOLUSDT Oct 11
d2e82835e5bf2f6eb4ee97c336d5394c263af64a7b2f952cada6ef56554ba41a
21673 PHBUSDT Oct 6
c32a778ebd2c0d9409066572fdaa0cf2eaec68bbd259d080683fdc6a1401c8d9
21674 OBOLUSDT Oct 5
5443daf4ed61168bb6b37e95c359ac253a5fbd876bbf58645f29eb19aacc4a6c
21675 BIDUSDT Sep 28
1819adbb1870d7ac862398a4cb3ab0167e2bfdfa441e6853f4a55711aa4d2994
21676 CHESSUSDT Sep 24
307664434e3da77ffd2d25fe3df4e33676b7db02fcb7c9c518b83f7b35e93f8f
21677 MUBARAKUSDT Sep 18
3d99e5262ea828ae64328b2ada8245e973cd016be9c07ad6ec224d9fcbf2ff01
21678 BASUSDT Sep 17
efa8a2681af0197595540680023acb8477bae7482579cc8a16acc920cd9c0eea
21679 BULLAUSDT Sep 16
c9438244bf588b4a614744f5766201ee831f8fa5b3ad3884e42c9608c2dafa6e
21680 SYNUSDT Sep 16
cd3753980ef4d58c232c8d9eb6d9e6f16dc9b324217731875462fb5c860c1496
21681 SYSUSDT Sep 14
5fea23cd7165dd9a6a61e1c1623e0af85538c5f980ddf52be366304f6b4a4743
21682 ZIGUSDT Sep 3
c541ba099f7b89b8d7e76c7185fc94ff23544333b72e5293a7bae3347f1a81b3
21683 OBOLUSDT Sep 2
3b90ac229cc854f31e6cdcb8c4e3ab82458b4cc66979c9064ec8256995753655
21684 OBOLUSDT Aug 26
1e7df20d12adeb316d83a0467e2906388b5914f6a22eff95332f3809757fdab3
21685 MBOXUSDT Aug 24
dd399f51c8f0c8265c5a4a31651dc30f3ae6c3b7001b9e1783dbeb12c9e168d7
21686 ZIGUSDT Aug 22
7fd9d4f96799afa94dee9c5fb78aa3abbf3f673f58a99e3e37167354289a95b8
21687 COSUSDT Aug 20
d54ef4ca78a2b442241018560014e47946842bfc6fbb3cf592a28a24fda0f82d
21688 OBOLUSDT Aug 19
2bb8bff70bbb674f33169aba67d8293caef2cbe76387dd8f19918bcca7144c93
21689 CHESSUSDT Aug 15
a87e35588b1466db8dda19252fb101b47e4bbe72b3b3a1ccd8f91c576bfaef8b
21690 SANTOSUSDT Aug 13
0708b91749a58af7c09549ea3c3fb46128334bb8b6816563c78c02f7cf0be00a
21691 AIUSDT Jul 26
9a16c72bcde7f11c3f7da598d1d596f0f07fb8cc9a4497088f289a0ea23fb690
21692 FUNUSDT Jul 24
8d0fe592730fbf618daf82945694a352db7adfcf632e2fe0640b91070d358271
21693 ETHUSDT Jul 21
0a4a0db8432f479034b9bcc0b8139526d4f4a413eb4897c1e54dcb6b00208453
21694 SXPUSDT Jul 20
44b438d375999aee7026b0259abba8e7754c893088aa6805900a6adcd9a9873d
21695 COTIUSDT Jul 19
c61bbaa356cfa75deb2d5287c0e42c0a7355225f82a316706e7bc7f3c75e6277
21696 SUIUSDT Jul 16
ac86e63c02428baca7ac3900b601158497b2f41379085f3f5cb9380a145eb341
21697 XRPUSDT Jul 16
b593b5e3da78ad968c87d3e3be03ad13e8ccc582e7daa8551720797376939e74
21698 HIFIUSDT Jul 15
f0ce98415005e94705766ca154d4146cb3b468b80a0fb430a3f849730bc8b251
21699 BTCUSDT Jul 14
0841328cb9335cf95bf0dbb0c65d193a5ead176fc48f0433ec412dc3996ba12e

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