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

21900 COTIUSDT Sep 9
ce24f4fdf9b5330a27ea9eed84d4ffeece741edc3198c7d5bfbce589436b610b
21901 FTMUSDT Sep 9
4f7694f4c4d52170d0eb1b0c7fa168fdadd485e65b15a4e29a80b2eb1fe994e3
21902 LQTYUSDT Sep 8
bbba6ae92a04565b5f2d38f36c86ad2e5a25240a4d5c00b957fbf8fcad6115c3
21903 BNTUSDT Sep 4
a0092eaa3cbd42810c0400a3305ffed7e00ed79ebabc8ab81bb9c74b4e90c533
21904 WLDUSDT Sep 3
f1c795e7033978c8700f36ab4db358ecd7d2a8b20603a8669c76ffeac902b555
21905 ARBUSDT Sep 2
c91310f9f3f956afd2ef27aa30b2a540d837879c35cc83902cf5bdefaec4fd1a
21906 RUNEUSDT Aug 31
fc932ef7c0f1a508cb67b3fda582d03686e333a0c9d5160e5f26dcee057b24ae
21907 INJUSDT Aug 28
cf6313b75b048c2223fc41a699ffdcdde41a4f926aa4085c6d7b09c7517a4a8e
21908 LQTYUSDT Aug 26
b225d232f88647e365e39da45d8cb9b071c57b5745dd9e6cf317a86bd31d9ac7
21909 SOLUSDT Aug 25
e74b9ca3307a810e5ba3df3446a1f0c845f7008a492ba86597f647826296b3f8
21910 ETHUSDT Aug 24
4fb21246305a303f41b7602503e6248c5e03bcd4255fe940f9c5906b707ea028
21911 SNXUSDT Aug 22
d099da9f6ed0fe37cff34eca62370683cc7de44a179f2d5785ecb2d3061dbe4b
21912 AXSUSDT Aug 21
7b3089f9ccf3077106f8595503065c70eab9b442e3f99a1d77cd6f113d60d713
21913 BNXUSDT Aug 19
d77709a2912978e11ec27170c65befc4bf245a7ae0df3231984dc77ff6105337
21914 SUIUSDT Aug 18
eaab9480fd2b4c9e5fdfee652040ca5c1fa14fd1c56a737b5a7ca88a9e8631ac
21915 ONEUSDT Aug 17
a6664b1b3f1a177aa2d8252bc756ac632ef305bf4ae6637c885039c1b3ed9b9c
21916 BICOUSDT Aug 13
64b227b2521cc16da2e65c6f0ccbdfedce161ccb640bc6429264f3b07ef84aab
21917 WAXPUSDT Aug 10
7ddffd87e6de0a358eca11ed778a4b40469ff53350aa54944a19e90bb2b5d702
21918 CHRUSDT Aug 9
ace73808e00e67c7523a61b125d7b34c9032f6dd0a7595046b0622f3ba2f1666
21919 STEEMUSDT Aug 8
435dee7e05e42df5ba70e0da0060a32b0b8d55c2c5ea0df34282d6271aae664a
21920 OXTUSDT Aug 7
ccde684f84fce8902e24ab8fa121ac173c070be87341b83242efa9e3492b8b9b
21921 JOEUSDT Aug 4
85c19c64ce62f5bd1c50f3b28ba066784d8a6d2d3fbd9214872f2c42db416892
21922 RLCUSDT Aug 2
6771d4b1d1f48fa49a27f48ebfd49aff28770ef5a31d87330ab099558ede43aa
21923 CTSIUSDT Aug 1
29c820f2a85a5a1a0ddf2943034f5990286b6ba2a1a1295d691f4d05bd0cc350
21924 BICOUSDT Jul 31
f3d46d78211aa6655f12acd8e9c50140386b0f693c69baa724424016e16e4cef
21925 COTIUSDT Jul 30
3e401262dd537640110c5b65a39a15aeeb06313af2b206b196b7be0978461261
21926 LQTYUSDT Jul 30
e757e3070e70dcc873224766403534b906690dcfb8aec6152cbb75a2b2622df7
21927 XVSUSDT Jul 29
b7d928489d9405cda3ed6d6c6df05193e7dca32f99f4ae968a48d1b2d8b48428
21928 BATUSDT Jul 28
0ff1930c6ba16b7347ca1038f9420af8272b61385c72cb9f6c478e19e8e7e57a
21929 DENTUSDT Jul 27
f732adc6ef45c449fb1dca491b1515ed3415e41d9df63ead597bc7dbd533bb71
21930 BANDUSDT Jul 24
371082fd6071acdddddcce46e25f56885f6c02413b92ef7cd1d2ffff349c59b9
21931 ONEUSDT Jul 23
7c03b37494a8c62d10e019f07db9711ce0d60c96a4f8ac2199bb9e0e3d17e282
21932 ALTUSDT Jul 22
6413bf1f5f37f3321fea13dc02ed1e3b808a01224ab913b621112dfb21a58223
21933 RLCUSDT Jul 21
63c980d40ab2ba48ee1eaf0f4670b060c5a39e2b49601ae0777c9485e31a147f
21934 TWTUSDT Jul 20
5fba7eb9ed3d14f6495cc689ff6b4d967e48f82c8173dd27b2f046b80ffdf6a1
21935 TRUUSDT Jul 19
ba02ce3b5f4559d7d6eb06a071f6f989027b13ecf31baf28e8cb31703d457fe6
21936 LSKUSDT Jul 19
f12db911f86442241245959c6ab89f8c57084f60b66e80154f6963646bbc4673
21937 DUSKUSDT Jul 18
09b1138a850a728670e5436602b866f3a8a62586bb105bda8b2f7c28c185138f
21938 POWRUSDT Jul 18
8f8025766a5b4584b1520342a89a709c038a7a15ad5a43a6ed6e8f43080584ff
21939 RIFUSDT Jul 17
1c99c73ae12c7594d6919c21713e5fc825c87f47869c5788fb8a49ca9566f3df
21940 NMRUSDT Jul 17
ec430709ed97e0ef6f96bbafc0e99b6ec63a26fae396f82ff3894341d6046c61
21941 ONGUSDT Jul 16
cd799d70497ad89d26537f9ff186ad62bb42414a84eabc0e12a6506927659fe4
21942 MAGICUSDT Jul 15
6cf5aab277952a1c9dadd09e535af4ac7caa1f949682120fe8bbbed3d1a09a3b
21943 C98USDT Jul 14
92533f584e6281a457f8be742b86a5827abe3973d37662beb1c339dc9c21a2b4
21944 CELRUSDT Jul 13
80bf07e395ebb590dacc33492ebe2d3b9b53c4139ef40b1aced38c99ff9457f3
21945 GMXUSDT Jul 12
5a2cb34a06531ea04dc8f8565ff1d526be455cf309369fdd8390aae9c1339ef8
21946 OMNIUSDT Jul 10
68f4233ab8af4a35db5f9fea3d415a0e4d171f3c6df6416b974a61e1930f6c7a
21947 WAXPUSDT Jul 9
d6bf74dd86091fb4948bf6242ef6e1dcf3921a5ed694c54fc3769327263ff005
21948 ANKRUSDT Jul 8
0485ca02be3d0bc31b59dd951ecb7dc3cb60098f980504f274f2933c643cee28
21949 JOEUSDT Jul 7
7f1ae32058f44f0e1dbe64252b5d2162b0fcf1665266196b41452d22bb50661b
21950 SAGAUSDT Jul 3
bf40966c0ec8c16a36003e2a6da639fa689b410bda3910a6442483f1f6127d5e
21951 JOEUSDT Jul 2
75885a5e020c5a7f1ab4068f933f90bccdd9d4fadc3cb0a4b2072fb40ce71917
21952 OMNIUSDT Jun 29
4ce6ca4463a39c5e2be32c6dd94b62e799f9f5c888eaf16a50ab81a3fd898264
21953 BLZUSDT Jun 27
1cd417657473ec9f6232a9b16a973cf29b1964b9e024f172416e0674ddd6993b
21954 INJUSDT Jun 26
84c4c385ad2e0a80d4aaceb5d1b8fbaaf86e0498887172dbe648fa94a66eb9fe
21955 JASMYUSDT Jun 24
873de664eefa9179cb82ace1bc8fd26ce674087c21805885683412364f6c0ebe
21956 IOTAUSDT Jun 23
8e0ca5cf844002d26900ff6602331192e0bd092a7c9c8f750387660ba0d869a6
21957 ENSUSDT Jun 21
36c178a0fa4f870dff1f88faf7c2d534a117475288792dfff5051b2ccf5dfa62
21958 ZRXUSDT Jun 20
51934dcca8cf25ad2c29500c43b8ba845c5db28675b9f2aa1abb25a400e3d50f
21959 JOEUSDT Jun 14
506e1ed6e102b190124bf9b558bd1e8dccf7cefb48acdfc2873f34e3de466bf5
21960 ZILUSDT Jun 12
c463a5f7fee174e03386fafd49c9d7d8b10e1e6b849489d59428c807384b7a75
21961 HFTUSDT Jun 10
9d7611ffed29c046edeab05ce81df8fb9612ec19c241c824b06f872ad096fb2a
21962 NMRUSDT Jun 9
5bfbd86704a51730a7205598a9cb8dd2e6418da25533b8c8a9b8083b12ff59e3
21963 CHRUSDT Jun 7
e8421a2e037a4f9791aa324ea3b15c17fa37483cc59120ccc2a3e9bb01df1217
21964 SFPUSDT Jun 6
e1275e062975188a83c881584a3d3a20ec8fc056874126e64f452278c258b268
21965 BICOUSDT Jun 5
51aa71fc8965f6e27cb51518a3d579e9f192405c1bd6fc699d1e9e87836066db
21966 NMRUSDT Jun 3
d227ff2a31ba7c98f56b81a99137cc05eb5515c719b9faa6239bd2b5b3be90d7
21967 SUPERUSDT Jun 2
045c87b3fd4698e18249835faae428e19514cecad8f088b594b893ec91d8d8f9
21968 HOTUSDT Jun 1
eef3b33dd9a118d96ccc29fe1a8b7b254912e2fd881dbe74a85e2cf7a917e728
21969 FXSUSDT May 31
5b6d522f0e32d7f89629bb68b90953bab744a575fc0931034dbd7961320830d7
21970 BNXUSDT May 30
76fe17b5fce88325db6b6dca46cd71333051212ca2ffcb62056282696ac2cf29
21971 ALTUSDT May 29
9839bf4ad2d5a7ea9cc5e9e69bb8cf86af8ac68020280c368f022716329970c6
21972 KLAYUSDT May 28
a0ff9e5162498bff1999087469266b48e89e51dce615bfcd2ebf8528a478ba8b
21973 QTUMUSDT May 27
5347349916af3d6ddc8e9d65c556e4ffc12c405f5b91601853304b4c22b76b6e
21974 HFTUSDT May 26
2410c0ea6ff757a8f0e8c1609bcdee76e76bde5396671483ea2876d2e26eea32
21975 RLCUSDT May 25
ce5fb1add4ec69d4a9cbac225b8c67c0a0c5fc02fa91d167372cbed24d96e4bd
21976 XMRUSDT May 24
7652aa2b10e6977f1ce1b5b06963ae74292fa5d6712ba6c55b6fafe765546c8a
21977 CTSIUSDT May 23
75837e10c0cd1b660c147571438638d40ab8347ccd4107405d0338e1dff2388c
21978 HIGHUSDT May 22
e7d1bd99dd6bfd247c039daca27ad2bf2112701b2b1b70e79b8ebbef9a4b053b
21979 GALAUSDT May 21
bfd665fe4a8c809d81ab703e8cd7dda0d9354f81d70c6e608bb77247884b90b7
21980 WAXPUSDT May 20
33196d20d75aa03001a6a2344a0209d286a732985659289457308402a715798f
21981 API3USDT May 19
bd1ab137eff2bdf99c6f13460dfcdf69eb45e50f53741fc38349df0fa957a7cc
21982 DENTUSDT May 18
9731b7e7d12411f4f1c5d5754acec12c6353676ce879b0f632000a275cfe251b
21983 RIFUSDT May 17
dd641ef6fcbcdd5c965827c8f4ec8c4edb616a568f56b462014928ecd7290d4e
21984 BLZUSDT May 16
212d3326c882945494f8ad639014922f4f5139843538e6dd34261f152e6fd5ae
21985 XVSUSDT May 14
e48bcda1f77d77f12a5e46877af2ee4c2bc640326aa1be17746e7a8bf9a861c7
21986 SNTUSDT May 13
ff6ec3e9d57c5796e553889ac8081378d3237736ada3fb8a6240b6dc056426c8
21987 HOTUSDT May 12
2bf77bfaa56654917b0a7b269a3dc16adaec119a11aeb0bc099a9063cfbf6af3
21988 POWRUSDT May 11
a439fb1ed67f060607815aceab54fdc52ec3b9d1f9fce387a79f61031ae40b9c
21989 NMRUSDT May 10
892bede07b60b939e211ae42dafb9226318ffecae66ff53e50bc382baff5dc09
21990 GLMRUSDT May 9
dc734166327d45be52f5bc68432c75fcdf4b5387a21b4d57630434326818b437
21991 IOSTUSDT May 8
0c4ccef195b54846ee2e1b8bda20cbe4137fe3a7f911283119b9c7e2061de3db
21992 CTSIUSDT May 7
88872690f1a1775819dcb107b07198947a5ea1a8cea2ac5973312aac5a654354
21993 GMXUSDT May 6
b5b5bced16e0033997bfdcc23539c9da0cb7ce4c24ad436ac6628065eedfdfcf
21994 CVXUSDT May 5
f19668b6fbf5199c6057f8ba6d6591c710a6549b82026ff80fb14274a6e77339
21995 BICOUSDT May 4
596052856168f71077c160d61f12695f0d0a6989d1e46b92dbeb108a1e21ead4
21996 GLMRUSDT May 3
81f48e6bad78f77b1ee6886ca3e3e5a30189b4f514b60e76c42392a1a77d3e4e
21997 TUSDT May 2
c801048a573e4d7deeb11d30018c96b9e0e66fbb27e5581bfc1eab1b2771c2fe
21998 BNXUSDT May 1
951e9de2b00e0909b755c8b3f7790492e756a6634941676c681db6e168b3ea42
21999 OMUSDT Apr 30
bddcfceb2047d93b9fbdd6f615e967c66252f54e66a27ebe19872dfc9ede517a

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