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

20900 TAOUSDT Mar 25
c0a5642b5c070779a91cb0b2b15fce5673b9cf438248056bb5f898b721136ca8
20901 APTUSDT Mar 25
ff3ae27150088e4d9b978c26cfe263023a8ef4aeb4b60f806859cf9f1a52ff97
20902 XLMUSDT Mar 25
9c4ba0c9da29115f85696d4bc6e110ae627401d3868a9659eb023e68e1fd368a
20903 TAOUSDT Mar 25
158197da391f070feebf3a5fac908a4aa6bf8e09b2193d01444ad42ce44d1509
20904 RENDERUSDT Mar 25
7b7c9075b5d3a4cf22ae5f914074aa20615f94a4f3c63e004264879ae6c6d726
20905 OPUSDT Mar 24
c842b66efdf57be4248b5fde22598ec2635562788e150dc9a8a9c2960bf4c5d3
20906 IMXUSDT Mar 24
e5363faf6ef72cdcd59a80a59234abb217a0214d2e00dac3b5cf2fcc8b27d280
20907 LINKUSDT Mar 24
3fd998239bad693489a47fe2da611cb3ec729ba6d80204f5fc1dff215fb93279
20908 TAOUSDT Mar 24
b85a897bdddf481ebe9ffae5836794326ed458f022a7dc3c85066e9004accbce
20909 FILUSDT Mar 23
63813da30bdfb060d9eda26f95dfbc4228fa89ef4d6d3e89082746568b3ac3f5
20910 ONDOUSDT Mar 23
f7a530a98e4738c3c2acd20c12d98ce1a24ac02afa3d8c1b496030b1e23bdf9e
20911 TONUSDT Mar 23
365327b821193876df5b0ead5c460bcdcf7b56eba497d8a76538d00684d6dc39
20912 TONUSDT Mar 23
d256aec3052d93fd0d452706726f0ef6d983c3ddacaa4957034eb2cfda436126
20913 XLMUSDT Mar 23
6c96aa64c2e078c1918e9b0a7a9dd8079920d93b184b64b853a256f0c7cd857f
20914 IMXUSDT Mar 23
8464f373851bdbabe2fc6e2c9ff9f1b6e67cdf94754a922a82d1ec2fce94c9a5
20915 FILUSDT Mar 22
4b9be14fedfb7a1624a7bfd4e920d759b2c1ea7bdd440a2e395b8773c5c776d5
20916 ARBUSDT Mar 22
597a113b843c6a1eb41ccdbda8d4ceda700023620e4b9b596d0c003a24364509
20917 ZECUSDT Mar 22
bb9851a67132cc04a06867d2f33ea2037f006a43a0a8ceae81e8f3ba4a743584
20918 AAVEUSDT Mar 21
2523062baa85fea7c3644103309bfb80781ad1004ce043974d15198c75bdd820
20919 OPUSDT Mar 21
73f6a51034991009cfff67ce0749551fe2fb4e98131ea0173becad006ac3075f
20920 TRXUSDT Mar 21
f1d34ddeb0264da94f378c18dc4765d6f282d302f45438d5fdc649cf2e46bdfb
20921 RENDERUSDT Mar 21
8c7078d21238de2d3083406b7a9d68c062fa552f0aaae1060f6675d400299c7f
20922 ENAUSDT Mar 21
52f7f64d5ce59bf523661eeb0dc6694eefcd88f43ac6f892fc3519267293531a
20923 ATOMUSDT Mar 21
50b95295b65fb71909a550c643ac5fc23d413d1c5192bb915849ef32a9825432
20924 TONUSDT Mar 20
97a5b6e70ed4ddea0f23294b04a20597779b5a9b127e663d8d549dbf825f81c6
20925 AAVEUSDT Mar 20
5fe22267e81c37d6034e53527b41105c519020408d8d2ec16cc75c57984f557a
20926 TAOUSDT Mar 20
6a13f40cd1558e257439d28a3cab5aefb46f307e1146388a45d248d5bcaa43a8
20927 TAOUSDT Mar 20
a692ecd9e39ae474c032a8f9ecb2c24e9a5d5be081bebebfb8587cc369f86435
20928 TAOUSDT Mar 20
4835f485ac6a956f64637b34bc5d062a1be8a6fb7a42099bec45660116da9d41
20929 HYPEUSDT Mar 19
c20555601e9e2a9ba169f854fbc33140fbe106eb3bf311dfe2dc0c3c647dbb70
20930 MNTUSDT Mar 18
842058309de15958fa6a3c27facc206150374c4834b6d8083bb75be13475dabe
20931 AVAXUSDT Mar 18
ac86b747e541aa88f43cac563625fd6dbe8c458440f220bb3b16e48405a5153a
20932 AVAXUSDT Mar 18
2bbe0b8d84613fb19aec457eb8e2d15daace0a365b5c03805b973f1f15a62103
20933 AVAXUSDT Mar 18
e8f6e55d0b501a6b7ed345e31b39d1b0ffc69bdaa5639df62b8f89d421b3db02
20934 TRXUSDT Mar 17
62af45f05446b7b1156870b5a3ca7dc3a22719f7b9aa89ff31e37efc4621cd6b
20935 UNIUSDT Mar 17
bc2d77c76d93540788d00e4c69787f021181e2fad88860e4cc5d237cef57066c
20936 RENDERUSDT Mar 17
030162b0899e6636ffa12ee88ef96c1a85d305b3b0b4db3b25ddf921ffeac45b
20937 MNTUSDT Mar 17
14b97499abfde0af6a1591e95d161f15d91ac1f458e6221347173800a013ef63
20938 NEARUSDT Mar 17
9c720ad07a5c476075f28c5246d325c569a4b9f5aa26372f72e0e1c00cea6bcb
20939 HYPEUSDT Mar 17
ffccd08d641417d633ce4950772ed0d89de38146727eb3d56dd00a5d2756a15f
20940 NEARUSDT Mar 16
5f56b75a70ec4dfed5ade4718c03bd83273c86b76265e6c0973bf4c29654e296
20941 DOTUSDT Mar 16
0a46d100c517ce2e9325ae998f1b31cdab133cb2fba37aeecd9ccff6dd402c48
20942 UNIUSDT Mar 15
0a4657464241c07b419c52e483e9c33525facab9a61ebbc2db2cdd2034784284
20943 HYPEUSDT Mar 15
a0246c634240a2ceb573bb789a619d6c3a4f24d44b1fb6b92cc4eca968ae20b3
20944 TAOUSDT Mar 15
10f67e448f493a89deb0810699a9a6fe13c23e0c7486c80c63b52d58b430abf5
20945 FILUSDT Mar 15
2c074150cd120b95e86d698a17a23829268e8ed54b2efb421521220c86c42952
20946 LDOUSDT Mar 14
b6419b55f25a3e27e76d138b021c348036e20c12e85be690098a5f734d9068a6
20947 RSRUSDT Mar 14
f94cc8d0f6c489062055c9802a00c1bcbe17421a06615eb5258a78af8b94c2fa
20948 THETAUSDT Mar 14
2031c40dda71031ed3f765c802848b1f5f3624f87619bf9e1f526ac3169eae1c
20949 CRVUSDT Mar 14
a37f74e47fde80fd9b66ec806420d4c30e71de0d811d22a1e509c7ecc0a99336
20950 ZILUSDT Mar 14
2e33ac1c154b91ed8b17aed563569a3cfe6e3507e899928f59e04dc83bed0ed5
20951 AXSUSDT Mar 14
be3515b4b0f5e72c0c0c87d64bd01e6ebbc7bc9ac7b8621b33ae2543007efb4e
20952 ZECUSDT Mar 14
e79833d9b4c56c058beb8ffb93d4e86d7e4366946f7760b7815a8702831487ca
20953 NEARUSDT Mar 14
7f563f8e84d87b322b8590c216730b5572e43ac13ae786e55923f8476b11ebba
20954 SEIUSDT Mar 13
cc040356a4c03175c1593674104cb75b15b23ea935c5a6bed381a145c965ce5c
20955 DOTUSDT Mar 13
454fe7ec7bf834ddc1a03e0df4d0cbd4bdf17f78220dca1162eb0db51efce590
20956 OPUSDT Mar 13
73f28f40e37cfb2bce7d6c6c4d6f2f7cba4821968422710d3353fd39b547c9f7
20957 TIAUSDT Mar 13
db82a34fdd435ea259a9ef91fea3310cc7c8363dfbf6bf6f2632abfb3f040de2
20958 TAOUSDT Mar 13
7d1c597ff632ee09730e1eeda8e05edc1f48d4b2030fcb4d8c0df81e8dea3111
20959 OPUSDT Mar 13
2e0176b2b0216cee40b4e1cecb277d45a8fa32bd5e97bf7a26e1ff38e3fb6fb2
20960 APTUSDT Mar 13
ae9eb1e134705d57281445fbc67f15f9ed48d3ca5c56c0db46e1c8ad9798b18e
20961 ENAUSDT Mar 13
adb02a3dab49eaa612f98e752f2982399ddbb0dc41ef98eb02e95591573e0ac0
20962 FUNUSDT Feb 14
04f520cbd280917fc8ad1f5d5476cb916c0239a4d2fc7a2a0a35f74e09b74794
20963 ZIGUSDT Jan 14
9845c843e08980b208b06741765cf11562cc14212193d9437a01ff8079eb190d
20964 DAMUSDT Dec 27
cb7fa0a2414157cbe5b58091586f8cbaf65e895721574abc941b1c6793993938
20965 DAMUSDT Dec 24
8575bd3faa160b8237cabecf0a3e6fe66e472ab8c8eb921b7b9a305c3eb8f833
20966 BDXNUSDT Dec 18
d2c879bb76df0282522c6beaa9a31fae773c8ebdb53d7b00b40048d04adc2832
20967 GHSTUSDT Dec 17
be27c793019a2ba89ae8d58a07d72b1dcd765b5da9f51d2ca64c7f59f162db03
20968 BDXNUSDT Dec 11
bfee0b7fd356ac4f6b6fc00a0d75c2aa943da9e6508d70414b9b2bb003948196
20969 BDXNUSDT Dec 5
43103db7b1cae19e0af398f1402bae1f208f8cbafa7150cc7a8de713f9ba0cab
20970 BDXNUSDT Dec 4
106e8d7c0dad680f1a53d18c0fc0f9384ba21a66903ec7036bdbb733d2637b50
20971 SKATEUSDT Dec 3
a341949e5b4aa7574254f38690ec3d741cbc934a7907dc16161c473e48eb74da
20972 BDXNUSDT Dec 2
bb933e20ca70f74f4e67bf20b9dd8101d92e6c5b720b39797c2a39495ad93b1f
20973 BIDUSDT Nov 30
0e19275003f22f8e9ed4dccd6c3b44d16efb9601039ef3bceeae39731e297cf7
20974 BDXNUSDT Nov 30
8256b33f8eaa97c935003d854ebf437f37521b3319636a8d3e960abb2ba95994
20975 TURTLEUSDT Nov 28
1cb95927a12f10089946023b9397f75baaa94c1b4a5903f5b44da2fd48545017
20976 BIDUSDT Nov 27
2770c72933bdfb838b86f1ef8cd774509a50768cbdf31f9dc916fe101bb3d15d
20977 BDXNUSDT Nov 26
064ddbf76b179d2a5cc0a24ce2be19662c5180a838bb254385904645695012cc
20978 GHSTUSDT Nov 26
cae995e78b7e6eab053e19bd8c93f706904663f01ae6212546032c4236a138bb
20979 MLNUSDT Nov 25
1300c32c6c35e671d3a1165788264a8397a2f6a5e1483fd45557ba0d395fa88e
20980 PHBUSDT Nov 25
eb93ed1705e2acd1fc35721375efb840496ed4b6e2f5614ea02eba9d97280b42
20981 CHILLGUYUSDT Nov 24
f35a9c43f7519519e31d727d34bf2dcb4a1433fb928d0329db50f97bb46c1c81
20982 MITOUSDT Nov 23
4958275b5f5165c7eab1e1160e1d30f0310796708d1c4ffb34022c6df7a62b9f
20983 MAVIAUSDT Nov 23
2c4d4d64a8e14ffd24ee691b594940d7b1995d713f0ec710dfae858a95223879
20984 BIDUSDT Nov 23
7d113794aba14512bbe823eaac8ad53777ed27a35351a06706ee1606612d6f17
20985 CHESSUSDT Nov 22
e82927eb1434ef562e37700093d5937953d89ad5155b951c076d50d6fa680799
20986 CUDISUSDT Nov 20
d778b13dd254fa8b0be12731c39a09bf24495f207ec605f1a0c2e318b8afa350
20987 SYNUSDT Nov 18
39960e99e2854019177400c00f6d5a494ca67957af7bd585a1eafa68b4087fb2
20988 MITOUSDT Nov 14
9f7932cc20732688166d17719c4725300382efc035957a773ea84ff2078beb7c
20989 GUNUSDT Nov 13
76240a29aca9c9d2987e18993a5902a4b2425c210250805bc67d7352f36216a5
20990 NFPUSDT Nov 12
dcae3113dbc06308265ef7a9d5af56ce696c9afdd3bec36d99edf2b6deaaa2d8
20991 AVAUSDT Nov 12
8701a6b3a51c0272813435f01663c3e8f90e7776cea144237290c6de6d862588
20992 GPSUSDT Nov 12
fac51a3949474475848b5ffa6df60151ff96803c609bbe9aa5c3dd877ba671b0
20993 TACUSDT Nov 10
13ad5157848ca37e2bcb5b61d0e064c7d9e40dc37a82b0be66f8a8116d8fbac2
20994 BANKUSDT Nov 10
2e3ff8a8dc2afd9197dcbe802f447dd3abcb40239199132a42bcc9a27c058934
20995 ALPINEUSDT Nov 10
0068460702754458ad84eaed980714618b0f7c72a45dd50af75acbe3cbcdf71c
20996 ACEUSDT Nov 10
24c3b2144c3d3e5ddff8780626184de380000b250799c5ada6b79b7959a26641
20997 BRETTUSDT Nov 10
b2eba51a46b663c26bec529b0258ac8d810d74355a0887b2aa8d9ceb166aa2e4
20998 XVGUSDT Nov 9
7965e8bb3bc0f72be5edfae2bf7cb8745f5c444cdb3c1a37992dfebcd5a0d4c7
20999 MANTAUSDT Nov 9
68ebae010f1a61353df53127c56ed27f12e9fc1ee46c373f9dbe9e462b202f0e

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