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 10, 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 214 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.

21300 OMNIUSDT Jul 10
43309767df6d039aaf9f5ea779046ed591a8e62cb6845c65241928d2505cbc4a
21301 WAXPUSDT Jul 9
b73994d9dd1087c52f1992997f730c42b00633c3c6df244d39d3276c067c19b6
21302 ANKRUSDT Jul 8
1c96a605f87346f6e7bc35b4f10fbd42dbbfce22d6ffbbc19edba81ddee0924b
21303 JOEUSDT Jul 7
e6a683e972b0c5447809c0fdb2da3aa47ca2646c13b693bf8a87f5db84532c15
21304 SAGAUSDT Jul 3
fcc956d4e4f1499ad9d7c0be38a25a9536cb932b2def53f24202db1b04f89acd
21305 JOEUSDT Jul 2
e2655569c53e933d3bfdb3693f49126da3999526dee011ca9b64b8e23c6caacd
21306 OMNIUSDT Jun 29
21ad5e44a2a8aed3b3b3ad24917bbe58034ab5c0212001fee7db33bc5752ffe8
21307 BLZUSDT Jun 27
bff6812e18ca634989e4ad0100e97a5128d4915838e5061e79f168278423b256
21308 INJUSDT Jun 26
09b957ffaa5972f2ee19dcf249d91f9cb03556a3b8efcda48dd54b866ba52949
21309 JASMYUSDT Jun 24
f52fd0a0811a5fe9b40a0db7e6c8c384aa4729168c87c3c3288016320d3c8fc7
21310 IOTAUSDT Jun 23
af87f7fec99ce3716a175929551a1330ee742045eff86ba94308626d29944b22
21311 ENSUSDT Jun 21
4dd303958f3735d1b756cd0d987d5d2ef4dfe71869e5df9fa3bdcdb62f87dbc3
21312 ZRXUSDT Jun 20
008ddb1e4e7795463994618fd0fe56b4fbabc4fd79a92d737fb031132a57e780
21313 JOEUSDT Jun 14
564473592e16422a1438691aba4c65c7901a3e068442c86058e564223399c25d
21314 ZILUSDT Jun 12
1ff6329357c949b6131855d0ed2086761f2ae9fd2c94f7fa8ea156d578aec960
21315 HFTUSDT Jun 10
468bf63423c91db954149534e8c385280a41c099acfb1fb848ee3b7de43697c8
21316 NMRUSDT Jun 9
83b04bbf5de1032e9848f296db0dadb267cbadd5cef6d2204058e58b8eb95926
21317 CHRUSDT Jun 7
6c03542555aa9c3f25b1792f3f2fca937d4352d1f95597bf078a17197e2ab68a
21318 SFPUSDT Jun 6
f051102465522a37fad09b7e27fe26b91d7c99535d1d052298bba890b6e6b8ef
21319 BICOUSDT Jun 5
8096fb1a7290648c1c920f82ffa73f1dc2367d308037d820c54a43a3ddf8cec8
21320 NMRUSDT Jun 3
21cd70354a69a6aa38cfecde0f4b614ed952ba9b0afb9baee0a09e36f7e4a2c3
21321 SUPERUSDT Jun 2
a283aa660d90c0f137ff4e85ce09ba334e799d3d82b931ccb2329bfd716086a7
21322 HOTUSDT Jun 1
2cc74d3e7fe34688f7b1d71d78ded08f1e3e7b877426edd61b0c250f530b175f
21323 FXSUSDT May 31
8c235307c4ba70d6632d17a2e32dfd6de26ed877c2c3a01b86e6595cf11bf592
21324 BNXUSDT May 30
624e16161b6ee929974f51e203d59174dd54e4a27531326f94269bac057a0634
21325 ALTUSDT May 29
13968d7e091f10bcdad1a9a82bc1be44c6e0ec5545c03883e168b21c8d305f6e
21326 KLAYUSDT May 28
deb018896ca7ef62bfb18c964e62502be11a5cf52ae6633567f2be93647989ef
21327 QTUMUSDT May 27
e4fe4c7254e15326b89b1e6c907052753bd22fd0b72e0123428a9325bf2cde17
21328 HFTUSDT May 26
05712e3205524e3d0952f804a41744ab9ed429b7025215bcb747b154eac91a24
21329 RLCUSDT May 25
cf3c320170e99c105d5f0ec15da297debcc9fae118c8d346705d23f96f1cd292
21330 XMRUSDT May 24
77bde3af4acb286910920c0e11c64ef71b76bd2c481f9023d2225b962b3366db
21331 CTSIUSDT May 23
4853543087dcfc7235c375a8011268c2f899a67356b2fd58be8867aef7433ccd
21332 HIGHUSDT May 22
79c1dd7851a2af9c0c25125e7309f1dda3f4a8c4ef4b2217adba08c68d6a890b
21333 GALAUSDT May 21
c2b35fb54c2abc2d55ef5bcb92221c5da45aef6b6bd5f94192b3193ffe6ec32f
21334 WAXPUSDT May 20
ca4bc37ea73ad1b8cd0cd8233dfc00a4a66644dc67601484bf2cef0f96d84630
21335 API3USDT May 19
e4472947a8f287dc02d54c422ba016612fc6e6ec835947a289a84c73fd23712d
21336 DENTUSDT May 18
b5cb5e5f3cfd1ad287e8748762cb5333c8b998c9636a2ef7ccb6e3ea63d3605a
21337 RIFUSDT May 17
a4954d5171642d55e1b1616488698f5582e9ca33ec950fe9b5622071ea9f0423
21338 BLZUSDT May 16
4b3ffc1727236816733e2cc5771946b9c5c9ddd9526f42ca8c465b587cb1541e
21339 XVSUSDT May 14
a99e6e52f57f845a1834de32f6fd2c95244d2e7a8430d8b6ef474632db0b28e0
21340 SNTUSDT May 13
b8caff4c0f821383dfd79dc968e85cc26736392fb44eccdd6488402f5cd3ee43
21341 HOTUSDT May 12
e38d6b43839f4a378e6356e508eda6cf0e69244d868623f0cce1a5bb05ca559c
21342 POWRUSDT May 11
605ada147f0bc269ec952d504459b84e4b6088554d5b2821d64c0d63dbf9e110
21343 NMRUSDT May 10
31195a906bf85196bc5d67a2b2196bdaf21bb9223969c1cab324b497c1b019cb
21344 GLMRUSDT May 9
b4b00842269f43748562b4d8d2bc89521337970da24c7295eecf826cc78ac102
21345 IOSTUSDT May 8
a975bc7b895516787887e4e1ce486722c7b1dd092c1fdfd5f4d313b1559f0b92
21346 CTSIUSDT May 7
02a27384e2fc9774ad1b5840391a784c41ce6a3511d0b2635f4e79350031751b
21347 GMXUSDT May 6
a0848d07e59d383062fc67ee7fa8edc6196e485e874316025c4e1d353b96bab3
21348 CVXUSDT May 5
cb1c8bb6f9cf04dac4f91b5e32bb9323a0039890441ae1bc1e574173857a7d59
21349 BICOUSDT May 4
dcd7bc80e6e5f714153333907e408d2935b4cdf73ed6df32a049497875e9aff8
21350 GLMRUSDT May 3
b6cb41f1e92d6c50f7fba0d6ae19c0902d2dc63a3d08fca6a2e2ae9bec513c89
21351 TUSDT May 2
aa1422afa07bb4c3d620663d29142fcb46b12995c571a06aec6cfe2d95fb1179
21352 BNXUSDT May 1
8e7161be5ffabcecf674a4cf29732d615369bf9d18c9dd5dd3c2ae514b251b0c
21353 OMUSDT Apr 30
f2318671539fa6e50e7da0e4c20b886c3fc178144c40d1ec23a32db981d5d850
21354 YGGUSDT Apr 29
e38286634a55ca459b99a39ef05c03e45ef322ef1cef40bc3fad043c6a26f07c
21355 SNXUSDT Apr 28
c586da0eb1674ccb837e68846197cf7a33fc6575be93f8f31449737e3903a3a8
21356 AXSUSDT Apr 27
a4e34bd6760a431aa9899453b22e6940283da12d7a96c5cda9f6f61fc5193141
21357 STORJUSDT Apr 26
4438eeec12f2ac4c3eac416bf8298235cd1c0956c10d0ba1d8d2fd8c10b2ec79
21358 APEUSDT Apr 25
137d3b2f4a5f7e3331c40e1221d8a35de7b1510340e30d18c6bfca9038f0b0e0
21359 C98USDT Apr 24
f468cf8797ced7abe110942abef3ca21f079b0ba1543fb838616efc086447719
21360 DASHUSDT Sep 17
0cc6fef2b909b61f3afae3c2cc2ce9f93653f012b6a81946ad077d55d1b632c8
21361 LTCUSDT Sep 2
a9b5a40ecbe942bb30820f4f15b3fcb764eb14630a56441ef4634b6bc150c37a
21362 BTRUSDT Aug 27
57d503748f773c6ab8850625166d9bfd4ddb78e012619718ff1ad632cc8baf23
21363 BCHUSDT Aug 26
c964cb391520006c703abada0042eb34c6c15bc955ddbcb305e0369d68c692ff
21364 LSKUSDT Aug 11
303931ba850ef0566fe4a3ca7fa999dccb72c36af572e8162e1ba45703b3f375
21365 WLFIUSDT Aug 11
0bc52688cd1717e4123cb62ee41d800db1ade4d6bcf1342860608124e84402f6
21366 VELODROMEUSDT Aug 10
67e2c3e5524890354d721153b3eb311725f610021a1ac859faf79b23edab4de9
21367 MAVIAUSDT Jul 28
fa00391f11d01be4218b8e6cee38ba90f101cb091d794d695643e365491caa59
21368 BTRUSDT Jul 22
81647fc5fa2721a6777829a42cb84d12a7efcf353d1b984bfdd9582032e0018d
21369 CHILLGUYUSDT Jul 21
87db9f0c8efaebe52fca71c5ea7e56026b00f293a8c21dde29e436171a46f3f3
21370 DOTUSDT Jul 21
58d5138400a4e9c27274fd882b8ba8d689ec3cd4dff327efbc26d177db9596b5
21371 BULLAUSDT Jul 17
02e3d1997758b650ca6eaa1f918dce597a35378a40786bf05b234fe88ed2c275
21372 ONDOUSDT Jul 15
53d099c7312db3e1b9017eb1ca072b95a6579a4d60949668abeb92a7f2478c43
21373 VELODROMEUSDT Jul 3
af6a5875d6d23782224935da4eec2f31c5b6af5be2ce0800ab9dd48af958b460
21374 ATOMUSDT Jun 11
acd89213d3a673dbd4e514074ce5c36a6f618895ef1314a59f56678dc3788a37
21375 ACEUSDT Jun 1
06e55f518e63e1fc4c19a1b30c012b478574e9d0961f635f58309458b3c264e1
21376 ZIGUSDT May 16
c6df16247d4cd7336229ee7c5f2808d32a58fce2da317f23d0c4cc1788541c90
21377 PTBUSDT May 14
85a5269db7f6c859ba7c48aac1726f56d9d42efebb7c3762d30e3a9280787dc7
21378 IDOLUSDT May 13
3dec70d254a91407835ce77deeb61f90dc82c36fa453f7dac475ddc91234c973
21379 BULLAUSDT May 12
3fcb89da61cf0d8378609e35ad1603b31f39b165aedf10096dc4f399554a7c00
21380 ATOMUSDT May 10
8e13a7f3ee2f26c7b86aaa313c4858600dfab7e6f0375c6cfbaf8d695f19a6e0
21381 SUIUSDT May 10
a1a42d7ca2cb876d0b21b03a50a0fdbbdd7986ef5094d8ce24b3e7debad3a3e7
21382 UNIUSDT May 10
e9da7e31bd6ef4050afb353dc6e08e17c0ecb57e987559c4c5aff06f15e75823
21383 JUPUSDT May 10
70d7c975b7ff7c51d279c94245eb392b11f825c41bce3ca0afdad0c0410ce791
21384 INJUSDT May 10
b1e1436bb072258f0fbafea867f0abfa20e9ae0db4a524e4c8b0f69dc5ca5c7f
21385 APTUSDT May 10
b5798ffadf4464f068c365b10877453a035a97e4eab6c75d69df856f44ed27b9
21386 ONDOUSDT May 9
fea5ef79e3ea51f91ecc8f14c4ccd0f20cafc2e5a5a4d596229ae5918cf80f16
21387 SEIUSDT May 9
fb142380454b8cb90927bf45034e023981b1b45677cbb25a9068f457c24f1a92
21388 ONDOUSDT May 9
8352f054af546bac9aaf660b9af569ca051bac1bd95537d675754376d84a7cbd
21389 OPUSDT May 9
0f16655c2a64348f10db6301db31c9537b867d33d0dbc81560b4adae4f8efbc0
21390 ONDOUSDT May 9
9629aa61bf64e900830a7a485f37eb9d49d57eb959185f4e016d0835e2aafec5
21391 TIAUSDT May 9
dcb9a8d02798b8d000efef9ccfb9b0223411d29483e1a6c06a7f22a9d42b0109
21392 ONDOUSDT May 8
ad8e29ad8a20081bcdb8913dd0db30ba848a41e48f156ef74a8b60fc5e11837e
21393 TONUSDT May 8
98ba40d6a09dda4328e5151f74d00bbc40c2060b621df00e298cd02fdb3a819a
21394 XMRUSDT May 8
30a60a0f043b5f18c69d32642eb887428ce660c4b8a7b8d002f542559782870f
21395 ENAUSDT May 8
62903eba1b70a5e2ab0e5a6af4a5c187f81cb501672340bb60717e723bfc7dd6
21396 TIAUSDT May 8
0a154125dd6aee261f9a97a8236585caf0be9352900ef0b194c52b6d0f8c1160
21397 ONDOUSDT May 8
ae4a6bed1d08ea38efe5ea25c10f5d80284f4173784d066f1c95b2ac3bde8f47
21398 NEARUSDT May 7
30804c4328463108b540558881a39ea655dd8cda86aa96b91977cd5792b32679
21399 OPUSDT May 7
b57ff942c9602c2fb7b6401d643afe15fd27e6627ab4c1885f52a4515890b16e

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