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 9, 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 226 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.

22500 EDUUSDT Jul 8
7672967f710f1bfd4668921bb356b2a904c551d64a37884d6cfde80b02466973
22501 XAIUSDT Jul 8
47e0fe3157fc3d33c88da99d2e3996e5da3e7979c845ddf74f5e2a473f02271e
22502 OPUSDT Jul 8
669ec3418455d0c59d2cf556e3f3a54f34bb9d1bd94e9da215c3c1ac586fc73a
22503 CGPTUSDT Jul 8
9333bd624d64416c1d9aae13eb118154b2ea363c9729194a6b51c1075541e2f0
22504 SEIUSDT Jul 8
257a9f0654c59b3dcd5594208f1b4bf98587527e6df1a149991264b6c5352daf
22505 PYRUSDT Jul 8
82b6c177c9fe73f33db1586e51da9c44d273b866aaabc4556055c8d81c476166
22506 DASHUSDT Jul 8
111fdefe6209a45ab8e1d5585768fa89f1da00c983d3c47101e0cf64312e5126
22507 FETUSDT Jul 7
5ff91f243d9283cb13db77a732bcbb4c22cd586742bb5990163eb71986173860
22508 BTCUSDT Jul 7
64505b5b0aa567dffd58abfb3b4556ab651327b17f7bc899931d33f010a1484f
22509 ICXUSDT Jul 7
2de0fac6dfba5ddcd3a20adbf3291bde68b1f435c4dbd0abf67fa68e98063a41
22510 XRPUSDT Jul 7
159d4328edc68ec4a3a041c4d01f32492d0bcc9b98608ba4e5def91933ad2080
22511 ETCUSDT Jul 7
76a6eea1860fbde34b245cc3d460b461e936d2cf92678328f412b4b903563374
22512 ETHUSDT Jul 7
59d7d5ad0e32f16de28d7f87a3e8928c088014122ea6caa854fc773a26262097
22513 DOGEUSDT Jul 7
9679df627d60a832ae6b4e83ec55e52af851c88129739f38e9a9c966971fceb6
22514 AVAXUSDT Jul 7
9a0be7debb538f52ae7bd02650a1e0726d7ce6bd5013e1cf9687b0af82d3216a
22515 VETUSDT Jul 6
0f56500301cb39720270e294c45ec118bec6e97570554cf8b8876a88cefc98e2
22516 APEUSDT Jul 6
e8e372208c412aaa9809bde973b69176c86e9b79d9dcfd807e624ea149c1f1db
22517 FLUXUSDT Jul 6
9eb0a75530f06367d3dd1b5904236658fc9dbc1f60d11308eb9c25b44c354017
22518 CHRUSDT Jul 6
d27168bb55ba73cc72f6af056e530331f460e9752a37d2ab643a57c15382e74b
22519 PEOPLEUSDT Jul 6
168152fbcb3976ffe4b9fe495c1e74a8aa6d0fef471069f373fc8f9857ecc420
22520 SUIUSDT Jul 6
c212cba5b63789fad02fdabe6bf812fcd3fd3a0eac963744f95703c0b1beb3dd
22521 DOGSUSDT Jul 6
9f8a319292bd29146caeb8f5eeddc9b7d2fbbac42febbef5075e41c5bbcda1ae
22522 WLDUSDT Jul 6
8fe0e0c6ba0e0ff35cf954bc553c13eb367afc49512373d1905249b45ace8b5e
22523 BTCUSDT Jul 6
8721ca52cedbd9498c2332c5cd0fdfd6481bf3b60f5497230e95dad0a872c736
22524 JTOUSDT Jul 5
6fb85efbfe551076613b26fb18d006cc563ee3eaeb3a58d1de51efc779831c9d
22525 CHZUSDT Jul 5
3ac1dff8bb6781a217edfd52eddebf5b9066cc42aee63af9b66e31cadab99d62
22526 XVGUSDT Jul 5
bf5de99670a1a2b49ec46c78a4fe8c777115b12d85fe3c544af05f759a4f43e6
22527 CELOUSDT Jul 5
351a25bfc9078d7c0e088cb0742daaff83b5a76e96494c4bdf92d00ab5ae9d48
22528 SEIUSDT Jul 5
350a9f01ce90019a717844b555cc769182990d337cd25854782bc4d892df3159
22529 INJUSDT Jul 5
a49b417669e9ceeea868bfab04bec7f83128a373b66838eec263826b71b0bb80
22530 AUCTIONUSDT Jul 5
a68daa42d66b4ac478904f2a53525e3b4dbe42abc53f09c40250a4d70b98b85e
22531 XAIUSDT Jul 5
470772aca8b04eb0a84c90f6095ce02ab40f9001270ee947ed78ded0a656808a
22532 RIVERUSDT Jul 5
ceadc5c689d7519ae94ef0aedbb2257ce3ac1efccee301a7908ae58dfcf5ba4c
22533 GALAUSDT Jul 5
6950b7a4d483d351bee2464930dd3104f80c007dc15f73732322475c668cef18
22534 DYDXUSDT Jul 3
1f78ba000d605931a19d74f94c1e03bf5c6f58874d226c4a806c5e6e7b795350
22535 CELOUSDT Jul 3
0feff2cd01be5c7a363ae2e4a757665bc0e039973ded709e12c63f14b1d61845
22536 PONDUSDT Jul 3
8210254fba92230dab2e33695f38fefb4713e1fa05692a5bf3e8fdb52aa55957
22537 AEVOUSDT Jul 3
e17abd2dab9abc57d8104c36ef02f0e6715e686d8d0568e17b79ae632f279410
22538 NOTUSDT Jul 3
309ee3ff5645fef0c93ca9d4a6af561e290d7c7e10768849b1a8a713b89f3c89
22539 SUNUSDT Jul 3
d6df60162f9617c10ec36e2895b2738270a8e484558a5006aebb332b1135ac2c
22540 ALICEUSDT Jul 3
eec1a71ee9212c8fe9b0620928b5c86d2305f9dcde8768c97ea7c26f952b509e
22541 MYROUSDT Jul 3
525dcc6ad5b4cf8d2ed1304c2a9a372773b2b1e2dcecb1b78638f2c6d599dd7a
22542 PORTALUSDT Jul 2
3d610f51aa11b74ae4c9f4a1c6610f2c0a3d9bb915d3eb1487b4ea16942702f4
22543 OPUSDT Jul 1
be3824bd2a47ba16e1e8c13ea0e626dc2d4cb4703bd92a64dd4930d86c290088
22544 MYRIAUSDT Jul 1
ecd7cecce3fb8be318a817e94336a42c73af7bcfdecc408e02a3ddd7986e4143
22545 WLDUSDT Jul 1
d446926284270d29d65ce05a860186614d9a954f1cdcc69583bbdc550bf9c799
22546 DYMUSDT Jul 1
78c47b9644e7540192bc564ac7a3e3d1c8b711d644e01d7a63a4920051182b69
22547 BTCUSDT Jul 1
1925cef0acf71d46653b3395aa65c45533c21d901f70ef6cfd084f4cb7b20eb5
22548 ENAUSDT Jun 30
d4690c69283d2b5895e68208103849cd832dbaad1aed4666859e8b90795be24e
22549 AUCTIONUSDT Jun 30
a40e992e58e15baf463624b3a8f20740b4eaec1d4652ce63b212a7ea25c8c302
22550 ICPUSDT Jun 30
945709c9654cea461cfc629be02f93bd281d5779ae9f3581dae7d8ea1412677d
22551 ETHUSDT Jun 30
4b538c880955709321dc31a70c55f2d857817531835e7cf45284b803dd1cefa2
22552 MAGICUSDT Jun 30
af52127c24a264f97ba097aca966bb88077f20b78f71cd2dbb997c413f3ae62e
22553 RIVERUSDT Jun 30
7d20b0b635430ba708a9fe5a1c7efd3a5a73528bf94db216c9e62f1d51d7f560
22554 TWTUSDT Jun 29
bdbf4fd563508f479c259bc324a8438b865fb049d3e3e917ad73b0e21a2771c8
22555 DOTUSDT Jun 29
45a04fdbd2c3d01a6cc9bd72fea8f9be9ea1afe086b066e891810499f6d43d55
22556 NEOUSDT Jun 29
aab90543384d04f74b3d6955d8b1e5b432ab1639e94b175d22290c55967f0662
22557 HOTUSDT Jun 29
a65edcda9c5827e72a679e52621026ed9bf47281301b1f8326315a6129727032
22558 ETCUSDT Jun 29
dc0dc9f3d6933a0d58d71167d94edb9ca17838e5034292992139a7103786bf34
22559 FLUXUSDT Jun 29
18c1d76ccca7beb02338e1963976e197643914ffb79ac4c8d53da6b25693d872
22560 APTUSDT Jun 29
3a010c06434d7d5eec59b7fb98752484f813ee044528f8dbf7fac7b3e519a7da
22561 CVXUSDT Jun 28
a1d08b9877955d8b2b15c3069a6b06a1f5d2659e0736115372bbde0b12c50d97
22562 CHRUSDT Jun 28
ce206e0e0def144f4ee5ac4e6ce4bc5098985b53a5b9138b61632e77f435c0d4
22563 ETHUSDT Jun 28
3c9e3d21bc4c77f1c7d53308c9b031bbc5d28ff896418a61bc9e3e3662d83358
22564 MAGICUSDT Jun 28
1b8343eca81e3b75b5f857adb84132f544b1e7dad5e2e1ea1961b8aeb10cfbde
22565 DOGEUSDT Jun 28
7344bca44926e166235a60124afe8be08339b2386b7c4dd79a60dfd46b03a908
22566 SEIUSDT Jun 28
2e4f49b1c22d61fc48f5da78522627042365f91f3de9b3da89d6f7c25e067ce3
22567 PYRUSDT Jun 28
d8d2cd3ce5767b6ccb44fd103e12abc18e3fab614a5e69681a5c0765e9b20e21
22568 DASHUSDT Jun 28
20e59d1cbb4d238a1b401f88075d3cd1e5b5b83638ea4de1ffd76c49a1a60a24
22569 PORTALUSDT Jun 28
c855f6e957ff64455187ced3df9f834fb3d7f39e093aaa7caee32a7f86f7cc23
22570 JTOUSDT Jun 25
c21b06e1f581aa8c3eb9b2a2df8305c6fd8e677247f6f81e74a6a52deebc543c
22571 CYBERUSDT Jun 25
bd09c94f1b27e11d5fbd4ce347587b38fce8bad57c8a9b56e733553ef4d35b82
22572 RLCUSDT Jun 25
264c388420c12e5d350506ef5f45de64e42340a28295af5216df500a931722bd
22573 ONTUSDT Jun 25
3328e7ae1ef368d7684d3d697a807e674d3fb92809bb7315645594df79af5483
22574 INJUSDT Jun 25
c2f6f55cd60d7c752acbff6e37dbd1f415d61267a0d364ef4367aca0dd1e5ab3
22575 CGPTUSDT Jun 25
e556eeb783013126825e57fe1dd8e025369cc119630fb4ff5304cab1331edd96
22576 ZROUSDT Jun 25
58442e9a0ee560172ea104927b6e4ff89d72454e39e8c82d100ff2daf29a3036
22577 DOGSUSDT Jun 25
9f8b209fa3b9fd7323a950b6b47d767d98a65c91c32215554a1e6062a3f1218c
22578 PORTALUSDT Jun 25
aa6853aa8508cbe39c384e946484605f0209a63ef6191a34183bf00f2ce92c72
22579 LDOUSDT Jun 24
c186feeb9d30561175ae1b048036e14e194ea7f9afbed3094531d9b4dd333b5a
22580 MOVRUSDT Jun 24
4bbc82fb20066505cec1581dd64b82b1ec9845c234f7f6653353b7cee7767768
22581 DOTUSDT Jun 24
6819025c7d65e1b23447238373aa11e3583d47b43159e7a5345372d631598778
22582 HOTUSDT Jun 24
58e070cf94c38b85e217acffbfb955e5c83b85701f43f961686914e8c6aeadbd
22583 CGPTUSDT Jun 24
094cea2cc51a2a8c4ed9f773d010221cacf8638c6e3b72fe0eb79cbe31159833
22584 PEOPLEUSDT Jun 24
b56c17d5b951ebbdd9c14713763d01b05b22ba1a7b43f3471b8099ae641c1a66
22585 WLDUSDT Jun 24
823dfd1d59ee604f9f967403dc158e5d59396286d97ee8ef3765bff69168b66f
22586 TONUSDT Jun 24
b5d417813bdbd8d3eaec0176b1a0ea764296e3f1c683c0a85a0cc5d261d7cded
22587 ETHUSDT Jun 23
c4e562881aa2e0b7f9c987bde0d6c83e763b739f07ebf06f37d336cff8309887
22588 DOGEUSDT Jun 23
a29d480520b2f69d8ff9c10058a1e98240e5e7d5c70fa7c4238c6376fafa2023
22589 XRPUSDT Jun 23
8f747ab93caeb22d6c0d521d2653e92f191d0d8e04d2bc98e342ccf24ccdfd5f
22590 GALAUSDT Jun 23
8d8224470da54dbc90031dccb3a87cc09447bbbac4124635cca9031b2911246e
22591 SOLUSDT Jun 23
9fd19bf533c9c3c3407a2202cfa01bb08e1f43f911c4db3fdd6c893c13f2c0ed
22592 DYMUSDT Jun 23
f1f74f4baf759bce2bccc6b115ed2ad31695fda366bc0a68fb51c9c49918276e
22593 BTCUSDT Jun 23
a525527ac1ee4a5f47e9ad028166ce392731b319c3beab33ecd51b9599a67fd0
22594 DOGSUSDT Jun 23
8e4087e535e25160c7c68a5bd2e517d885689b1f8c6c6d2006c7c6689ce09b4b
22595 ETHUSDT Jun 22
bcf00ea698bff26619ab29e744eb850e238e2f20aef4a746a6e1d2aad4b2c065
22596 DOGEUSDT Jun 22
d259d0005ec60353c4d04a479946bb6510fe8995a6da2b01753dfb13fad956ea
22597 CELRUSDT Jun 22
c0e3b143759086dc5639540247e4ed6fa315d1efe68df9e6ecd482b0b8adfa19
22598 DOTUSDT Jun 22
68220429c768873dd519b79ca892c59f3c0299069a00138fc902756792347a39
22599 AUCTIONUSDT Jun 22
b573748e73779beabb273e142f7d80b08d23957d6d4d0be4c01f2a38b512163b

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