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

18900 BTCUSDT Aug 20
1b0a01ed85b9fe0e307dc8c1349876daa0c51b07e9be1eeaebab51406ea719c5
18901 DASHUSDT Aug 19
7e9c1c75d42a2daa6d8b5865ef86304270f472cb5dede4ac930fb17b66a4d71c
18902 THETAUSDT Aug 18
5aed9253e3006d69f715b7760df9fbeca7cdc5d81f52c5a3f99826479ad6890a
18903 IOTAUSDT Aug 18
8971349ceaf8ff8b9f192aa6bc320ed608873b875918bae124f1a021b52d2065
18904 ONTUSDT Aug 17
9672ab94e8135ac4adc1be756aba7c1f3ae9bec1d7034877e9beb8c9ab667250
18905 ALGOUSDT Aug 17
dff9bf0e818c83f4afbe7a510e5a280cdc69b803b7af5a836004544f5270a15c
18906 ETCUSDT Aug 17
c4a8aa3abac0f6ad524d0008cd3a863decae1a998f946c7d6a893bb483f0726f
18907 ATOMUSDT Aug 16
03fcb334555b9dd5f68b43eb81338a767293a1ac60e61843f2d9fcf884d943af
18908 VETUSDT Aug 16
5b9b3124e42310aee6515e0303e3b2cb0772064d4f20c7f471189c8091e3b5d0
18909 CRVUSDT Aug 16
56e8448c46bdf3195ca25e98551b36c3463a2a3a6b3519914a819fc14b7523cf
18910 BCHUSDT Aug 14
bf4f7d8d012333a966634460fd69975416ed26702f9de771cabfafc7cc154057
18911 IOTAUSDT Aug 14
c4091be3ffa8160c40507c87ab66e1dc63e647b53549b72172a5a4927dde6089
18912 ETHUSDT Aug 13
773d6ee394971d921d5da43e77a05218cf9b43813063f41a12e51e3aebae84b8
18913 ALGOUSDT Aug 12
51670e56cadc4f00827b0742c5e01687fb8d9f4f1324727f14cc8f13f802dc8b
18914 ETHUSDT Aug 12
274ecdcbeaad6f907f53077834758fb40a9a0b9a9224322402d16b60eb1cdfcb
18915 NEOUSDT Aug 11
b0dc2665bace9b0604f2ae08edef3ddcd09c77c4b0cfa9429d53b2a453afe496
18916 ONTUSDT Aug 10
64513b7300158b9a341682324604947f13cbe4d77ea2373f43ad578a7402e370
18917 NEOUSDT Aug 10
c8ad725020449af1ba8e7ea204f1cd0945da0bfc77071cb12fb248895f0f50d2
18918 BNBUSDT Aug 9
60f0cbb36af67e8f9bae91843fd8a4707bf504c1713465b29cbfc30a23823ad8
18919 ALGOUSDT Aug 9
81429d07d56219f320fc0e4d47fb92a5a1390c44a696a352825db75a3278034f
18920 XTZUSDT Aug 8
3eb5c411cde34d8e98ee0c80c84120bdcdc950f525597ff604a5f8d5f1dd99ec
18921 DOTUSDT Aug 8
c7725aba72a2a011783670ae4c3662701df5370ccb0792adf3fc45322c16a892
18922 ONTUSDT Aug 8
2a1cc638e0434e8cd252f88daf57cec2a419662dea506a1b02c6677cfb0102bf
18923 COMPUSDT Aug 7
280a68ae4a77024a8d9a71071c15d9047dc5c5a3734f84a5651ac3add693f86a
18924 ZILUSDT Aug 7
8fff72745869cdfd787facffce96b5cb86c1a0fb9388f670add3c842ea4e9062
18925 ZILUSDT Aug 5
84279d177c7f14cc7381932e860015b946620c5f2a21a66fc3c5442cf23a0d5c
18926 ZILUSDT Aug 5
da18d33dd62de7f6a5125dd136508f760d9ced513b383e716bbfff5916f6a5c5
18927 XLMUSDT Aug 5
03b81bb5b729ea4406cc535b6ec3b28bc945f3ead061c6279bdc59ead8dfca2b
18928 ZILUSDT Aug 4
3ab16487f427ab6cf9332f793b6568f42de0b6d4554c63ab0efaaa83c0477917
18929 COMPUSDT Aug 4
b8405d4b174dbad1c77468c61a5277333ce5c732536c796a3af127a5e85c29b6
18930 ZRXUSDT Aug 4
b7222f4561b1cb4c3f5f40a3b222780be95f5413b1627a446cf4510fa22dc7f0
18931 IOTAUSDT Aug 3
4763cf1814da14f969aaf8f52762629772b30d9bdd3eee380f9a92a258a462a4
18932 TRXUSDT Aug 3
c5421682ef365a957ac1d54b9e2552ddafccc8cbf76f1f3a81c8d24ee18255a8
18933 IOSTUSDT Aug 3
d901deea8ea3da317e8986f4d29489e67f6c8a51370d1e44767bd7a2cd31e141
18934 IOTAUSDT Aug 3
88064a6546af8a595da335ede17acb7f31bafe0c1db750b684eda3818f0beee4
18935 NEOUSDT Aug 2
49680a43192d8c1eb6b90947f9bb2321c46c9fd3f2d4a97132c30b8052053537
18936 ADAUSDT Aug 2
71d72fdcff24ea179dc0994c65201cd9947eafba246bd70ba3ca02a90fd9550e
18937 THETAUSDT Aug 2
dc7b791705a4d23b8b4fece8bae0b1587724bb97e7d69a17f649372bfa35de82
18938 DASHUSDT Aug 2
38b49e3790a68d4eede77cd1e7963d5d9f70c2335578bab85c15d7ca869e3fc9
18939 VETUSDT Aug 1
0d89ed8587a43faee17e17f4cf9d99940c2bd8e70387e26f1a1b95b7378e4664
18940 RLCUSDT Jul 31
136da78e678f72b163fdd11c4bb9d06f49d8b48aaf027a3a48e8035d88c6b4eb
18941 LTCUSDT Jul 30
2c2bd025d35ac08548a9fdaaeefe9f4447a1c670499e184f0dd62157ffc030fd
18942 XRPUSDT Jul 29
b2259189b00959128e748bca680db18bd9186333790049742fd5ee066ba84549
18943 TRXUSDT Jul 29
f4907dd98ac543748e4e3595229beab16ee79e653980275db2e6185e7dda536a
18944 BATUSDT Jul 29
849ab6ee2a4f75375f46be343638b8f854c23cdf3113a60c06a5f084008cb87e
18945 IOSTUSDT Jul 28
d84acabfca5fa2faa912c8489da8be228f5d462c024d8fa3e91152a4cc622bc4
18946 BCHUSDT Jul 26
50f93bf1bd34966792f33163b2dc7d54a5b5c8a96aca0236cc7f375dc6ee72c6
18947 XTZUSDT Jul 25
4249598bb43519f4323ecece423a26255e955b0bf41fe70c61f8d920fc886326
18948 LINKUSDT Jul 25
29d9ab19b2c5ee799c433f1dd13df7c698b2f191f6e3d10f1e9eaf235c918f81
18949 XMRUSDT Jul 24
c685c4650b0fda75b66bedeed040e8d85b10d3dec0a5174cc2eb84e6752ddb1b
18950 ZECUSDT Jul 24
c698ae22ff6a40172689d1fa9a8d14c3a443cee7a3e8a652f48b715c15cb9833
18951 ATOMUSDT Jul 23
e1ce8a021cd4c2579d1147b9222084433f9e600cea1402282ff1a1a00b0fe416
18952 LTCUSDT Jul 22
59e1bdc65f5cf0480f3102e8798e14d9b173151ac1e4417d81798743d271738d
18953 ATOMUSDT Jul 22
338eea50a8f01363993c6db7ba1a00c00af4c0b26fa429435182c815b929d314
18954 KAVAUSDT Jul 22
b1fd2078415a4fa46b58443600b1e423921f3a4a72d06a692d17d6b0b34c88aa
18955 NEOUSDT Jul 21
501b5df05871080da30d782f8ead828e124f8243c00224ae8244ffa757ed5a8f
18956 TRXUSDT Jul 21
43170bba70ed96099651201eba87dc283f74fbf6e7419bbecf435cfa42d10f7a
18957 XRPUSDT Jul 21
b7be7a3776688dd3b6fe8dd1b6d6838fbed903f2599a730fb40ada6dab5b2b5f
18958 ZECUSDT Jul 21
7ff810ea2280a432b373340e8138dc2a98f6dfef0e619bd3442d0615f90848a2
18959 ETCUSDT Jul 20
4385923556798d0d497d3c361526b66d1167bcc35bd1f27377de958b22c19aa6
18960 VETUSDT Jul 20
732dd45cb642aec6b6ae6277c65d2322351a0515f8aa0106ce2b5d5c67bd10b9
18961 ZILUSDT Jul 20
695f48a358c4ab21ab0d4093988dbf2aa4fde2e8fb9b66c5125352d97a2c7bb6
18962 SNXUSDT Jul 20
cf6a4997081bd6972cd24286ed0502d4330c47e8fe921a16f09e199e46c95800
18963 BTCUSDT Jul 18
b7e1aa928da395f7374b658f9b210ddfd4061c38cde6b1538900c57d22aef755
18964 KNCUSDT Jul 17
e3db101a32b7483380c4f5cf778f6965ca0b4d77d7c99966191da48b32215745
18965 RUNEUSDT Jul 17
a92b7828dcc7203518ee5405ccefad60e2e7b2a6759a4f9a53d202a3f0198741
18966 ALGOUSDT Jul 17
3559faaa261e6d28b6974ba9a74b2916c73e065158f7bcf4e7d5332e3106563b
18967 KAVAUSDT Jul 16
c2957368fe99c4587f4307cf3c666a58a3f83996fa53736c4c54501ebe9f2ab9
18968 BATUSDT Jul 16
fea920fa92066efa63990f9441f636d57fb67061aa8b884ec5deb837f32615d9
18969 XRPUSDT Jul 16
35d1e66729874cd0c9a6af7731d154cd2d45aecf45efa4f7bd4180c1a9a4f29c
18970 ZECUSDT Jul 15
25d7ac8a38e5d54d19f1d141744a4600a841458a774dc9dc8787cfb93430b368
18971 BNBUSDT Jul 15
a164f47d1c67342f9fcf9e2fe5713e4bed23f8ca6ca32a4b44e9a5753f9004dd
18972 TRBUSDT Jul 13
c8b532d7d119ff502e66cf76a28d373ea9a38d4f4065d64c5deab9cc240d0f44
18973 TRXUSDT Jul 13
f150e83225681ea6ae75347e6a1fb9b66f41473943701d48ea33eb9f4392853b
18974 XMRUSDT Jul 12
3ab0f4e8541c500528149ec471ce1e6204740d9e0050525505e0a2cc8f9565d2
18975 BTCUSDT Jul 12
5037aeb03711762f905328dbdf24c23c2dd341627f7fa58fa2bf8a544136c8ae
18976 DYDXUSDT Jul 12
2180afa35a887fffed928ad57bd9b8d57b7436e40b35865fae90bc6bd134e616
18977 ALGOUSDT Jul 11
583f222a5d1aedc96d202c37ecf017347675ce70be4dc296981c56228ed7bd14
18978 COMPUSDT Jul 11
113e043bef72e41c52b9bc91513f61c0f0bb5f96fda8222d53b47b50d669d748
18979 BNBUSDT Jul 11
3840b89bfbe98adb107202ba325ad03ed634b5790f594fa7febc72c471f9e39d
18980 TRXUSDT Jul 10
74205139eaa760b8e393c6cb1e774d2166d9a953380bf6b6946d8015c30778a9
18981 ETHUSDT Jul 10
d0f577def9d5a8efffcfe724cf706a2f572d154e5fd09c8945651136e0d4ba2f
18982 ICXUSDT Jul 9
7220e0b3e689a9f3f7aeece5846a601e33ff207090c4264aca48a09ebbf49860
18983 TRBUSDT Jul 9
2c8aad2549164d2072efcaf5dfa5947f09d0ac43b56bb5fcef994b2d5f2a63d7
18984 BCHUSDT Jul 8
e344e024c8cc4582fa39c1d3d265df2874d49fbca61efb4e713c6d2eace8aeee
18985 ADAUSDT Jul 8
a1d6c07f54d1cd3c0195b68582b1081ba4b7cdaaef666a0b3dc4b2c9b832adc0
18986 ZECUSDT Jul 7
afed5ff7b9c6676455b685baff542fba28dead5773e5bad316bccf6025e5ad1f
18987 IOTAUSDT Jul 7
1e90f494a7bfdc5584ab51ce3f887831906f01d15b8d3f848a98a5424532fa8c
18988 KNCUSDT Jul 7
52e441c94c38e0b68d0c6475099447c75aa421be49e16ea86ebbf01fbc392a32
18989 CRVUSDT Jul 6
b537ed69ce8c50c0c7d38f3d6c9dd02a63ce187be8ee3f0dbac0a2a462e75367
18990 QTUMUSDT Jul 6
4149b717281bb0291eaa3be3d7718f13a199d0b6a8f02f5c95ecf58b2f8b2b7a
18991 BATUSDT Jul 5
870a9104aa1b2061579ada2e9a45ef2e9fa0c421dc220e56354801dcdb7af91f
18992 TRXUSDT Jul 5
d241d79eb0be1fe09a951be01ccb60038b83379450b80ca92f37a38d03d65515
18993 KAVAUSDT Jul 5
d865602f1573e99462d9dc0bef2a5e38cffb4c3c3969551cdcc5297ba0dd8d95
18994 LINKUSDT Jul 5
6d72ef0ff591d26226e81780d5d8d6f3c716f008fbaa35370f3ac2102cc18c11
18995 THETAUSDT Jul 4
20e2fd11a7fb5322dc36db76f4c5765eafaccd1c0cb7e61c9844f6200569f42b
18996 ETCUSDT Jul 4
1716c74a4e67fcdf1093e71f51800d4b059c573620058f8241b21ac904003093
18997 KNCUSDT Jul 4
ef5c6dcc0c1e8d3eb9baa3b9f3195a67c240b63f9988a6c1eb734683d008d1bc
18998 THETAUSDT Jul 3
7ad627c08dea79b0af66a6f6d323980569f5203871ca6b20bf52fbed4d9dc909
18999 TRXUSDT Jul 3
c2e8a37d16538b681a65855d0216987231ab27e34543f50b8ffcf4ad0aeff9c2

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