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 12, 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 65 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.

6400 SOLUSDT Aug 10
c70ed2864cf9bb3193dbd3d8f729908c9554e708dd3f27ff8c213bd90af83921
6401 SOLUSDT Aug 9
4f88efc352243bbb276533ffa435fe6f49355e7925f55aad11a983862a054d0e
6402 BRETTUSDT Aug 9
5744abd3d152ec16eaa866cfab26e41ad06e89cf9655f2647dc18dc7305d68ea
6403 SOLUSDT Aug 8
a1016d27906746737bfaac39ecfa9ac449d7f13c9a07fd726c42a3004e6f17ca
6404 ENAUSDT Aug 8
ecd32c3b59a97915c87b1458845aa6db8b6f3639368eb2bc96c1bfb598ea3408
6405 SUIUSDT Aug 7
ba9419ba214db1b15922e5e38cf76e48095003283c6ee6297d94a65d3a5325ef
6406 SUIUSDT Aug 7
f7a8b59d580164d311f35df5f78e8ecf56169ad5bc75c0ac8a7585fe03116c60
6407 BRETTUSDT Aug 7
7af9701e4068bd68047008688e4a3bec3f536e4d0ed34de80e25616018f09d0f
6408 KASUSDT Aug 6
0fe3f2985db61f48eac4adfe8cf7f46ec9d042d5349098e4c4d018b122bb6942
6409 SUIUSDT Aug 6
9c65d3c3aef0ef8b07d23201ca1d8d3e8b0e3a887500557d57ff01dd28a0586d
6410 ETHUSDT Aug 6
22c70df5957d2961d3b9fb747c3c8521704472485c8da68ab08c7ac3418985c2
6411 SUIUSDT Aug 6
d8e87c1ed02ab0d8464473bb22eb24cc30272b58ac0bfb697370b51785c0469c
6412 SUIUSDT Aug 6
d711f8cee20ea727c5d2c18cf3a3877d926a86580f5dad3773fa7aa6c1a605c4
6413 KASUSDT Aug 5
7b41ac593ee6b07d2485119ef77e54255a6c25769b2be73f2988860154903934
6414 KASUSDT Aug 4
b4a4d438ef88e800c21c85ca848754134c1d0f5d794fa13917230a99cc5c3239
6415 BRETTUSDT Aug 4
b6daed95e3f24712494f6f603cd4cd54ea0ef7f1edf6f5a9ddbd3ac604044dc1
6416 ETHUSDT Aug 4
866400d7d075a1edf09692e116144b710fa4cb23d75f5eca53f7211ae936f9d5
6417 ETHUSDT Aug 4
0b731357ea4acd73190db9f65575994bf1e68342eda975533523a767ffdcb6ef
6418 ZEREBROUSDT Aug 3
8e468e5f5cbf4ac1a11aee51934816474bcf85fd46e90d4f54060e7f9941e061
6419 LTCUSDT Aug 3
32869d96e4e370ffe0cdbbe7ff45614465560b4b62b9cbf994ea77c405488dae
6420 KASUSDT Aug 3
7f83b4d93779297d22362058f0b14fce008a9221846272df9615ca02d5b43549
6421 ETHUSDT Aug 3
7a72ae397da0a3b3026a81591d15a09be28a0488367737d318b9263ff5543be0
6422 BRETTUSDT Aug 3
ce67b6c6e502ca37c31564fe946d5a2c7814d0c387047002bf124dd903a0a63c
6423 BRETTUSDT Aug 3
695445def1dcb02a31477bd36f9345115915a35e90a1b17d0c9f6ad5acadc0c8
6424 OMUSDT Aug 3
829d49db75055ffd1d74a6ec4f49774c82e49c7e65a17889c15824e0fce74313
6425 BRETTUSDT Aug 2
8bc3d5b98d11bafbe0f93ea2e9764485b896ae19dc0cc69cbdef1079ac340abf
6426 DOGEUSDT Aug 2
306f278cf7f1bd8f65262caa43a3924180bec478e637eb2d12804eed44ec81b9
6427 ENAUSDT Aug 2
ae706f501d2515662ad6b9d4ae05e2254778eccaef3cf7ef77929510c542d4f0
6428 ENAUSDT Aug 1
c00c8b5055bb2e75bf76e79f8dc2d9618678c6b228aa3d9576b326f69498fce3
6429 ACEUSDT Aug 1
c0573dc3c834c8ecb9746d947cda33c4dcff4215cf031b07548ec402b8f9205a
6430 BBUSDT Aug 1
e8e7c95c107d4db3e2b7c2d11afaacb564de8495609b6a9b2d98edf64a4960c3
6431 DOGEUSDT Aug 1
2bb57f3e40abe977e99701cb8de6a0f35027124b2a269df0dd66de78ab883a1d
6432 PENGUUSDT Aug 1
0030e0ab68b4939be1a4340370c746525217095392927ffc249c9f8926f75c4d
6433 ENAUSDT Aug 1
00e00dd68dd6b92c69d5d2af21af3b832a93def61be7475502a95b83ad61e7de
6434 PENGUUSDT Aug 1
8cf3461048b08ad21cfe339612e318d440ca60f64a9d116ccf958f85a46fb357
6435 PENGUUSDT Aug 1
0cae5b21dbef67600a08605b89998b569152a925173c7275a04399e961c97b50
6436 SOLUSDT Aug 1
02090360b0a476c589ab0d41af35a3b0d042645626f3d27566fc4b01ea0cb891
6437 AVAXUSDT Jul 31
11b879bcf202d4aa879c3d31d78bb9b4ba66b444641532aedc8731e714fda8db
6438 KASUSDT Jul 31
74dd3ac8903db4b8b7ccf61ed2bcf0c5370350e0adb17b46a4ceee1f5336a28c
6439 BRETTUSDT Jul 31
cc8b475acfed9e1a836dd196447b408977c3d5e69a3b83d70ac7bc0e440eef42
6440 DRIFTUSDT Jul 30
17f4ed618a1d6be59c524c0f165811d48ca4ff6ae7bcd118091d386759f70cc1
6441 BRETTUSDT Jul 30
407b1a4720ec655720f2b4fd6396e40a5161fa3e8114bf609b6bca885751c85d
6442 WIFUSDT Jul 29
5906e8cd329bd4dcad6851c7778e0663f406ca4152f6f5fad95a79d5b3b8fea7
6443 BRETTUSDT Jul 29
5660aff153788d45a699cd765716d7960690ce49c86123ebb9717e01435f81a9
6444 ETHUSDT Jul 29
3393314ce42fd3b1ff042c2827ac17545d1140d2d8239437cb3d76ac76194c62
6445 EPICUSDT Jul 28
52b4f8c0340737b473ca99077018f7e5e6e467503d1782535d74e7092a6c7b70
6446 GRASSUSDT Jul 27
8002185666fcb038000f6b1eec8fe62f6577d7f6bf8e177e07679466c340a708
6447 SOLUSDT Jul 27
1a8555c4795964bdf3d1738d7bd451ec228aaa09026f7da512667cb8514e3bda
6448 FARTCOINUSDT Jul 27
c97efb90368dcc5db30e4b65d09e650a4536b1a98aec0ecbcc7e10b6f7aac468
6449 TAOUSDT Jul 27
817a30d001c192f2aab1a0f5cb8962e7bc93c92951a95dd54d35a3f4d0456b11
6450 USUALUSDT Jul 27
967c4e655c9bbea393f3e6b2166a23eb0da8c7315cd656ef05e88dd80d70274e
6451 ETHUSDT Jul 27
b39e7f49cd7fc1851c39693e831a3a9a050dc60905d159990aa925b7332b9f85
6452 PENGUUSDT Jul 27
b219aa0ca2ebc2b98b9f2a447e716f519206188703ebe223ffc8c66711535839
6453 REZUSDT Jul 26
8fd5f0b4cf69007585aa97095c91cd55c5102a2622d493e213ebc0a599503476
6454 LUNA2USDT Jul 26
95d3b6b1c1c0336eb6a8c47212e9d8766615005ecdad204b3ab55e2b5ecde2ae
6455 TAOUSDT Jul 26
272c726872ab1e71fcb9c7f072e04d2aaf7d3ed38ad87bd1f1fb2ef5462a93c3
6456 SOLUSDT Jul 26
ca2d7022ec1ce3691b14424ef3d8c7c6277af03030fb007898fc8f4ff30e1fc3
6457 ETHUSDT Jul 26
672e31a9c037b3ba1cbdb3a40ed8102ad81a8bb2eff0bdb744c64fd8ab572a6b
6458 SOLUSDT Jul 26
454fd5ccf17d1df9e620caff40057bbd0360d0ae4379517bda60f2a22cf92ff5
6459 ETHUSDT Jul 26
dc8b5b4e987f6b5db3806f092716149026dbad258e6dea8b21d66fa215fd69e0
6460 CRVUSDT Jul 25
d8ef24feed50409be5e735b33487a4596b5712e9a254cd434b708c1cadcb6e0f
6461 ETHUSDT Jul 24
fd6ad742c60ffa51f98d43e597a328f8a3344812e4b4161c6dbf21b79d6fbcfb
6462 ETHUSDT Jul 24
49efc43c84139fb3a33dcb1af128de80152357cc0ef4b420f133de3bc33f2055
6463 SOLUSDT Jul 24
5ed277f82c5fa9b55b6193b17c2f44339546f9037e0f9760fa86e0d0b20f3584
6464 SUIUSDT Jul 24
aa0e14ef11054e672eb1256972686681876fd1a580882fe8c013d370ab5d86ac
6465 ALCHUSDT Jul 23
070e4c4c4fef74c35ddb84afb67225e0de5ec87b1680945d7001e264cbb2362b
6466 FARTCOINUSDT Jul 23
4271d9e6b7eb611975f05d6df9dce915ce517402ed7a4e21f4ee5cf47e80fd6b
6467 BRETTUSDT Jul 23
3df2fd84a9bed00747d460dfba47f4dba4f8211d8a7fc0bf5950d34e9d0583af
6468 BRETTUSDT Jul 22
8eed50a85735a2dbe58bbf8dcdb98f0ec0e821aeef38e50e05a237f18ea3d508
6469 GOATUSDT Jul 22
394098fd8f80944aad9d891a7aa30246959e7af67049099b59c40a07ad578362
6470 FARTCOINUSDT Jul 22
2fb4cf542c00b9781ff0138cefded3a0f1ec1c659197ae0a59b9722b861422b7
6471 FARTCOINUSDT Jul 22
9088fb93a816fdf28e305df7ba0c0e33f5906df81c0be668822def654c89bb8c
6472 PEOPLEUSDT Jul 22
06021c059fecf5f05bccfec91e02504f78a2147775b240fbb6322a7848d814c7
6473 ETHUSDT Jul 22
c9c5f02830c6a094c69ceccd081d6ea130176c5241379dadb94a9d9d2a6fb389
6474 BRETTUSDT Jul 22
32c7e811c130b9de0fad5fc01838be5e26946ba076631a0398b44bc94a0e1e07
6475 PEOPLEUSDT Jul 22
9424294174ddcb5dbd2365a70011e375f47ef6c6dc40a4087c96477680a3487f
6476 BRETTUSDT Jul 22
8056f1a7097267a461b831c6b2b193f315e4ec2a4d4946be6b00e160ba019e6b
6477 FARTCOINUSDT Jul 22
b7ec167a68d1db202b791116a85076c372aae0246064a03eb2bb9157d400a997
6478 DENTUSDT Jul 21
0937c74f75966a172832e32393de457ed530fc15a8d54f76a807a01efef3230b
6479 DYMUSDT Jul 21
1731eb6e6b873481f2fdb8f705d7b1a644ca427baa3cb76dced10071901a3804
6480 PENGUUSDT Jul 21
f1b2a56396f65fb5863e69f80d47be28f304c34c285289b1206b5a6c33693ea4
6481 SOLUSDT Jul 21
6d549eb2b6ab03885cef53a563238ff2ef6894ddb0368152745c95de490e9bb6
6482 FARTCOINUSDT Jul 21
d605b9b067c8916b0dd0ec613c6c324793842f4f4ac6d25cff508629f41a616d
6483 PEOPLEUSDT Jul 21
ba32669340de43e10cb47ec30bb54788bc215b3e3dade7bc309cfc3da910e4c6
6484 LAUNCHCOINUSDT Jul 21
54894e5f2caff59f1c2e0f38d799355a7baef2a9dd8cdccb094067622e85b1d3
6485 PENGUUSDT Jul 21
61c6ed6827daa891c5139e874a711b6901a9b95ab1d4bf8bbaafcd8015514470
6486 FARTCOINUSDT Jul 21
be757dc1d78d23da2f4b2a0240eaabc2b62a21ffa7a9299697bae00bc2396308
6487 BIGTIMEUSDT Jul 20
b853f02d73d8f9ff517ab8e5d6623170efd4e09ccefeb2ad17408642dc0bf850
6488 DYMUSDT Jul 20
124702a9ab6aa58035b7f080f6fce46b79087b6019987da699c9560dcf18b741
6489 PEOPLEUSDT Jul 20
7254732afb56e57f9a869da2dcb7e82225bd572690177f8f404ed4c5acfdd216
6490 BRETTUSDT Jul 20
a62722679401bcb9d393a62cba098124d188b5d91bc0b94074b4286905349ffe
6491 PEOPLEUSDT Jul 20
4aa54863fad66a5f0a4d2e5af147b4973a2f5af6aa7e6da15c889b922cdb9519
6492 ETHUSDT Jul 20
81a8a6da2f4225ce1cf9f384a6823f346b641c8a06d0815e73aa23a306b83fca
6493 SWARMSUSDT Jul 18
c68eb92238d0f048c5bd778f275ef4affef1891da3de79839a64c803e35ed07a
6494 SWARMSUSDT Jul 18
a151813d3e5b3d4493f2a7006fb1d314491abaddd1e75772384332d6bd484037
6495 BRETTUSDT Jul 18
612656d20c2815e5d8e8d524c727de95349b55648fefb10917d3b40d69d61b1e
6496 SOLUSDT Jul 18
7b1e4c1c267513726aedb46f846afcd227ad71ccc264f928064427465094b4ce
6497 PEOPLEUSDT Jul 18
760ffda785679f54d61710318eed2e7b5c18f8c29d6418c6cbd4ffb21521f282
6498 PEOPLEUSDT Jul 18
be14e07c8aad93cb9ac2a3a23dad29b6d34bf203d69cb4449e8dcd2d05c92875
6499 PUMPUSDT Jul 18
fc7313bece086dacec2ffaeda0d3f0c846c9e7ccfbe26d7fc07d3e14f8ed2490

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