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

9200 EDGEUSDT Jun 14
3d508bcd5a5de486de09fff5207fe104ded9e9965f9f043636f98d5f6b886714
9201 ALGOUSDT Jun 14
5876d464b2d39793a831350c018c0feb573d02bf4d26691989789792ea4b4ee1
9202 LAYERUSDT Jun 13
616d9235b862381e96c0dbc5fef81f69fe85e4caf607b41df7c1319fa2c31a07
9203 FIDAUSDT Jun 13
15b0205924a1c4712ec8ddce084ea7e864979240c746d5d9d6613a9a5f1c8ace
9204 HEIUSDT Jun 13
a03dd851e0bc9b2195d2b01f1b20f754e44c688070d146c624bcc13b903d4b35
9205 ORCAUSDT Jun 13
302d6e6b2709d1c76bfb6ca3b5224fd5526fe8556159e6e70e4c4785b95bf265
9206 ORCAUSDT Jun 13
7c36c0d7d120cc09129027c31d869cfdaa1363e908b69dc95e4153af2608385f
9207 ATUSDT Jun 13
8a886753d2b6de53a738324edbd5e5892e8a880e477b773b4dafa8bd44fc14bc
9208 IDUSDT Jun 13
b6315959fa0ffb1d193f3aadbdfa2af01479d90f3cb846b43a8e79b2fa3dc134
9209 HEIUSDT Jun 13
43cb8f9661a8707f26f0234e0be8417155ad408c6accea44020f40cbfc5e33f8
9210 MOVRUSDT Jun 13
5b1ffc9521c230fe4f2cc4e666b03d25e0ea544227331d9e2d3ca566d6d8c638
9211 PYTHUSDT Jun 13
9886121bbbf270bea22e93ceb86c4764cea9fbc5c996e95ae70a9a7df8f45bf4
9212 LITUSDT Jun 13
b285e43863bd3c268bf678c29103eb9b05e3102453bdcc77ccb113c29e91c890
9213 AVAXUSDT Jun 12
9389fe29c211567208436159751cb8ee646d8e697fad876260c152b5b1f308ef
9214 CRVUSDT Jun 12
1b6cd5b304315f8157836230e7053322bd389bbb3c545df2e6bf0f76664fc9d7
9215 HYPEUSDT Jun 12
d2cd0c9447c7aa67f06c4c222456a264fd8912645713bec1a5f15a2f85b6d5c9
9216 BEATUSDT Jun 12
a919d105f92ce9b8a73eee8ca2f2acdfc11bb35dbb150944bbbf6b5b71731745
9217 TRXUSDT Jun 12
ab3271305eea491f9aa9c7e3cf04765db47b932571e79eb09d2f50e3399eaf33
9218 WLFIUSDT Jun 12
47796c344778fc6266fbc30df4e6ad2974c1f9be7365474d8f9644e3cf6dcdba
9219 OPUSDT Jun 11
26b5ed76ea40ca4ee01337d697dab2f3fba270618d48ca4662a0b78726efd91c
9220 AIOUSDT Jun 11
30d057973b0a9f341fe3c03eee37bca54a99087720326a0ce3f78a95ec8225ec
9221 PLAYUSDT Jun 11
bf22e1c8d2cbd121af858dd1cffe4cf1709065a1a75808ea767f4fcbbc107030
9222 CHZUSDT Jun 11
89b95f87d8bedba79d98164525bdb66fc42be0b18cffe9a90cc98762587c3e7f
9223 ZROUSDT Jun 11
ed64887d4c5e90b24aec3dcf2373be1db3954c4282fd3c036c92cbcc37df5433
9224 FIDAUSDT Jun 11
bbe1257fdbd893c40a8aa469cb794dd0cddbd1472aa688b56f2068f0f12a600e
9225 CLOUSDT Jun 11
4cf9895c3b66284c8c724a54b4eaf7e611784225a0458b8e0bcf47c296fac483
9226 TIAUSDT Jun 11
6fe48fc985ec18108e90c2d6cc7e5efc8eb14fc37cf9d16ad9526c863089add4
9227 SUIUSDT Jun 11
cd59424171310a6b61f31247bb4b4786921001eec4d11c74ef0922d78cc5e762
9228 FOLKSUSDT Jun 11
19961f94a909340a770437ddd196175f94f7f8dfd3cc0508b8ad408fb57cbb1e
9229 XPLUSDT Jun 11
8d6991d924253e7f12bd1f5a8c6c0fb415e21512d9b53c9b89d4548336dd8908
9230 CHZUSDT Jun 11
ba7d2919e98249deffae38116b63da0bc56926905d1050cef1dfbf9c8ed840eb
9231 DEXEUSDT Jun 11
9e1727779a75d326d2d1df13825992de5cc7b43281e4c34b9d149438436a6168
9232 HOMEUSDT Jun 10
d9dbeca9d48ae95045bb4d595e4427a73a3f966836f65fa67be2406e56f0b58e
9233 HUSDT Jun 10
599c8964f5efe780a136fd40af719c615f63004eecb4931d58033c1f548f239a
9234 ONDOUSDT Jun 10
1a01d1e2cd53df6565bccc0aa11ab2585518ad7a45f71d2a25138a6d80b4f1d7
9235 GUAUSDT Jun 10
55dcc63d6c02ba9a700af2975c8867ef4986062e47307f9be8f89512c34750d7
9236 FETUSDT Jun 10
01030e6f1f9cc46f9f262b3ed581e23e7fb53ae7b9d850c0827caf0433d388b4
9237 IOUSDT Jun 10
889521f61d6fd275356e42336dec83b4dd6cd4938919d0facc04250830a2ceef
9238 RUNEUSDT Jun 10
a727602177494d44eb2fa3aabf7ca1ae751b6b861b02855b4383e4fb2c98586e
9239 USUSDT Jun 10
ab3bb8926bbd502c367c1bb6aa14b6027d20d02a2607ff52841c14d07fe0068a
9240 APTUSDT Jun 9
80f9d9ccf25323aeb182fb5302510ab86e9320b603eb91408d2666392d001e3d
9241 WIFUSDT Jun 9
acfd488ff9d7f61de22fb9bbd3bb87b6a8642cd5cc96c89cb6b1f6368235a6cb
9242 ONDOUSDT Jun 9
ec5f9e8739542b60a254be6d7d65636b4402639c7aae2c7417a2e14484f7d570
9243 LAYERUSDT Jun 9
6f3aa20f3177f785892350121ae577e5cf4d1aaacb9eee4666c9b9c853ed4800
9244 MORPHOUSDT Jun 9
c4a615f5b5d06d6d8a73628924ffdf0fec6a4486b1a22444b753f4e3a2dae7d7
9245 RAVEUSDT Jun 9
8709541f1c89bfe670fad53a046858a941343b0d3a42e394d7c89f02b0363665
9246 MONUSDT Jun 9
d49dab32d907979997257a4f11005d9706b2841144c039c323bdc8e47387b7ba
9247 HUSDT Jun 9
194078c5230b556aad7d6e7a5411cd251cd09f0f411b1fa4a4fc643d0321f5c6
9248 LAYERUSDT Jun 9
5636dabb0780fa28997d516d5af6504cfab112d45ae7ae2f7aa3b22e55ff1989
9249 LITUSDT Jun 9
94516352355ee1c2ef5c8953a0aca08ee7fad63b41a37f0794d6d2ff03fe4765
9250 SLXUSDT Jun 9
452f7ad8bcf4ecadd566f86009d8ebeed55cc086182e51d244e48d03e0407715
9251 MEUSDT Jun 9
fead7ae69d880acf5e449e02eb5f323a754af0e0aea571e0da01bb745c3fa444
9252 HBARUSDT Jun 9
2802a97681d9e54c6e6cd11dfcd5d2b6a99bdd597cbe3640b039a75c2771d5d0
9253 UNIUSDT Jun 8
4bedf5b3237184c85a53fd1ce94d23a9d5d8a19c8db5301781c431ec97babcdb
9254 MYXUSDT Jun 8
6fa380cd3944ad9c2f2289a845ac861d15c0ce1e12b8fbf4538947f3244fadaa
9255 WLDUSDT Jun 8
bb1bdf4cd85ed50edb4a214b9a85739d8f814b8ac84c374bae4b7734e8eba40c
9256 AVAXUSDT Jun 8
b59f3b85ae3652ef2dc8ff25630c1237df70ef29c39719b32b1339a4e0c38451
9257 ASTERUSDT Jun 8
997df96024d8edbccce37b12e036467af5ded9bdd20c701ad64c3846b2536442
9258 JTOUSDT Jun 8
5323cf5b1fb92174737230148b8f1c5f2e6374eadf6901fc601819784b2f1fab
9259 STGUSDT Jun 8
c62fd0329cb62c1a70fd049744cd45aa67d1b2a6080b6e73bf483937e705f034
9260 WLDUSDT Jun 8
09a7a71f8669dda16e29d9898039bb7eb9b4cefc92919aa499f5b6e2489d459a
9261 ADAUSDT Jun 8
555fb84c88b279f08bb04f751f44b784a88df933076458279c9f60f0ca647b48
9262 BANKUSDT Jun 8
5c37b89ae1528d220091a3ed0cd85ef69c921a4e76ef58b529d21b8b4b72f4cf
9263 CTSIUSDT Jun 8
426f1ae04413a0cd97716265bf3635a0fd1a4f41f55736beaf4cafc9cd92c0b0
9264 KITEUSDT Jun 8
3db6198fe813aaee0accf0d73f04e0004409683d40d4efe87c0d2778bc48b7a7
9265 DOGEUSDT Jun 8
c24deded882201fa99b81fdfd21cb6bc1bd91bd252b933e2d72912b16a01980a
9266 BABYUSDT Jun 7
ae6a2b7719925a52ec7f22d2f1e0fab34cd21ebc9d4cc31ea5290d0c062b5ab9
9267 FETUSDT Jun 7
fe88e0ed25df4a36cedd1868a3d6087c936386bee8e6af8d482340f9686fe957
9268 ALGOUSDT Jun 7
3d4e621db67e90b8ab352ccda8f995e0dcfcc7307f47e75182aa4f9c44b50d88
9269 OPUSDT Jun 7
4c5931bb15e7894473e3d72e8824b8b6ec19d545b4fca22c1777c910f100d1f4
9270 ZESTUSDT Jun 7
6a772996b19425d41135842e15f1c27cad7c9eb23cc0bff0fdbdf833d28e11ab
9271 VIRTUALUSDT Jun 7
4307500bfad9cf1c15d839358843f5b5f9e9f4f2102f4a1c5312709b4dcc6c42
9272 ETCUSDT Jun 7
c2884f07079851c33c37b136f3e03caf5f6cc1454e83903ed9a594ba8fa6371d
9273 HYPEUSDT Jun 7
ecb1ff7c29a0feca79be055103873ab801a76d695418b3ef134fa32690005ce0
9274 OPGUSDT Jun 7
aef1da143c3ebf6729481bc1acbea0b293d5ce11afd15ed7ab8c36048c28016f
9275 ICPUSDT Jun 7
9407b256e676053ad776a9489299a93d9a85aea2b6785a57608dd721c878ceb1
9276 PARTIUSDT Jun 7
4f699f6decc985955d87c520680edf5985b3c9e6bfde1bf0d9478c9288c62f5c
9277 CRVUSDT Jun 7
a17b1261bfa61c281b9cf96e093362070a62f980837cac40770b139da78651a1
9278 BILLUSDT Jun 7
dbcba083010382022725365a605f399f3224682d39b5bd60029ecefbae1f284f
9279 HOLOUSDT Jun 7
1daa5c56306558321057a7b56c4afa207ba40bbbeab9f875b88e5a0f7469f421
9280 ASRUSDT Jun 7
3d655e1af59c1f4f2639e6fc64c03717c7e30cb8e864814aaaaa073c0abefb44
9281 BLUAIUSDT Jun 6
0d02c21626e6017ac2cf8ca9a8965254ba92f3884eec54e667ef3812e34f2cad
9282 HEIUSDT Jun 6
a87bcdb55e6dfafc4c2b840547492d2d9c1e58efbc81443beb7e4f11bac43912
9283 TAUSDT Jun 6
f391a635149d1a196c7e0c629ca92c6a13a6216e9679f2ba6cc5a2d404dbbc35
9284 POLUSDT Jun 6
5fbb7c831a470a66756f40acbde5f6d19cc6825cae109c942568ca26dd4a6d47
9285 LDOUSDT Jun 6
30624f74aac47563e66b9e9d68efcc0624da0faeca931d99495ca69f2c83eb55
9286 GENIUSUSDT Jun 6
f2b6c4df25f3184d60080588d0ed7e009ecc4b1dcb4b8c8e65c244dfd1b83ce9
9287 HIGHUSDT Jun 6
c5e3d6481e7b46768ec1add64ec39e9baf2aa38ab6f7f19926276aa7f15072a5
9288 MAGMAUSDT Jun 6
df2f02f7383db690d294034ce2a885be3b68904c6d13bd139a02970b1a242796
9289 NEARUSDT Jun 6
8036d86b03abfc113b89b3a677164b543f9a17dbe2ca3afcfacccbf40eb2e650
9290 BABYUSDT Jun 6
3ca2822ec31e565c2518004f374e4e857d10f39713b7f5a97c379ea43956b440
9291 TRXUSDT Jun 6
eeba9c88238a10f6dbeaae58f4fc311a4941ff2503f2ef0a617d5ecd2e18c9ec
9292 WIFUSDT Jun 6
94c209af0b91a4384e14dd87fdb209db1a3e90888e8c3cfc83f5d38182b5036a
9293 TAUSDT Jun 6
c427e605900a61ec5c397fb13b3bfb1b51b07deb01e1230323909e342c418c43
9294 STXUSDT Jun 6
650ea450db3cd1bb30ec049961a606c3b6fa4bfd5e0e375c1db702488bd304b5
9295 PENDLEUSDT Jun 6
a5ffe0f80ae9c6551e932848534e2670970aa06d866ddc62afbbdd0d615a0f20
9296 BSBUSDT Jun 6
6da78d89ac5a803deaf62bd50ed0a05c99119d045fe1a80200ce2646ccb2ad97
9297 WIFUSDT Jun 5
143e319568bf11eda4bdf22cf8bab87ee7e651968fa0ef32a7de5a6187a5c46c
9298 RENDERUSDT Jun 5
52bb4528143072a2822574e8436e98d2fd31a4cd1a9bdf1cfd909d38297e465e
9299 RIVERUSDT Jun 5
dc245c3c058e08cdc8dfae6ee1e97cd4ee4d8393b5abc8afdf0c87cd9b76c2d7

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