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 11, 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 50 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.

4900 BTCUSDT Sep 13
3bfeb8c07882209283a8a7d0f20de11b7c925a99b6772f4ef3b347de3c7dc4b1
4901 KIIUSDT Sep 13
8816f58fe4115a95c198ac8444881814c1b196f1c320fd493ec91cb0d7bc12d1
4902 ZECUSDT Sep 13
c26c3a1e627266475b403bd21156243fca5d22bed607ade279991b77561ccf68
4903 XMRUSDT Sep 13
3028b9651352db2f3bcf120db50fa4c0ec9e0dfe523bdeb75d8c432c34f750c9
4904 DOGEUSDT Sep 13
fbe021ca6f1a204437e51caf8e10b0c3a639e70c09efdacc00c859cd0b5ccd36
4905 PUMPUSDT Sep 13
30d5bc0b46286b7d5d23a6013ebbceaa366147ed421c4165546fc4a3b9ea2a65
4906 PUMPUSDT Sep 12
a96011f4d88f6f167e6fb35b0d7ca34a9f90bf76960771f4245bed57a85353d4
4907 DOGEUSDT Sep 12
0243aab682a105d4a7e6bfd4626e33dceff2249c2cc521b00f3eadcaf14b9603
4908 DGAIUSDT Sep 12
f97090eaadd6b3d3c1a48c31e0c3857d570c2fbbd4d9c13ec21c263b29ab8518
4909 SOLUSDT Sep 12
7286ae20b2caf0d86a0b2f25df73549d4dbc2daed014793860f4481239627a07
4910 ETHUSDT Sep 12
461496d3a34d6d3117b2e06b1e2d22553aff3a8a3c44a9854f93148258585c33
4911 DOGEUSDT Sep 12
2d12e662511082ae7ffd4e05ff501e77cca7459b35235494b930991ee9940504
4912 DGAIUSDT Sep 12
6a45f34a66f44a0e253d114566c4fbbbf2f85fbaed3b3517785aa03412d81e5e
4913 BNBUSDT Sep 12
273e776ff93a92d2470ca40f88e505cb8652241f264dc6928fce9df7b7db1426
4914 ETHFIUSDT Sep 12
732902710140941dae625cce09d4c1d9bf353756b54337764a0f59e9c0e15fb6
4915 XRPUSDT Sep 12
c541b3a1d1951ec9833e97929bc4c744b840d86fc44c1ed3b2d6d2a316b15f73
4916 SOLUSDT Sep 12
3aff2cd0df2147e465a0d8e1382dd2958f82d53ebe1c3ee0dfea48973dd63699
4917 ETHUSDT Sep 12
93507021c1d36ca57ce5d658df4e296d8bad022e9718f9b359a31bcccd043034
4918 BTCUSDT Sep 12
ba880cce87e734f8e47d88cf8ee62bddce850f3973fe6d7b3bb3a968b737f5ab
4919 ADAUSDT Sep 12
b11858287d08a250d508684a973a45a56686b84e6580a43657fd08dfa0c47af9
4920 LITUSDT Sep 12
5b0bb11708fd7c0567f533032fcd19e16c9ff94c54f5d75fb08a3f9ff69dff08
4921 DOGEUSDT Sep 12
bb545980aa2ef30db450d2589bad1168ccd3f80f97111e655edc43dcc8bbc6de
4922 ETHFIUSDT Sep 12
b02a9d59cf79bc130e0db78b8b4c4a38a650f06b0fbb18d99e44b1ae49641e45
4923 BNBUSDT Sep 12
681836f0579215386b68e1943b291e979234e26ca639f1a1db6979ce019b326f
4924 ENAUSDT Sep 12
43f7275a1bcb4b567b891b94a6953b00cbe67ecdd44a7d4e84d01a65b10a455f
4925 XRPUSDT Sep 12
1ab791d60e986a2b28801275ccf70dc0f2abc9569f820f242f31810583a37960
4926 ADAUSDT Sep 12
44a2a2a592b33c3e6778b67409957c1fa4a601ba8a4d9742ecb74a0812447bde
4927 DOGEUSDT Sep 12
2106b345f10b25aa6d66ff925c57baec20fd95fd217dfbdb4e7ee2e9cfd4dbe8
4928 DGAIUSDT Sep 12
d3a88fcb1fe67aa7c7e4e727a5d8e5d5c4680267a2dca28410102511038c01cb
4929 BNBUSDT Sep 12
20055926f09179e9191fc9661b8f4af2a752af01bf68405d64fcf2455b2232a2
4930 ENAUSDT Sep 12
51812bf8d9691acc46f4326c35b623d9c45f0baca9b7429d44482d5d90d6ea65
4931 XRPUSDT Sep 12
fa38ffd184ddff745b86e948fdd0efd2cf49307d37b47bc3b8bcb822b88206b4
4932 BTCUSDT Sep 12
910923e2a6c77b84b27f89a279e0980acf86146864e7d7a20f08dd2f2e5930ef
4933 ETHFIUSDT Sep 11
c6b48690fafc8650b65b16de48e9e9b0224dea28b295366cda19efdb4e04e25b
4934 KIIUSDT Sep 11
30fbbbded5f3a7c4c6dbe850d9078bb1855ccc17896f38f1271c95a3d42633fd
4935 ETHFIUSDT Sep 11
e28f284904cc447096635265e7a4303c6c91ddeba8151477e1ae7ed4189cc95a
4936 ZECUSDT Sep 11
5412e39c300a2b9f43c0945adc266653a48a1b431b21e5ccaea1982d340ad32b
4937 BNBUSDT Sep 11
56d42d703627ce3e52cf3d5dab3506568e3ed9746df9a122ba24b21c9e9d1949
4938 SOLUSDT Sep 11
e5d2dbf40b67c50627a3691a98e2baa3b6709deea1f423f3821b6f994e05fce6
4939 ETHUSDT Sep 11
c4e2fc864ac0bbd5bcde3a5c40fc6c0dd8677d1354d60bce29b0b972d546376a
4940 KIIUSDT Sep 11
3bc08d29900ff1758d3ddfa8abffa4141f37429eca29b1696eb655d4a53538d3
4941 ADAUSDT Sep 11
a12d2ace0a5e54bc490a5256b6dc8d37989e02726a2d9f9e04304f721ceb9639
4942 DOGEUSDT Sep 11
216de04defe714b3cf13a1a6390c5fc95bee338272a27ec16fd75d886783165b
4943 ZECUSDT Sep 11
0869290604446d5da8e24b7611e4d5a265bcd7d310ef280d5c9671dac8db9375
4944 BNBUSDT Sep 11
83b0e2003a1493bc636f15ce77969e72266f39cecdae809ad6374df6d62c4769
4945 ENAUSDT Sep 11
a150ab447979a5cf1397a5602f672218a0693d90114d75b98697173b9b60711e
4946 XRPUSDT Sep 11
0c265e2289491a9ecb6c1df1cd689c47ec0e535f64ba872a92ecd04e2fa8506f
4947 SOLUSDT Sep 11
e0d22894ec4cda67d8db6a1868a4b689ce15c7c0b3792dc180a00e8d74f64fe7
4948 BTCUSDT Sep 11
cd4e6df1ff23f0467537ad33c3c0a3d220d46cc8ec79e31eccf5f7df91cc07c1
4949 ETHUSDT Sep 11
4f4e5f0a125fd59b52c2bcc4ad0e5dad976e8dd7ea41be93a6838a4ce8286102
4950 LITUSDT Sep 11
0cf7e4bb0b3fa089a23401756c9699b55d86e08d68bee36e31782ef75ab699ea
4951 DGAIUSDT Sep 11
2759bb28d5a90dd66799e4ea8e6062d485e6f7540e834d183198e11c833f4c16
4952 ENAUSDT Sep 11
5f9387b6301323e4bd88eb09e3786af71c4d78212a60c42b86180184c95e970d
4953 XRPUSDT Sep 11
41f255a3c50acfea1d9873b6764b6583963503f0ca2add7c35b32632cb13fa5f
4954 SOLUSDT Sep 11
6135d0db2f3c971082f87ade84465374a4c9490702e3efe0db0d44021bd8306a
4955 BTCUSDT Sep 11
2165403de32ae78977de5459f3933985d230ee345ff5e597c6f6897bd31458a5
4956 BCHUSDT Sep 11
db3cc78d1b63dfe8e1b481e6d8dcffd60f906b5c4f933bfcac1b0ef6fbbe0d84
4957 BNBUSDT Sep 11
fa996fa78edb9319e7b00e26c8d35f2055c14d098c251176ec4bc127d0303490
4958 ENAUSDT Sep 11
eadaa27ede75afafde4308d440335af9ff07fe509f98868092e660f85d6cbf8a
4959 KIIUSDT Sep 11
7e910ed99ffde7e9c2305a449adc9e665596475ddefdb849a58fe1cd1cdeb03f
4960 KIIUSDT Sep 11
2f9e72e690e9117825ae6572b07bc3a117aa42b6ee5556d3807e0cd25c9bf113
4961 BNBUSDT Sep 11
b765a4d10ad4b0ffa70e0357cb7b98979e8ac7e6f1f5952aa6b74537ff0bd306
4962 ETHUSDT Sep 11
1f0b283467ddab4de938ad4a3140fab9765389bdb9785e5f564a172edcfe57e7
4963 ETHFIUSDT Sep 10
75db8d79fff1c43f87983474efe3ab851de81e099e7200f7150a9278024ae00e
4964 ADAUSDT Sep 10
5f7798f0cea9f154313df82960c23757ba1c56e60b71e0fec8f586a7e10262dd
4965 ENAUSDT Sep 10
4e43f702ef3f42bdaf85e75ddf44512793da3fd044aa34258d8d42cc937dd47b
4966 SOLUSDT Sep 10
bc057b2d3a4483794923c5ab412ea0b91175a9ff63b76c545a616caded819e4d
4967 ETHUSDT Sep 10
33b3b936224819b015c333415df013ffd99789294ef7a08c0f77b69e5c8a76c1
4968 ZECUSDT Sep 10
1a58b294f5f468aa2c223e2409f6ade4f0e09ace88d797c39420e056c62c327b
4969 XMRUSDT Sep 9
ecc7a579a62dfe79283a35873d23f757509c176755d487eca6018de364156673
4970 XMRUSDT Sep 9
8f0043cb03348a55700060e528ea8bf639f1673cff05bee4b48074d51dbb2064
4971 ZECUSDT Sep 9
b3cc8684318b1725bc800da264c1dd339cbc0667d857e94a147a7331afc451eb
4972 ZECUSDT Sep 9
d93b27f471257adf253e824d9a6df7f2c7250d5929260d44be393b0a37f66260
4973 PONSUSDT Sep 9
fbe6269aad6fd112ac63a5e1e0dff67cf3317d6f5b76cb3cdc2d00c6f63cc196
4974 LTCUSDT Sep 9
5704048fe6e3fd708a93b0359cc64d7827c2bdc95a0062251800846339c79052
4975 ADAUSDT Sep 9
3b3986921c153b6953b49d93fec9fa899da14d30f3a33cadaf48695301d5a89e
4976 LITUSDT Sep 9
2b2215b92b1f853fef502e6c8b106a767d8f9a9fa63be11a787f13900bd93d94
4977 ZECUSDT Sep 9
6fed181e1482bf2f906d5c0771bb435c5df139e3ea91c60207a23e7339f8bd49
4978 ENAUSDT Sep 9
b1eeef435f13665f5ab9c0a6f874778494bedb6dc6752c412ab2c4dbea488158
4979 XRPUSDT Sep 9
bd84c76ed41c299d0c21ce36306bc54b6f1e45da17ac39c737acbc6dcb0a1ce2
4980 BNBUSDT Sep 9
4b04f37990e4f331d8ba85437acedcd459a9eee58593e858db58314b48481401
4981 PUMPUSDT Sep 9
3e9455ffe68211d221f6e1fb9394f8484e4cf11d0afbc4fe0f2976df8a33e0c5
4982 LITUSDT Sep 9
03b61b8d85395ab7c18d9081771104406fa5416d643404d50e29706c974eaba9
4983 BTCUSDT Sep 9
9f30b71ca931c17b6b267ff33adc62e0950f1a4443864f7a3696d26f359a4792
4984 DOTUSDT Sep 9
7c9f81f0163d77041ca0cf770b0465152c43ceab15331189e81ddb2067516eb7
4985 DOGEUSDT Sep 9
3dd65b24158939c47dc49b50369203ff8dcb3c13d51fc6065b9d65d365e3e9cd
4986 DGAIUSDT Sep 9
d30277277ef16e3d7b23dbf5f35d181baa6f6f0325154d1006f3bff53368f691
4987 ETHUSDT Sep 9
82de9ffc5a0ecdad26eb49e17b0c34ba7d2a1f1933131fdfbcd467b7cd0ac0c9
4988 BTCUSDT Sep 9
99c13905d1f5a8e4235c4a1f9de64b95c9b967a754b8d615f0eda6922e848492
4989 DOTUSDT Sep 8
adef629f31118da05ed0e1317cef06e55b571f3bef1d2018c530c3e29a25208f
4990 KIIUSDT Sep 8
a5359a16b3cee34e9b867027d7d880d70ffff5c5bd002a669f5893cc0f882f83
4991 ADAUSDT Sep 8
6959ac90754ee54f79c6d965e97edf55a0aa257515997ec8031f51b755850d2f
4992 DOGEUSDT Sep 8
55f68bb6b29c97fb8b05fdd51478044c40e41667053499058dd1b5ab33f88268
4993 LITUSDT Sep 8
32d4f49877b0385234da59d1a85004ebbce623f32c84248415696e16c06943c5
4994 PUMPUSDT Sep 8
0bff3e45e5880eb9df51faa605a1c9c8ae90f05ed31ebe084208d355b9132b4a
4995 XRPUSDT Sep 8
83c353e1fa7cb71faa3bb7d207cc7bf6a89b16851de7e0f6955c8360e341de61
4996 DGAIUSDT Sep 8
75eb5da9d21d282310cb668936433da699263cc4721f30aff0c3ca93d3ab4b60
4997 SOLUSDT Sep 8
1a8ad8799b11fd754efb14b30aff4a33f71cf5ed3082a1ce8239b2e2c7e6037e
4998 ETHUSDT Sep 8
e430c31cbf11bd506a8def96f2b996485eea0d081b9ec21b86c838df191a5366
4999 BTCUSDT Sep 8
edab8af2cff163768b602d1599595fc0c90162d00790b5418e5d24b408246131

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