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

17900 TAKEUSDT Oct 9
c31981dafcda52f2e4ab3d6ff4c93e068568ba73097ab4420521251dd9557903
17901 ZECUSDT Oct 9
e2748ff638303226ddfa9992071ce7b01448c0253791e380b3f1e12335a9350e
17902 TRADOORUSDT Oct 8
3b6c176ad894d22dee78d5be524025ef04bd2695c430d64ac692c080b8c28c61
17903 ZECUSDT Oct 8
b75301bf69ab9ee7aa0ebd9e9ee10ba36e56fc69159349248c77b6d5320620e9
17904 LISTAUSDT Oct 8
8b7d74d63ad692d9ca26d6b260416343ac59111458b71102b85f7e15298d0cd2
17905 TAKEUSDT Oct 8
349ecc6bcbb70f1eb2703c58ad223c26ff86f9ae20e1aecbc802b987883d002b
17906 FORMUSDT Oct 8
e703d45d143fd26eb0b0fbe4cbdef42fda9c5683c559d08036a71bc0a0a5d6e0
17907 TRADOORUSDT Oct 8
337219ad7d57b56c37aa66527c38888e135ade95c38b0f8878530187b01b4592
17908 LISTAUSDT Oct 8
60effb03097e5d39cf2242ac889c16d5ce00a8bbabf951b11a5afb42ea522060
17909 STBLUSDT Oct 8
c58a9a09b1126ca7cc312c5258069a71831f4df1a5b751aff7f41ee0b5137b62
17910 STOUSDT Oct 8
7203b7813348d4db4433a0abbe109a2a23cc167ede2cb3fa348c3ecc4d8590b2
17911 VVVUSDT Oct 8
baf97c21669a2cab08d2c8dd92d73d307075f897e043758ff2d039bb01daf6b5
17912 BLESSUSDT Oct 8
1dd1999b9234ea562e9074e8af90caddf0610f16264a65568a137508165f8aa3
17913 ASTERUSDT Oct 7
b35843bc80b8ef8fcb2af9f02e65e5bc3cfa1a16b518748d2549f019fdbd7560
17914 SOONUSDT Oct 7
6c41c3113c6a70ed4bca1eec525ca6c29dcc0259fbd9d56a6968654a1205d54d
17915 XPINUSDT Oct 7
1492a5c1b2e4d27cef53985c543b38234ce77fd09dc81a641d6eb126f1dc2dbb
17916 QUSDT Oct 7
83dd3eb0cbefa7cfd68f2e9df3f3cec10909666203220c6d3663c53bfa39e054
17917 SOONUSDT Oct 7
44ed12e1c8b1f8cb9966ff7583db6d2a7d01095de0266eeeaa84a3a9a2fb5dae
17918 OPENUSDT Oct 7
a2e971ac8cf7d9adf55654b064a47e1253a0fc9367f93581f30f5753a75e63e6
17919 HANAUSDT Oct 7
cb830e80446695899f87e0ec88978ea47e2ce03c897edc127dce863ab1a6cdfe
17920 STOUSDT Oct 7
1c1d3bea19cbd0d6db3aa447c6d3970943b5e377d244af68bfed30b4eb4a63f9
17921 BLESSUSDT Oct 7
a4bb83d48c8db3b87be8afcac36d25f0a76d79b112a559349f44152ab6cc9eb6
17922 AIAUSDT Oct 7
0f3ee50db5cdabe6cd32dfae7ce7d57eb455f0c120135548d6bdb7a6b786ad27
17923 BLESSUSDT Oct 6
ff80383b79b496bfb0e9e3710b94e252433c0f8cc0e343951ef1c030866cf96f
17924 COAIUSDT Oct 6
9fc466a8d313655e27b51a30cfc6275e04cf69857cf09cbd09e2c358d022a45e
17925 STOUSDT Oct 6
db6ebf5f4839d06871e764e53ee560c9b3d293c57b2ea5a68e40fa4884d7a1ce
17926 ASTERUSDT Oct 6
061cc70253b7c38ff6b7dc24f9001497fabca84f6c34f51271b80fae7dea203e
17927 ALPINEUSDT Oct 6
7914e93c908a116528013b989519ff17feb69629834de7b419557d9c7397d8c4
17928 ZENUSDT Oct 6
80489521e8bb56716c08a53e84c5b9c7754c9fba005ddd5cfd4b2612e0df580c
17929 COAIUSDT Oct 6
866c9e4cb6d609c16657fcc275dbdbaa4ff2a7e314f4d4e8942475211ed1b11d
17930 ZECUSDT Oct 6
43f74fbda5927b34716d70cbd34d0110629c1fb08231ab033d7733c3390949d8
17931 TAKEUSDT Oct 5
e40a9c0f4657522325b501158fe1a9df9e7b5017e495cb1bacfabdaaa08f7dbe
17932 ZENUSDT Oct 5
2e602f913a15b1cd96fc2b62031df30f3a6855a04a188150ae83762c6f88af6c
17933 HUSDT Oct 5
fe4e4ee036cf9135ccc9626a5438196a5e381117ee44147e33421f6d37e46ed8
17934 INUSDT Oct 5
1756c89a19e3a1743a097a6106ae5f0fe118b5e02639aef61184b6d2a0ca7535
17935 DASHUSDT Oct 5
b00ac88a2bba9d8876ddaf25f77fb669cf67b84f4b0e468bd91a83da47ed4c87
17936 ZENUSDT Oct 5
ad2637b3cdb1d50a754c11db7b089f610a4dbb2059cffb0ea6d441c4cb9ae215
17937 MOODENGUSDT Oct 5
a5de9dc666096a3b42cb08092334568ac7ee9006bba408b97f1accae488fe7bf
17938 ZECUSDT Oct 5
21aa88bd994f2fcf71307762c04dc9547ef7d7a5bab53123bb934b96427d1b38
17939 TUTUSDT Oct 4
1358c63e6d97c6b74c9946ac60b27c58c7220174e71d32fb822b47f796478035
17940 SOMIUSDT Oct 4
702a58eb2feaf70302d9f36024b5a2eaaf6883ae3a999856e36e6aa8149f10ca
17941 AIAUSDT Oct 4
369b0935298e7793bcaba648162d6ecf4c349ae5d25068d3477b3881cd346024
17942 AVNTUSDT Oct 4
db0ecb613fedadf719f7dc9606cdea2180d38dfc0cb2e5af8ab477f3c7b35511
17943 DOODUSDT Oct 4
afe35bb26e4b76f42e6f310e094b9b5d3c8b09116d7656821acaf28be109a212
17944 IMXUSDT Oct 4
9a5d0c9559e848914ca7b25c469fd01ca7853f57541adcf7321804ff7f58d72a
17945 AKEUSDT Oct 3
80da16661299f43b37f4ab29a1e900d90859601ee7ef13f577568fa036333ff5
17946 VFYUSDT Oct 3
f69a0f45e1577d5868fcdcbd038a90d6c055428dc82fae253b4a21aa243064ff
17947 SQDUSDT Oct 3
7eac0dbb61aba1ddc5df4039637d2bc86f991ae5c72dcca1f9595e5f989b6613
17948 NAORISUSDT Oct 3
6fa0c8529e089e05aaa6774264465e49e56bbdf824eb0d3134cb5c33cfb6373f
17949 ASTERUSDT Oct 3
30e667e9a139837e58d377f3a9fc3ff5ac06d49342df6606bea00bd674a6a7d7
17950 AIAUSDT Oct 3
b23df5e3936a5746edb518a4451bd6927391aadfd15faad78445a55463eeb36e
17951 SOONUSDT Oct 3
7adfb310710560d4bad4febbf0a2328ada4a93c87f852f5b5f943935839b5b6a
17952 HOOKUSDT Oct 3
b57dbac39008384176e83ce50b7fbccc58be8284a838c2036d99c8f5bd3ff1ed
17953 COAIUSDT Oct 3
88f4e80c0c546de444ccc076364e656e5e977b3fc8072b61ed0f092085311136
17954 REDUSDT Oct 2
20a6ba40f346497636693ed45d7e8cd7bcd86ff8efe526afb60978605e6a41dc
17955 HOOKUSDT Oct 2
97c2da8ef3f8d565cf8164e02239b29b1382cbe0c986943b9a7c8a96b42ab771
17956 ETHFIUSDT Oct 2
670c40a2b519b9f319e05ab0c19a50a693c37190f0c8f5ff7400d3aea781094c
17957 BANANAUSDT Oct 2
9b6115ddbeecb2373cc0eb735aadca1dc08d7f509b44d026472ae34061b43ed2
17958 SNXUSDT Oct 2
71d234d11a4ffd2d74de50a90956e5be51c330ae848b5ebf97d378f7ffed4af2
17959 PTBUSDT Oct 2
ecb5deefe06e514dc528bc8c247d479e0982da20b68342a5dfe92d233d9e7343
17960 ZENUSDT Oct 2
4151e43f273dc9cb8b800ba4009463aa23c5279d4eb8a6951d9745e4d2be5d91
17961 SOONUSDT Oct 2
82e8af4522a509d3aecad5933dc1bc8cb9bf9bca12df5ff317cfc0b1da87b485
17962 ZENUSDT Oct 2
cc7752f475f5d7e643dcee64e4e99170915ae49c95d162996510101d12e5b3a6
17963 HEMIUSDT Oct 2
8bc7db2bf675c62d3d1c06ddde5f3616d3963e73e96fc137996558fa1d65e9b4
17964 ZENUSDT Oct 2
06861e82b283ef688a0a32125c93152446a0877d00596c3418faaf78a54acf30
17965 XVGUSDT Oct 2
8d6f87a728fd479af0ecdf6bbc5a0f3e54d55facf68eebec25b91bc483df13cd
17966 ZENUSDT Oct 1
2aaaa01031e815ff142c429217967e7999d64b3341367374000d3c4bb0a06b24
17967 XVGUSDT Oct 1
a21a5e53494c9d182c4be23ee58b936fd9bacf20d1e763a8c91ebb2337285e5d
17968 SQDUSDT Oct 1
7d5b559676739e0b0721db2a77ca9e724aeba519b5ed0c427126a9d7281d4630
17969 TRUTHUSDT Oct 1
7a70e3cf8a9a26722c58b0eace73641892744d5fc4f3dd0b27e0ddc8182f607f
17970 ZENUSDT Oct 1
65b04906de3c5e8d0812e52440c57e9bb40f489ed513df643a1c9fec10ceff5b
17971 NOMUSDT Oct 1
f4272c7fb6775251ff689b6ca71fb971d54ec78f4a1dd56871d687a30af20546
17972 ZENUSDT Oct 1
5e90f955da17de771023987ea56ce524699b09aac62a0ee02162c213e4fb95d4
17973 ZENUSDT Oct 1
b37e3a0d9ea55f81c6b1cdd3ada74ad7a85e93373bdee7ba7701f4713bc1cda4
17974 SOMIUSDT Oct 1
0007d1b03f43467f587bb53a3edfe34a82bf7ba0052b5e6f7a82669f2d28382c
17975 SOMIUSDT Oct 1
cfa1dec608cb7665644d78837762028bf7d81250bf38d022e0402738fb319528
17976 BTRUSDT Oct 1
0adf1da9f70eaaec72116b6683b630891d5c16a78fd658028ce534294f9a929e
17977 SQDUSDT Oct 1
3170483a866ccffca974f026e297db0ec137b97a3d74bc83cc2ddd1ead0ecccc
17978 EDENUSDT Oct 1
7a0aa5936e4f9662d1cd3b005b90c16cf70fc545ae19ac9d473bdcafdf4015b3
17979 HIFIUSDT Oct 1
4764f2dbed829a87745c074e1aa0730e7f0d3fdf21f64e6ab8bc5df249f64608
17980 VFYUSDT Oct 1
ad2a97942ed474acb2b7ceea5b2f0c5940fd77c1e603b21c8ff0c5d7e88691ed
17981 ALPINEUSDT Oct 1
f2a48c1b7062ee467dc00d45ed126d3126eeff2c3603e0fb9cebd40fccab9cc7
17982 VFYUSDT Sep 30
d7231d806af15c18b50475d7d437248551ae5ccf297ea30e06509d080c10db8b
17983 SQDUSDT Sep 30
352a5069b50cc05b8a7351e6efea0ca247d6715ab723eecfe14f0e864c704709
17984 ZENUSDT Sep 30
998996c951f8cb9a32795f6a6bda8ab7574c78d84416dcd80478e7e523aad8b5
17985 EDENUSDT Sep 30
3b401e243b0ac5228a144daa63c17faa5e1813b97c4e259bcd90293092f063a7
17986 SQDUSDT Sep 30
f92f0772355fb99c01fd2f2075b195a82e11c435b890ca472d450d4aebcd4d1d
17987 VFYUSDT Sep 30
86f128abc38b08d324eba400458d2a90a9ac2c9d6cec621be81ecbc8a0f50456
17988 VFYUSDT Sep 30
1a665ba6c254c3c99c81829ae9de56b07b8c56b88b3c1f28fc2f420bf2943c75
17989 EDENUSDT Sep 30
66fa3e34d9d540b7b7c64e5af4055daf6ca271b3e0568863ca609f4fa75983d6
17990 COAIUSDT Sep 30
a334b52c0542284b8833181852ff8bfda3c182e6e290931431c5c0fa005025b9
17991 1INCHUSDT Sep 30
924dcc26d2da2e1f1b66254a1922e8c2bb02904305d2896aed96a9ea6a937897
17992 COAIUSDT Sep 30
450b95e2151462fe65f74be73dffc4b84ede295a2ba2a32d57c7f42fd2efe377
17993 AVNTUSDT Sep 30
16418a05d533b124717f1b3dbddcb49e03a08b32dc94768cd1bc145c4eaca0b3
17994 COAIUSDT Sep 30
ac352082c0d5e417d603e86021d2675361f6f3a3e40aaff0b627ec4d6f53e285
17995 ORDERUSDT Sep 30
4e4cf23d5150b234374609603ccdc50329d5e36b5e9ba7d8bc1ae5e37955577a
17996 SQDUSDT Sep 29
031c8a0970bbf40d62cc202ebf2196555dc1d277517fa666dedffb1a4b887069
17997 PTBUSDT Sep 29
4e20f38c370b7e3ec715f0f86a426e5912c5470ba1267cd450c81179a183304d
17998 ALPINEUSDT Sep 29
6c76163f9332f29d559ffd7a3a587f319969c1c284659302d856a9d23fb0c038
17999 KAITOUSDT Sep 29
5b9ffea0e4fc726a166bdb80f7f000d75b03c5192f64ceee5cb0119c0204a744

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