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 13, 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 101 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.

10000 SUIUSDT Jan 14
3cd17c3c0095bf960b313bdffb21fb8412d80345030aa0e76f2f2c4de584049e
10001 SOLUSDT Jan 13
88dc3babf4d639f7100bc19e1a4b8e74e514ed6cddcedc5d9f5e91099d1dbf24
10002 GMXUSDT Jan 12
7cb7cfcb848bbf810b221e79d2fff119ad551b708586e107d6bb3f1aff17083d
10003 UAIUSDT Jan 10
4877b5f00430f692953d57ab5a183c972c0aec9088765545af74f9d9f9601468
10004 HUSDT Jan 10
28255979b652feceee7e8d4fead686e6dce89eab627147765fbb1a3f8de8a52d
10005 VVVUSDT Jan 9
94a937e116a54cf95ec480835ad21021db0befe072174af0947e1a39afd41157
10006 ETHUSDT Jan 7
18f5ebcdaa380b769f3d7c0cd9a4d4168423777c3d975f0774b5aea3c498608b
10007 PIPPINUSDT Jan 7
d6c4ff54fad49bab03a3dcf73b5459e87f5ab602825796ae7125f5936c607c10
10008 STOUSDT Jan 4
4d427b88082e2777e15fc5488a145a365d346e869defe395b51b81382ed8f78b
10009 JTOUSDT Jan 3
21832766670ed2f2f3b880444c1916633de4b497033fe6070eef8f4d33e1e814
10010 BEATUSDT Jan 2
fe93d22f9c67788e82fe455b8baa057c3d3700d448f6cf1ff3d1e0ce028bc319
10011 XAUTUSDT Dec 30
4f6bfed45948f08a8156ccc89fb7baa3d20f8833b829dda89dec895bbc569521
10012 XRPUSDT Dec 29
baa7483b29294236bedadd9e8f2086087fb3496e4299132b1010a26f7b2fb8b5
10013 CAKEUSDT Dec 28
12b7ac37ba684020f6dd634c7499c0b5840907dbfdf14a10dbdd4ed998b3672e
10014 VIRTUALUSDT Dec 28
9949bba6452abadfe6f0a7fdf327ccfe538e2d9bd8b3cdc866e41db5cd61580f
10015 APEXUSDT Dec 27
1d39f6f2b897c10ddeab0561bdcdf146eeb5663c7e0183567a7eb0e69be9e7e5
10016 CYSUSDT Dec 26
7d0381c7de59bb9da9f9b3f951bfb4dd14d8f9e6f5f11818ab7a05877ace43a2
10017 DOTUSDT Dec 25
22e3bfedbf5d30971df9070725b7d023d10cb2b61a40ba3ef8e6d22c4a528b31
10018 LQTYUSDT Dec 24
2aef899730a77d7e988c13bc8f5537d2e8915f53856b0019b7d08c9d1a44dfa3
10019 PIPPINUSDT Dec 23
40c007bbec3564324047201fce88232cfba20aeb065b61c4d1b7ab2f35a890df
10020 SOLUSDT Dec 16
74badd251917b61fd26d31f322b8a922056363df864cf28240759d996ebe5626
10021 STRKUSDT Nov 12
4bc4aa4a7a16cf873466f7df06b7dd1b96a94d58a86b810e0b16b4b390281a7f
10022 UNIUSDT Nov 12
9a3c2548446ece03a3325c8984ec4096f02070e6ec4ec92fab551c682a0305bf
10023 ENSUSDT Nov 8
f76aa7036866a850fd15b0115b0d02bfde6bc9da517ab20ceb40b99395f27ce9
10024 PORT3USDT Nov 2
d8a45bba056f7e72f4f8776d27d223ccdecae3cde659d5b91f233969bd617e1f
10025 ORDERUSDT Oct 25
75ce7f674c105272b9832d8aceeda8f8bc9d54da80332dcdb386f4e3771c845f
10026 ASTERUSDT Oct 20
874844fbf077782d0aed3d95f2c283a01ffb79fb9b3c4cf038c79ffc161478f7
10027 BROCCOLIUSDT Oct 12
02be60df9d7a362f1fa4e1e9c65e2bcfd863c18a5f5598b1c51ce922775d874d
10028 COOKIEUSDT Oct 10
4862e360184cbd9ab3f1ca4caf80d2d8bbdf3768d62cb46908b90dbac82b71ce
10029 VIRTUALUSDT Oct 3
49244fe00804d48b30338c7368fddf201fd4a310fdd1ce415910879c8505ebdd
10030 WLDUSDT Oct 2
d0586e537e4db5562f7b5866d5a145e34b4b0b42204c4a112aa63c20cfc19035
10031 ATHUSDT Sep 29
5f3712c7aef9d4f530bca34f9cf4b5687cefe26266f7e2f7f68a8957d5d8432b
10032 CTKUSDT Sep 20
ff31b760276195c3ca81ffac7fe7cff8af56f71618dcf5526e475f9c8e549226
10033 POLUSDT Sep 18
89097f847cb3778e79ffc3d8598322547fa1cc109df127ed11558bc02a43141d
10034 HIPPOUSDT Sep 13
8733a7d13a06a2df5fcd99930acd0329d16b6bbb4f0a588a621a8d1393032ab6
10035 COTIUSDT Sep 12
8ff9b1190aa104e59bc7e043b1a01856cbf37f2c13ba0029a2b6ec6a38fef5fe
10036 ENSUSDT Sep 11
b811606b41cacdfcf55813138dd900517400e3c4e55fa1a031e781dc7867dc95
10037 ADAUSDT Sep 7
9a8b13a21f6b64c12fd737cce6e92ab8fc6544f8886a4f1b0da4a52b3e3162f6
10038 WLFIUSDT Sep 7
ca83edd46f7af836a9040fca82c17a4eeb16e59f9141d7f9b62bcbe3f6df0554
10039 TONUSDT Sep 7
d0e06901e67c8d4d2fdae4ae4e61b092c0d8ad59897e233672b35c99f0680b92
10040 CUSDT Sep 6
30f6f8d29fb8b3c46458b5c9bbd30022938f5016dcc3eba560ee57ef460e3d06
10041 JUPUSDT Sep 5
1d609e13960ef8a0ba4077c15321667a13ef671425dafe97d076167c0f930d29
10042 MANAUSDT Aug 31
6edd8d1ac1492fa3abd0c8e8ca1b5d339ee7b71485e87f9331ad75235099dec9
10043 ARBUSDT Aug 31
2b2714467217897e971508c87c3ca6ef331f70bcd8ddd2340426d280b2d0196e
10044 BONKUSDT Aug 30
6d09093916d2fbc703dfd391cbda553cb6bd4ce331951a2397cfcb85637d7e89
10045 ETHUSDT Aug 22
53a0ab01d89e327d19d96e6fa93722bbb60e9134ed0f73c82ff289ea7c4a26b1
10046 SUIUSDT Aug 19
15284452189a1e97eba0388a5c5e6dac66490c94b3caf095b88d727327911438
10047 LTCUSDT Aug 16
e69845518f9406d0128b602b8f4014a574b9ba391c4549a7e4878ec3d8b4b777
10048 FETUSDT Aug 13
fc18041ff2356359e6ef7c33c3ee61ec6e6b4309d2c62c5cff0a42145364a7d4
10049 SENDUSDT Aug 11
3683d5d37436430e597f91dbcd56b6db952b063e62d1486c766874d95dc1118e
10050 ETCUSDT Jul 31
e9eb284efed6fa13f33c9c7bf6915d988d62615775aef689befbe24f48b15a11
10051 AEROUSDT Jul 26
b1cdd47a38646c7b8c0cd3f80d20d4822b7e50f650b7bd42bfca5e13fd248b31
10052 LINKUSDT Jul 2
a56201805761dafef91082099da3abb7b989c8a015352a5c51621318884accc3
10053 PNUTUSDT Jun 29
042949bf2c6b2fecc08907fe0bd18084e2d0ecc47f386fd331ba21cfb7bf7b5b
10054 JTOUSDT Jun 28
4ba09abb763eef502c50bbe462d024a69b9f65152471da2aecb6dbdce3a05df1
10055 BTCUSDT Jun 26
e03ed3e31fe3e347cb6663a354203095f0a75d836302350ecf886f0d6a505bb7
10056 TONUSDT Jun 11
b37faff3eaf7349b3ae931124adc1defe5a4f3a7084fa56064c163358d269a86
10057 NEARUSDT Jun 9
7c8084f1197e7217c4ebbf4ab1862eecb02b40913357bd9b531efef3a256c3fb
10058 GUSDT Jun 4
e67e248e10fbb20418740094ec1ecd3287b7d320659c0232f3518fb6cbfad122
10059 HYPEUSDT Jun 1
7325d89074d922df15d7910fd3e79ff0d937af5110e4b650b8dca073e3c2d61e
10060 SUIUSDT May 31
fbe52b8eacd953111519282fe441d4d49d6210aaba264d02622bbb80f7492017
10061 JUPUSDT May 27
09c212cf57ceed647a9c2875c597f87a9158f14cba0af98b6f85618f8d064f30
10062 TONUSDT May 18
62a8001dcac9bcbd4a50f263db471bdf302fca85a63477f052b5e4b17bedcc8a
10063 SWARMSUSDT May 15
087c0cb26075c2cc2524f5cbd6d9db3a8332741fcd039c847f11955111e29a72
10064 LUMIAUSDT May 13
2ade6ba566dbeaaea586baf0f33256e9d22ff77c50cd2ad3015db92b45847250
10065 HAEDALUSDT May 12
bbebc46186f8fd9c03371defec1e8c09b179f2ef3ee8cf77ff7db96d10c89fa2
10066 VINEUSDT May 10
67b0cafc5a41227d63680a79ef2bc076d2ba8cf859f5a525498186e2aa8cef66
10067 ZETAUSDT May 9
d6eb94e761b56bd9541469ea71d6752e8e2dbc2ba4b515ec20bcbc231c30ed3b
10068 MEWUSDT May 9
46c6833a2d05ddff29dc0f287a69e65075ac441e0bece4946672facb6aa1f9c2
10069 ZEREBROUSDT May 6
d3f5be8da1103f8208db2828dcb07a255c1b32e7857fdb91d739e3a07c7dd26e
10070 FARTCOINUSDT May 6
854555c8cd7fe8f9ee6820b902f04c8659f6ebe6845f5746e0078abf6d6753b6
10071 ATHUSDT May 2
080f81610f33acce5f42d17ab149422eb98400320c77945abcc9a2b94008486e
10072 SIGNUSDT May 1
527c34b48eb556a3246bb6ba8b03471a6e1f0db27ba2e778180ecebceb60971d
10073 WUSDT Apr 28
9332caf6135524b1a28e74782265dc1431efa0a70fc82326885b7ba79cb40b12
10074 NILUSDT Apr 28
995a89374eaa0169207760b4dc9f60705901e9c902fb33451c232501e14ef40f
10075 TRUMPUSDT Apr 25
61f8dbd06f16d27e1e5030f1ba389084c47aaa94ceb87b80b42be45244212e9b
10076 FUNUSDT Apr 24
3807cc4472cc98b4b5199546c913b897be64d9b8b9b9169ce6e98109167c0d18
10077 BABYDOGEUSDT Apr 23
66d8898966d3eb3ca0f6943e17e8a7cd397054a77b8f382c657cb9c245808b05
10078 CATUSDT Apr 23
3f71158becd2b994411319c12d1d4257a43bf5f23915042197c774a48a963063
10079 BANKUSDT Apr 21
3bc871adda43d917e95a1c33378ac81a520d1cc09517450bf4e98e4b1d44180b
10080 ETHFIUSDT Apr 21
6867a6dd12e259763700c269d33f56aa2b547288aadc0b105e294f3eb5dcc3ad
10081 UMAUSDT Apr 21
f5c05a75a118823d3659a2542ca6448ea731907158efb14991cad9eeb4fa6be1
10082 MUBARAKUSDT Apr 21
b754d2199c6e2fa79857b7c401e99432ea6ef0eb2df0ca7b7371655ca231a766
10083 TONUSDT Apr 20
361809ab48264a040004d272490b9eb801596f092dad79a7100647ee0675b5e1
10084 ONEUSDT Apr 20
9ed3458a80d8d4f426de56de5ae364c9dd7e968e5725070d279eda25181cbabe
10085 MEMEUSDT Apr 19
a2149b2651bc635408c3f4013fe7df9343fba0f6901c8ab9dffc88c0b7f76bab
10086 BOMEUSDT Apr 18
cf61ecd30b23c6e8013c5ff0fb80f83ba6813fd145661991e9ecc6c5bcd674c6
10087 SOLUSDT Apr 18
cc10d1fb9479b37a427c9d511a831fdd5091a39e50fd3aa93b84053db68dd4e8
10088 FILUSDT Apr 15
5f2921037e113e73da48daabcc49a3dd8ea4875ba21b8fcb6f6e9478e0478d51
10089 KERNELUSDT Apr 15
90ad8736d1cd2ada07b53b59c07b3311e0ba52459131286fc41aafaf64675b3f
10090 ETHUSDT Apr 14
0be47060d71675af0076967f4f0e5ce2d7c0beb95812cf0e81e067b42c41f363
10091 UNIUSDT Apr 13
587bcf21202518571658f18395d2d21f66d8dce5219cf6f60d51ad29c69889a6
10092 WUSDT Apr 12
254d11b43ef37dbd1fb0ec2cf20ea6ad91137705068ed23c0fe05094257dcd2a
10093 APTUSDT Apr 12
65d8582327b7584418ad4ab87e8b849a37a06c7b1f1220962db39777d49a84b1
10094 BNBUSDT Apr 9
e7ec1079328816de949c3a657fa0e9e224ff836b30af03ee354a5a23f08fe4d6
10095 ONDOUSDT Mar 25
7255a981087a54a3061c68efd3b768cc36235ebf1581e62dc9f44f5312e48a27
10096 ACHUSDT Mar 22
9feae50500aa43a17ef513d3c30a9ab32ef58ce9a4a9273c08da9a86197c8d66
10097 REZUSDT Mar 13
9d2d4200572370b844807518b586c010f122f610d793dac90a2093a4f66b191e
10098 SEIUSDT Mar 7
3057d8ee4340ebdfe9c9d16f9d724114219caec184f9ed1f2d4af55737c39111
10099 FILUSDT Mar 6
0d6ee425b9369548d0d8d25aa8eba822d5d92b9faf740e57c3bfd7ea9a46a7c3

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