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

22000 YGGUSDT Apr 29
73fe1e3ea28848a1dc23ae9e0528127f1ba0a195ebff749d1014fdce6531865f
22001 SNXUSDT Apr 28
7157ae7033b0c7dedc66db6b1fd07fc631258935cf02cc6ac218390641ca3732
22002 AXSUSDT Apr 27
7de308f8a7c0faf0fe17b052f0374a7f6f56ce482dd0839218df5c7c6ae23d0b
22003 STORJUSDT Apr 26
0652e0bd63fdc897c15218c3361f3eeafba52ee2b72ff16df62e0d709899ee33
22004 APEUSDT Apr 25
77cfedcc9c59b46cc116d636b2c49730406e6f315ed5c8cce6cb409493809fbc
22005 C98USDT Apr 24
c2d4d9b3d36e0ce3356fe35b04a36cd4d70fff1563d9d0ebbd06f1b45ce8002f
22006 UMAUSDT Apr 23
b1d05f8c5512332378f853496ceead5bcde99507e53c467bf2de5369f453f49d
22007 CVXUSDT Oct 4
535f54f537d9bc0c1293333d17a519f3a0bc50f0a51c4c81613ff9c1068438e9
22008 DOGEUSDT Oct 4
bb0a3096c77f3a5786c262e3a28d7526f68bdd7c6bf54e57415aa6058523b22b
22009 ONDOUSDT Oct 4
86f2c41ff3212e59b69409e845f057ff52b4ca86142410769248908c501e628d
22010 C98USDT Oct 4
21293da2f135bb48e7951fd3c5121bc9bf138c12e6398eb0acbb91c37248ac89
22011 PORTALUSDT Oct 4
38eb91217294a765b92ef4e3e432349aea774e694313d7a06aa323721638d7e3
22012 WLDUSDT Oct 4
029763ef92cfca9cd39f82c4ae7ac90a6b6ec34f11e7d04dc22ea629e83eaa77
22013 BTCUSDT Oct 3
42f9d25e8dafe280f1351e1f968d983aa140651f3a105e807691db53f3c9d060
22014 DEXEUSDT Oct 3
c43f5d9f7f5ea19e938b9f6b377a061c675474241a6f7ff4034e8a7815225a7e
22015 CGPTUSDT Oct 3
d31a54e41f0794877d0d8460b9cef10f6de6193cd903f1c859db34170b07981a
22016 SEIUSDT Oct 3
13442415fff19070fce7d7e3321098202fc0f2eee5962194f6821838178e8c3c
22017 ESPUSDT Oct 2
197c83e95bc1f79afb95756c0f0d0c445756b927e1ba424bd5c4da5033980220
22018 DYMUSDT Oct 2
0ee848d696655c9196235f3b70c815dc04aeb9230f5a2d73793a04e76d4e40ca
22019 ILVUSDT Oct 1
5b5462ec56ebc9b961080596c846b4c1f57ec18beb47fe1de4b4045992956469
22020 C98USDT Oct 1
e5c849bcba1801ad25845f49ee7523c1b142180f431f473c86cc386437887a03
22021 OPENUSDT Oct 1
112363b2dc9abff53449a043bfbe9b7b57ccaca6299121f7bb9ee84ff6868fd4
22022 SOLVUSDT Oct 1
40e9f44bb5c1a930172816248abffd2940db8f61efa6826d97878a8e29cd92c6
22023 CELOUSDT Sep 30
d93dd78d205f82a7e4c99d596e1cea5c720fa271879b16fa4ad941ca6e873f9f
22024 DEXEUSDT Sep 30
012fc61a0ceeca54c26309b2a3daee4ca1c862e4f77b537529ffe9115a99da06
22025 QUICKUSDT Sep 30
e2fdccace8034d35f46acc5034b5de8a0cbc1888589a51f03bddf373b954d0bf
22026 CYBERUSDT Sep 30
beab5817f403b1c5c6f831c25f0bef661f8f31d4f042fe4ac8ccffc90ec7aaa2
22027 SOLVUSDT Sep 30
448cb6139b74dab1a4364db52f180711bf2600645fe20d815149a30a2d3bdbcf
22028 ZECUSDT Sep 30
7ba0014a2e914772c2f0a670b85f641ec886b1dc4e14504799b58f330084ed04
22029 EDENUSDT Sep 30
c8716b29e8779351f31e37346322d349fa130769e6e63f8e847cb3fa008bca73
22030 BTCUSDT Sep 30
c8e8d3341da611612516501c6637614bcf7c5ca8dc5afd2d247cbc8c912034f5
22031 GRAMUSDT Sep 29
a452f1e4a0f2c92a6a0bd5f266cb4430d696917161fc9958553cbbde9da5f569
22032 XVGUSDT Sep 29
b32fd160162fa9284690c793c808455449fc5e4c833031a78f5476068862da28
22033 CFXUSDT Sep 29
e915e44e10e337bae352ef0b73ab95e043e7f90308c7d65991a7348ec6047e40
22034 XVSUSDT Sep 29
4cc98c64c3455d70b4c9bc678ee6b52b0bcf6b61bba82adc5221aeb7a453ce87
22035 HOTUSDT Sep 29
7c58dbb3a41498b4cb95d99a3c03202f5be67219619bb90ee7317a24fff32fe6
22036 ARBUSDT Sep 29
ec49b5c3ffb82991fc4ee4474c985fa1f713944920205f933fb6620d8b0fdaab
22037 CGPTUSDT Sep 29
7b2e0662a4ec216e2cfb85a032c96a09e23fd987406fc1677a34a24051018acf
22038 ESPUSDT Sep 29
485e0476322714ae22b14db27bedab1e9e0953f65476edd02db192a272043115
22039 SUIUSDT Sep 29
fcc9b6b72a48809ab0ab671a803e472b6d80b05f3fb85c301373da5ee4ec08d3
22040 DASHUSDT Sep 29
8c8606d0dca1fe5ce93cb0078efa8c082592ef9d1321622a462186373fd7a57d
22041 EDUUSDT Sep 28
91e799f245dd4ab13955cc02824be6ca9fec3cbe2a6cc344b525fc1975496942
22042 ILVUSDT Sep 28
c094a51e2edbef80a94dc2b812388305551e68182328bac6efe49205ff69289a
22043 BTCUSDT Sep 28
1eea5c79879e9e284416c4f6d479364acb145d584c0361fc75d4e80a080160c2
22044 CVXUSDT Sep 28
e2a3fb2105c3c0de686d58d5e1e93e3ba3edfbc239e8ba6400ae3a26af0b1d71
22045 TAIUSDT Sep 28
7e4cf3411f21e1c66a23532f6abbc45815faae0af4cc649e506efe5acc951949
22046 DOGEUSDT Sep 28
d4807557a0bef598b9c28f5c54aad7c3a748857f745c893d547c2f0fbd3023fe
22047 SOLUSDT Sep 28
f17b652a32b7bd9dd4f8e8ff863a57df0b6a46ccd32904ad5923d56c86fb3c13
22048 DOGSUSDT Sep 28
1919f20633eddc81d3f79f4b38d42855473023964d7289bde3e8cab5fcc80376
22049 WLDUSDT Sep 28
1ca48ec30c1a8140ab2aed1b7f77a2cc9263b5a2eb890931cb5d2e71daa6a406
22050 PORTALUSDT Sep 28
bc2d040463473d021c61ba6f42bab115623e5368030963a5ec764a4c8e67e8e3
22051 ZECUSDT Sep 26
8c6ff579824c621d7fd6bfbac248d84229386cb9aebdad1c613c263a3faddf0d
22052 XRPUSDT Sep 26
1614a5ae79f0a8453e440d518f18dcfd98e98085b3589986377eb9962f351f59
22053 WLDUSDT Sep 26
6edb88041ef8b7c871f485d771b063f841e1e48bbcf3a147ab11e708e4ea000b
22054 ILVUSDT Sep 24
4b8777387c324db8791021e0cfa4a32d37b5b4932ce38f9db79fee4118dd30cd
22055 ADAUSDT Sep 24
9358801cacfa66902f61b946a3a35c2b21bd1738924260382c71a585ff46dfcb
22056 XRPUSDT Sep 24
0cb6245da96a9f7de7d1ca8f68a4e2ec71dd57ca9c280e4d377749a0ff2b9d5b
22057 ETHUSDT Sep 24
bf9c4c6cd7f1d2345a01be4e89132aba7ccb1d71ae07d6838554ec17541a3727
22058 VETUSDT Sep 24
236c16053d18ba60f2670b078cb95d50f41ad52710cd1021b6db1ae33bd26609
22059 SUIUSDT Sep 24
b91f5fdf7b89508003c03bde4af5ef80f4cd9b670f46b0501a89bf4f927b9941
22060 SOLUSDT Sep 24
b6be688b364d4c29b80f606a98509c82a8ea517f83fa3782c6c06b8a936e29a7
22061 PORTALUSDT Sep 24
7b0caee14e65b2c54def973dec4b341d144380bb4bb0ee6bea49383a68b6e72e
22062 WLDUSDT Sep 24
e400946916353e401c97ba9d76a0e2952b6ba7458de9a5fd250a01f0c5ed2845
22063 DOGSUSDT Sep 24
47853f21da6b1db4cb4ea5ec31f11b3a8522b1d3d2216def678459238384530b
22064 WLDUSDT Sep 22
1c5d933feb700da424eaee32e56465f8b075bc992d4e5b372653a6069d6d7b2e
22065 LUNAUSDT Sep 22
a225a315ff4e5946e167726cf22017804fca8a1e3bcaf8b50777f9c27111f704
22066 XRPUSDT Sep 22
2e40f1611259affcdb98d1119802144ab95f5e87f0c6df3b64c18dd590f3b717
22067 FTTUSDT Sep 22
5f11de54e4d6a85a3e69ae93c7f1811d766ee39e855c155b55db3ad6f2f40422
22068 ESPUSDT Sep 22
8313988751a6b1e509f26f435a9290284b36293c30703e1ffb55b7baba1155db
22069 BTCUSDT Sep 22
757c3e1f6ae288ae62980b24e7e631aad4c98ae30cb431c7fad105538a0f9862
22070 CAKEUSDT Sep 21
eaaaf4b4b0c1a5930a9dc589a72d7b368bace73e03ec1862de56ae2d01ba1713
22071 LINKUSDT Sep 21
1d7518e3588f85345761152bd9e21e1e9158639964436b431ad44daae60fb896
22072 COTIUSDT Sep 21
4a757073e57ab79d5c03bf0a5089b2f706a4b3d1a4e0b358564fce6f07fde2fc
22073 IOTAUSDT Sep 21
9b30c5c664ffd30db66309a4f8571d5b12156385f6ed01cce9177fa9fc6d1f37
22074 SKLUSDT Sep 21
d3b9018906bdbfc11c4516a4813cd2e3765800e56f973ace5d8a54b9120e7ddd
22075 XVGUSDT Sep 21
d8b21e16c1e997b84231e7a94aad7eb25c1693708eaa33e9faa9b3873a9dfe4e
22076 EDUUSDT Sep 21
032a2980e7b263fe323d26b2b1ab780814dfca7e27330118f361708938997157
22077 ILVUSDT Sep 21
5e6994cdd215478943128b93a36c18a2858a320e3ccb3063abc71965ac26da1f
22078 INJUSDT Sep 21
ba2d841e00a63aee4e10e1a807b49311db549ded5ac3fb3f80d9eace9454b0d2
22079 VETUSDT Sep 21
dc197bb7378b413e822c7c2036320196a7654ce3d4fe34c09a84a3e077c7c116
22080 DOGEUSDT Sep 20
5742520a1e4b34181232c593f93b3a690e6d41cd022b306ac9fa80828dc563ad
22081 WLDUSDT Sep 20
4f90043acf450a3e3a71a9b986d49260776aa2c1f36c95b358f9e073ace1dca3
22082 XRPUSDT Sep 20
8ab65560994ad5c6336b8779d0834e3fdbe9e1d07442bc9059c15754e3bf5e05
22083 CVXUSDT Sep 20
79cd777ae2f64622556287cd39e1a451b2afc723d743c65a0a9f15b258b33e74
22084 SOLUSDT Sep 20
d6d0858100f8411aab6dbddee7918b94a899638e8d15654d9fa2d739fc40b340
22085 ETHUSDT Sep 20
56704c985e236dde144b73c710a2d77c6e0acaf1337344892fc377e82651955c
22086 MYXUSDT Sep 20
5b0c821d027b7e091f0be3e204121b7a1120830f231b0757bc9d8ae5249f07bf
22087 BTCUSDT Sep 20
6cb2c5676ab009485c3aef3220690c9f2c5a2e749f1578c958f2c46195b60a15
22088 DASHUSDT Sep 20
c5c57116575935719fc1d8b3b318782ace9de9d9e96a9e19cde023d521dd9101
22089 EDENUSDT Sep 19
e8e65f576bcc4087a968c39c19260e94e3ddbda8dc2a90d054efc40ec8074c2b
22090 EDENUSDT Sep 18
fe50a2aeb73099f8c0cc663f4bc4c25cf485534f471fc9f76ecc82c4e0b9fe03
22091 ASTRUSDT Sep 17
1f8542575ad01e6b68b80a893f413dd82e942f6530a1a3a586690620e6ef1c19
22092 LUNAUSDT Sep 17
f0c72e172e1bcc90ebb477dc74ebb48bac7dbf4f33a1f0854e67d015f122d6ef
22093 AUCTIONUSDT Sep 17
5f536200c4d48d151f144962d917a4b1d92c4e7a2a504be2cec6b92d61d655c4
22094 ILVUSDT Sep 17
dc59506411c425537ee1228406cd96600cea29257b37d50fec3154cf6e815033
22095 INJUSDT Sep 17
341d675cbc3e92be15dd6d37aab9d5de38aedb2f0d06ca8685107750c5c3d58b
22096 CHRUSDT Sep 17
e2ed994b911eeb256ed634e9a190ba06f7ad4bf4ef8f8ea38b824e5a32db3ad5
22097 OPUSDT Sep 17
84d0687cd063c27710a4a77f29cd02c64878db4a2555b959940692d902c57f28
22098 ADAUSDT Sep 17
ba1064d93a424841c5253dda8da92651e8f41129d6af4080bc90787960ac69f2
22099 DOGSUSDT Sep 17
18b641eef3e760e58f42a4831e9c3d8c531d317a97d920401ec46413d216c5b9

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