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

16000 STOUSDT Mar 24
335405c84dacd028fb2cdc0a718ddd7c817c142983b69930c32559680fe898ad
16001 RLCUSDT Mar 24
280e73ac65fffe196765bc99ff3ffe4d18d2ed33207e24911be6df602105927e
16002 ONTUSDT Mar 24
19029f094b20f36b8272b32a633794c1919219ce900054d562e00fa819f78c6f
16003 BRUSDT Mar 24
a053275697a07811d00c60493388ed8717e59a749a1da95f5c0a7aa67d677d98
16004 XTZUSDT Mar 24
82d9c28f9401d26eae28b1de2570cb903cad0775ec6f91730ef879dab901b615
16005 NTRNUSDT Mar 23
602e043fe4df6682538ac37e90a306951916ecff8be4a9f58cd465cd544534a6
16006 DOTUSDT Mar 23
1c047b8133c044d60d77d788badcdd3e2e9990415499ae31e910354a4b24cc84
16007 XRPUSDT Mar 23
4eb0f0cb1143c98792dad2e95a9ff96e347a2fe341107fbda3f5743f5e1b90a6
16008 TRXUSDT Mar 23
2211053efb17bb1ef95ad3d47c8bd62c58670a7e64222501c1b2b928c12ee510
16009 FOLKSUSDT Mar 23
3acd11bd4de3ed8cf357727483808cca4855427c33bd70ba7619f469c0bcf92c
16010 DASHUSDT Mar 23
5cf915b51bd1dd3b5204ef4b19432a1a7d0056dbb7d6b92e047d2a3376230392
16011 JCTUSDT Mar 22
3f2a338fe66030291965bf25b505a11377442d360e2d1d790e923fb8196c1fe3
16012 ONTUSDT Mar 22
7a8652de1d539048cfeab559330f9016c469fb009b5ebff4fa502f2a0f2c6bbe
16013 ZRXUSDT Mar 22
c151eecbeef3e83240bf258e91ad7c08d6d0cf2b83f76a773a4577698c3540da
16014 XRPUSDT Mar 22
24f79e7e5ba33bf562be9e478be6284c049afbbbf69e03e2b0bb8eb444629c0b
16015 SIRENUSDT Mar 22
74301c8726ec61f98be2be6534c621947c5296b27dc26086ff277e3fbd7edf3b
16016 RDNTUSDT Mar 21
6bfbef606a8e9eb7d7b6f0c839137fba9d89e0f4dea955c52a85f85bf8311848
16017 ALGOUSDT Mar 21
8f6894c22fbc00171805530c748c97fab56ed820a9218bebb523a82f05856e22
16018 ONTUSDT Mar 21
252f42948bdadf2285951d3374c67e71f09f0cb6820fb54c96f8a6f55a8bbf91
16019 UAIUSDT Mar 21
53433d8ae57c48d00591f396d0b30052b202692e38148434329b1a75c7718b30
16020 TRXUSDT Mar 21
a69447a28c0d203df237350cd1b5f69fdac975c753fa1719d687f6632e832420
16021 ZILUSDT Mar 21
a2d96bab422efd21a03cd80315369bca28f1239d5ad99b09e612e46ed21f65f8
16022 LYNUSDT Mar 20
2f2eeee69e81954bb40eafd6fa63c97b7056eea4a27396a4cfd0a6bb20bd3c2f
16023 BANDUSDT Mar 20
86707b6faa0571c8affb9338c2dc3e6a4d6f4b30e2007c3ca2655f2f81e55f93
16024 PLAYUSDT Mar 20
ace039c56584ef26f272b4f19044d9a1bc8166906c2e378e2e78ccad9ce4106e
16025 IOTAUSDT Mar 20
39f17a29df36e4494e0dcac36023364be657bcf77cd3aa180bba0af0bf63a67d
16026 XTZUSDT Mar 20
0e6de49f0d2144c19bafa77a26b946a7bfb3e97fa91a694e53c3f2095164321e
16027 SNXUSDT Mar 19
587bd8106012400aa86a801abdedb0c28f99b589f29dedccf022300d58db75a8
16028 NTRNUSDT Mar 19
0578ae0d42b34cf2afdcb896b792f0ff400c00ee1abf12056c182aeda7b56581
16029 XANUSDT Mar 19
b95a0c752f9de081cb5f3d0905980fcdfb744050fcda881bb1d3b23455686505
16030 THETAUSDT Mar 19
ca244d921871f330c87b62ca9aaa1f2110d960ada7ef7e079e208772b461faaa
16031 YFIUSDT Mar 18
aaad9543281455795075860cdc70c68218f6d7092cdd06bef2b3e85e644abbdd
16032 COSUSDT Mar 18
3b62473f15af92fbdc9e6fc09e77ea4bd8f023f0dd1b59f3e585ba3c71a4a239
16033 LYNUSDT Mar 18
e3365626a2e20c635faa197e0d6a761e5705a188cde5c0a3b2f8e9fe36893a9c
16034 LTCUSDT Mar 18
484867ed940b6fe94e9885f803f82c9c05b02c713b54bb625c5bf9d2452a9db5
16035 ATOMUSDT Mar 18
c52a652195dba2259392749581ebc3066be6a802c0dbc05f0347ac8e69cb5e00
16036 BCHUSDT Mar 18
939d01812c1de3fa2ca69af96885c7a6710946b95cb3efe0bb8cd518923f735e
16037 HYPERUSDT Mar 17
0bd250df0f41fa5740a7c734d22f5c5ff3ef69e390c4942a6a8009d569e632f4
16038 AINUSDT Mar 17
dc34e00bb79d8647d96cbd0d64b38fef9970c848031100238587410b311e364c
16039 TRXUSDT Mar 17
bd8ab55db37c9e6bc3e9cf05cce9a71fd7875d06e88e0d7d2ffb68361da5fef7
16040 IOTAUSDT Mar 17
ee661a384b2a2390a057617e668daf20a54736599aa474bd6fb0291dda5822fa
16041 THETAUSDT Mar 17
bbf8c19ceae858b0dd504cbb256be55ff5a08bd03bcbf038878d55d99c07d17a
16042 TRIAUSDT Mar 16
7b478cc5824c55d69d9394291f36df90ed0fe6f78a0ee2124ac51f618aac7e53
16043 BNBUSDT Mar 16
551ac56e4d39b0e36fcedced32052c660980fd1703bb2362dce436d2035e9aba
16044 PIXELUSDT Mar 16
c3ec1f78610bf02d1e1eac590f9faf5ef3d84b9c0d59470e430864da762998f2
16045 ETHUSDT Mar 16
dc96019a3d16345323234001bd3f8b991af8bd34c98214c3e5dec92dbef2895a
16046 SOLUSDT Mar 16
8a15f68634f3b3829b98e94c9a708bcd29cff1d0c51187edc6ed1b69c28cf4c8
16047 CUSDT Mar 15
30ebf1fd6f8314b1e8d7490182796307100981f19802b8ef44d188476b6a0e42
16048 XMRUSDT Mar 15
601fe62a70b9d47c17ea53bfc852a0aa5c02e59310ee02f8a43632e37c4a810e
16049 ETHUSDT Mar 15
9a8ad1be8d42e71ea5f81c957dbbb5752eb9e24c5a1f80677c714361bddb72a7
16050 APRUSDT Mar 15
1a6e86684d441574c33aeffbf2a5023144934851692062c71fabfb8c7dfd9373
16051 ZECUSDT Mar 15
ba21e0801bcf1d837f03a9596941c3c71d20190b010909f619b61bb0123671b7
16052 1000WHYUSDT Mar 14
6299c31a46d2d4b400aafd358dc11c7881a33604b3486c35e409e84e2f4bde00
16053 ONTUSDT Mar 14
3dddd973c2c682b843874135203feefb72c1d619a5db89a4dcca50194f7d5d7f
16054 TRXUSDT Mar 14
f2ae90f207582880952941284930c5143a95ec68ec08ce8a512055d8b0e339a4
16055 ADAUSDT Mar 14
657e05aec0351f679b42ffc5aca6e0b43631370b2625c997de04506015f9cfe3
16056 BLESSUSDT Mar 14
2fe79ab0137475ac1702ade09148c428a64546e448442045925efaf6552bd610
16057 TRXUSDT Mar 14
47905d223f72d7fc9a0d695ccaafc6e672b4f9b0c8deaa152e1974d4f4a59fea
16058 LYNUSDT Mar 13
23e8bcf2a48e8edd2150d478269f781297b3d40bffd4b33059636d602163d733
16059 DASHUSDT Mar 13
d4c9f268ff84834d416e0370ebd139dae5d3d06cdb9c3f9fe0f936e8224dc1c1
16060 ALGOUSDT Mar 13
9cba42053dbb4a8e90447e0593d184248d6a2cb0986d007c9a757f14dd5ec96d
16061 COLLECTUSDT Mar 13
753d261bef8664974438caaeb0f840183c977cd9373472c8d2522d73efb87ffd
16062 ZILUSDT Mar 13
2876ec349d38ef7651aa514228aeff5d7094106c5e55a81175040557cd7d3af9
16063 COLLECTUSDT Mar 12
6585932213447c416d2a585a50e73904cd859dae08253f4e80ac8fbf44169b36
16064 ZILUSDT Mar 12
cd7a6b4653dab3d42555bd4f4d26d11536af609fa862593e7d23961c66ebb301
16065 DASHUSDT Mar 12
fd13b10e5aea9ab4b8f1d49aceb17b0bee0cedf339abd07415e3fc356e2b411b
16066 ACXUSDT Mar 12
fa4a3185b6b5c3068d624f579941b6f756513e09efd1fac3213353fbdacdeca6
16067 KNCUSDT Mar 12
80fe42774bbdb5fbd91150270da59efd974f8d4154082f6b277845c96ff27ecd
16068 BATUSDT Mar 12
afa7261e299763c064e4af5d31d8659f859701bac96d724ee443489656d834b4
16069 JCTUSDT Mar 11
f265ea00d4450b14446989b2b9ecb098e8793b8bd77c1045405daa44c1783ae7
16070 DOTUSDT Mar 11
aacd389370fa9dd3bc99d1ef9d77c2d09378ecc1cda68cf4bc661196cfdc6f82
16071 ICXUSDT Mar 11
60e25d83a22aff26c773fc59e8d5d0f04925d4688d1feaba405cf5e222beec07
16072 PIXELUSDT Mar 11
238b95d4224597a8d40b5711eeb0d05f17a802feeb3d531a85ceae2e110dc776
16073 XLMUSDT Mar 11
3998c50765d513138322567d82f6ac01be9fec16af047d61b09ca73c403b669a
16074 XTZUSDT Mar 10
ea4772cd692b8cc067a2c7838fff899e3b16e52bad7ea95256dd53ceb12ded2f
16075 EDENUSDT Mar 10
c7a4253fd5701c5b7d1c065f01e4a0d9bff6059518a32c05b7d2a4a9a82c545c
16076 ALGOUSDT Mar 10
a56241a1a9bd01157b1e4d3497d5aa3736fe39c049458dcb2f5259d1f34e3003
16077 XLMUSDT Mar 10
fdeed1471a7517506bf04d8683cf691352cd4b03d718f0a332477964577eaf89
16078 HUMAUSDT Mar 10
7eb16b1fa3b370d118c561f89409e7b06a35a9ea79f7bf7cea8107a768c44d20
16079 KNCUSDT Mar 9
12b9ff9327fb592cd0609fc760a4612a20dadd1880aa6705f675c5cc3deb5807
16080 IOTAUSDT Mar 9
24276f176c71e173da0e2c98c49805fbb5b0873d794d8c0a20a238252ac430e7
16081 XNYUSDT Mar 9
2fe1f0f0b6e22e3d845a3dac42725f069d6c381ca96c696eac918df603333cc6
16082 ZRXUSDT Mar 9
9aa9f168044270887b5f1aa78ec5376427629d9fdde59f086c8be7e72b1975a7
16083 NAORISUSDT Mar 9
b00b920a287a383ef8cec1bed25367596c1886c02be1905e29369d1e1eb3ae2f
16084 SNXUSDT Mar 9
07125113b8523b5504a9006b86be6ba5ea88ecfee4a8bc07c79758bda8940681
16085 ETHUSDT Mar 8
021c01e546101eedf6ca1191a3014d732d6736c960b16684b5db7ca90a9645e0
16086 POWERUSDT Mar 8
e118fe46b82f0382f8e84aee2d3307b4e71be75c4d11cc24732e24258db19719
16087 COMPUSDT Mar 8
fa4f43103bbfab32fa1498b15181cc435ca4e3fbc93ec75f173f1a6dc389915e
16088 KATUSDT Mar 8
905bab4fbd5a9c10123ec28b66edc2dc4e177885ff147595ad83f281190905c2
16089 BROCCOLI714USDT Mar 7
9104134ca06c4ba9945a037c2fe795e282107af83976eecacbb5f1c2bfcc49e5
16090 QTUMUSDT Mar 7
6b9596f88733bd28d24a9d5f0975a124a73a3ba3b5987130d7b774372a48995d
16091 RLCUSDT Mar 7
73f9c667513888cafb9dfe3edd6eeab9e604fef3663137262b19943c2d08c5cd
16092 THETAUSDT Mar 7
6a24efadcd5536b7513704869923ee29ccc4787f7d75385dde4b46bdd155d034
16093 HUMAUSDT Mar 7
498377b219beba0607b271add03bc4abd5b4e6e827c9a5f55200f5fd4cc8e767
16094 KAVAUSDT Mar 7
13f55b066e2e8333b917f49e74b88ee01c6a9bfbd3837c8b2cbbfae908f791b6
16095 COTIUSDT Mar 6
86766ec0ef3d43c143c70079614dd99ac5cb869b163f930bc01e3399c2c2afcb
16096 XMRUSDT Mar 6
ada591c89d0ba5559af2bdf2aff5940e29e9a037a4e4c5aa957c69d877d957b9
16097 POWERUSDT Mar 6
e9bccdd6add1efe316b0adfaebefd64eb2ee3523eb05bf5f5e46d7dcefa8f475
16098 ONTUSDT Mar 6
16a129f687778a530e660986f8a9e426f239f839a6d2fb235d13414cf11ae4a0
16099 MYXUSDT Mar 5
b458627d9bbbf42accc5dde5617224be0d5186f61b61db6cfd1cea775d58dd2f

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