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 14, 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 107 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.

10600 BELUSDT Oct 2
caf5bdb5c87135d8e8f286d82ce691ce8d253ba5cab119dff76107caeda205a4
10601 RSRUSDT Oct 2
00b572803ae1786f4ba178a8600c316f326fec372dd3d02b86379ad90e9fb0f5
10602 FILUSDT Oct 2
d31dc4fd7800f4c0763c30aa3212f2d27b0da5a10520f9cef907ae6b527c2f42
10603 UNIUSDT Oct 2
92b72d916ea4e3430c0b55dd5ec9b5b639210471c09317927604f5c52b1df0a2
10604 SUSHIUSDT Oct 2
ff30ff110b56dada447a8885b1d8bea525fdd4ec4b8ae3da5145eadafbb64d0f
10605 TRBUSDT Oct 2
7a1dfd020bb21e88cf82e91ba70ad7817b4df99f8048807692ba11e595589f23
10606 YFIUSDT Oct 2
1dec4e060d9cb50482046debda7155714425562d97103c4496c7c5786033a9a8
10607 SNXUSDT Oct 2
09a47efb207d53204c22519f32f453c5b1070a2e8b6e3009e7da1e86cbbaae9f
10608 ZRXUSDT Oct 2
184dd504b623c3cdc146da29abeada4d04523d15914412c572d16c32dc3beb9d
10609 KNCUSDT Oct 2
f85661253ea430f13a1ea5b49e1cbd17f86e2730ac88c81ff312d85c2669cafe
10610 ZILUSDT Oct 2
ece3c720deb72c05b0fbf2b2dd6127c6527d601a5be8208f8cd877df8237fb0a
10611 IOSTUSDT Oct 2
d81d394b6514c6e0dcc63261a0481a8562de9392b701f971b0abcbc2fbaa6a77
10612 QTUMUSDT Oct 2
990f9b432e112bb13b2a32f9f1031e23f0c5a53534ddd80cd2c4fc01610601f5
10613 NEOUSDT Oct 2
6cf8d2afecba2407a1c2bcac269bc153b06e5aa73502f78b2fd2c4c93e9543e5
10614 VETUSDT Oct 2
c8ff711648dd58a8d125ad8f4bc849d96bbe155883ce470430100c9de63d3ac9
10615 IOTAUSDT Oct 2
0c2f047b4aa64f7d35490bc304497f198130188a41575225c4e27f4c8b686538
10616 ONTUSDT Oct 2
79e159e0b0dee9e3c7bb118e40fe15af957a4966aa36d87b2ab51907843b5ca6
10617 DASHUSDT Oct 2
14de92b17c002d2c8a241ab96ab5f74e816f1c962e8c4de7dbba7e3f796e01d1
10618 ADAUSDT Oct 2
b02f16c320089b6ffb5c0a14179b662d8ec293e41b3c977d16876f56e8b596fa
10619 XLMUSDT Oct 2
9f1adbe8755297403151d46be842b35d7065e6ab6a88e4c03124c1c31d96fe94
10620 ETCUSDT Oct 2
ada0a8d2499eb5c9c76778bc27deb0100a54b932b5cf3717f76a4dbdc21a6b05
10621 XPINUSDT Oct 2
180bcd4400eca67f758569ede90c2619effebd6e9bb8c4bae9143fa8b5300e40
10622 PARTIUSDT Oct 2
00c74419e0a80741b46effb30b39225a881c21fdff0ed17c330feca3ce2237b1
10623 AIXBTUSDT Oct 2
e753712a7e5c5a6a9037b89494f08d02737478fc026e316fd521b88faaac55f4
10624 AKTUSDT Oct 2
3dc64c7f232f87c8e190f9205e696c5025d9dd142b5a7f1144bef49dbf108a8b
10625 TURBOUSDT Oct 2
0f29455406b9ccabaf35503dcd1eaac09b43e6b2c49e6474a9151c86ca230c10
10626 MEMEUSDT Oct 2
ebd684108051888b2f6d4f232784bcc3783596dff0dea5c7dd54caf627135d46
10627 ARBUSDT Oct 2
c99b456a807da309cf78cb89f4d8a1add6b613ad46825e4f9b1c095a13c162c5
10628 IDUSDT Oct 2
ea852a56e5e2ceba6cbeb70dc8a28cf4bea87222df09f263a60dd884146cb201
10629 1000XECUSDT Oct 2
c075614ad8ccd01efa87d1245e738879314505d1e702b0553408337853876954
10630 CRVUSDT Oct 2
77a557014cecce292aaf46b006a7f32f9677f524327c1cf62d0ca92b7f14b3ee
10631 OPENUSDT Oct 2
bfa66bb29b5c59f2c0e712e78d7cef79df0fc202baa13ca69d4542a37e47ec20
10632 ENSUSDT Oct 2
bd6ca63150e73f096a0dd0df0d07fe931d2675ef933de8098a6f9921606e09ff
10633 MARSCOINUSDT Oct 2
068eadf848ca191228ecd64fd5aa60caa9cb13be50e716367acf412a8fa22600
10634 CFGUSDT Oct 2
79dd3bc1ac37e07afaf479bf3da6648610b8a6522ffe396dae62c8b433965a74
10635 ROBOUSDT Oct 2
95bcd5a544947fb9858bc994bb6c040f7be3a6e011291c2891968f9e588b2bec
10636 FOGOUSDT Oct 2
13da6937a55e164ae2c418f4a8177bff1bbdd6b44607bbe1d3e171f2ce891f99
10637 AUSDT Oct 2
5fb400676d74699231ab19a61bdc13cd231a02199e0ce322747f54fa0743fc9a
10638 DEEPUSDT Oct 2
7231971cbfca4b0001f8dbf001e95f9fcd91cacdbf0ad10c836c4e505fd70a9c
10639 VIRTUALUSDT Oct 2
50d249ab9bc9c894b3601131ddb8096d06949d029607655be9d0816e71e9dc21
10640 KAIAUSDT Oct 2
ffb6a97e1df873f5c2ca6d005bed15159d9017ed9d035c42c7fe2cfad5f72cc1
10641 PNUTUSDT Oct 2
4c41163bbb9c4c1ee01a8092b43e10f00a2ecce0c440d54619500c72cf6a3635
10642 MOODENGUSDT Oct 2
f910c26748aa5761d5ff4a9d46f9953e23dd8e29c29ae0bf02b8ea71487c5621
10643 FIDAUSDT Oct 2
2aa772c7cca13b0a77543759c1fa58cc285b645ff5aa3ef9f1b4b72b3039657f
10644 BBUSDT Oct 2
f15f8ad57dd2347c64407d0beb0e99228dde0e4c592fd336c6a9988fe404ae9e
10645 STRKUSDT Oct 2
05b52989e540a0de9f918585fc783ec394e8799a30874855f2c098a63ab362e7
10646 RONINUSDT Oct 2
a3b4e25f0daa9f1e03718625105567167c292dbc9827eeb79777786880f2ed6f
10647 ORDIUSDT Oct 2
cbe56ef929880ba7bd0a75280ec026c3bebff15594040780abd42a51d005e322
10648 XVGUSDT Oct 2
8db0cd3915917a90dc40a900a0c8c9e7570095792736a5e6db73178288e64a1c
10649 1000FLOKIUSDT Oct 2
7333eb0e23cead34d6186ecfa808038fee9734d03cdce3db2e7e7c4d80d618e1
10650 CKBUSDT Oct 2
8fff2f55ea3f764805628a24c52156bc299de6bb95286674ba59839fd4834ef8
10651 APTUSDT Oct 2
449c15b1cb70ab1305c8eca2a95f85cfd6bc1b35b7080e657345c95aa16c4029
10652 ROSEUSDT Oct 2
674f3b76ac56dd0464cf6a3200b6104f49da919dae469231fde8f0be9c0a7da9
10653 EGLDUSDT Oct 2
2c5ac48a58f57584f76e8d91600f0e2a3a0a534a3af8c5d9c9eef6374e8d5c93
10654 LINKUSDT Oct 2
7fe7f9d977db4206b4815cb06fe83b98efc681ce77dad86248cb4c38dfae3be4
10655 FRAXUSDT Oct 2
bd6dbf483527cac866e14face8a453904135b798e97e04ffe893d7ef1188dd2b
10656 BEATUSDT Oct 2
3a167ebc47002ecffb6fe0b5a80114f6cf25d550a89dcb6bbe15e172a0a20e6e
10657 METUSDT Oct 2
e093fba8d4e45ebf90de57598751fd0a8d85a3ac16b8cd79df14a23f00d9cf6b
10658 GIGGLEUSDT Oct 2
ad0a8aa44320e73f19fae2193df3413098cce9901150a4b2e4b373ab4812c56a
10659 4USDT Oct 2
c747f1d56322f25124c66f0ed7f1c6afd241a4fd9ee72bda8468e7108c61b95e
10660 HANAUSDT Oct 2
02056ff45b1633f5f4accadc58bd7b60d99875cbad098013cedecbad510ebf55
10661 USELESSUSDT Oct 2
5f091ea8237095b1fd617bb155a1452218671e97b720d9f6a78d9a009fbd2bf9
10662 PUMPUSDT Oct 2
95e03402b8e022cab543f3aa78f669453d0b897144334c0b8c852664a03a6f63
10663 FORMUSDT Oct 2
2631edff2f79e2d3f9fe65d095984289911bbb8eba99fec54b5c21b220a72fa8
10664 KAITOUSDT Oct 2
2e1383ef8b18b855ae76beba9804055d4981eba1ae81224a3fe6a9e5a4a23b38
10665 BIOUSDT Oct 2
c1c903b9a435cfc7f7d5414c70fdeb4c80f8d57014203bc910cf4c3fcd9ff6b7
10666 FARTCOINUSDT Oct 2
80c139ea36b31843a9cb1f718cb4e8b9b9d948dbb131c24be0c6bf5cd26d6856
10667 SPXUSDT Oct 2
55af1df648d9f288b2fb43a62ef009ce62a8f0cfd41c21bfeba13349dc691ad6
10668 NEIROUSDT Oct 2
ad8e4065c7b14de5187e15d3823fba27cf65977ef79c3c639766ab8b04d96a3a
10669 BRETTUSDT Oct 2
d8e97b246490e672db2166a968294454cbf1488a5cf7a1131bcb1629903c1bee
10670 RAREUSDT Oct 2
c51286ef01d4054fb4b8e85b497409e4b21d21d1003cb341da6a050d66601e96
10671 RENDERUSDT Oct 2
0356490c7ae2dd8080561ea5725782371489cac3a3f290ba3f46dc8886a2f2c2
10672 TAOUSDT Oct 2
df56f51e3b451e5997b3203fb0ff3d19ae851f96cc8cf82bd131f0eaa901469d
10673 TNSRUSDT Oct 2
9f3810a0be84d9fbc0e6741c5ae3e683aee317976426489794154c009fefd121
10674 JUPUSDT Oct 2
a84ba28a6cd403bb7ae930c1ecd3a3fcf0f6850ec0e957d08831ab135f3bdb41
10675 ALTUSDT Oct 2
f7b93c5888e1d8d61acc699d341b0d6cdadf4b4da723010185e1dd1e56187bbd
10676 ONDOUSDT Oct 2
8366405404b0608256f6e8384d4dbc7b441726133c90b992ab86a43bd1b18ca4
10677 WIFUSDT Oct 2
5e5b4d24259a8388c15082506ecb704e9e2e0c20bf2b4ea7445c5e0491a116ee
10678 1000SATSUSDT Oct 2
09a0cfeb03848d1cac11ee3a07c893d84471bd7ff2f9358e6142530dc9d22940
10679 EDUUSDT Oct 2
9a5bca60ed826295d8dd6438a73a5f81758ec5587389f4e950853cd7891676b7
10680 OPUSDT Oct 2
fb119e038ce471b20a3db7ccc461eb64708fe8e9d37f2e5e6827fd0c8dc75157
10681 IMXUSDT Oct 2
6300b001c020a2ce8b89f6662866e0373aff1810f7598ad51eb1f401610660c7
10682 PEOPLEUSDT Oct 2
82b8c208c05148c501067de1b06df940262424c25816fb98ef0b49d877905694
10683 LPTUSDT Oct 2
71c72545fd05794ab8be15e10443c3090c7b35178480317a8596331aff8d1a86
10684 DYDXUSDT Oct 2
bb7eefa2a091288311a7fa60234b5d50132edff0a4a51823bea2fefae259712e
10685 HOTUSDT Oct 2
08857dbe73d9e252db01c5a6d999b775db5f0322dd26e93ca81f7417761df99d
10686 ZENUSDT Oct 2
15830df4a34ee2983d712bbc62e95423a30d94a209933e775b57b014239797f0
10687 FILUSDT Oct 2
3b86cebce976fe3867c611d4083e8bb6be47f59e3e0f089ba6a2f66ecf97e0ab
10688 AVAXUSDT Oct 2
09fc19c71afbc1eabba4a158b39b2a6b2c9017bc0c5ebc51347f455b44294c4d
10689 RUNEUSDT Oct 2
414d60a4736f2539dc12565027effe62101ffa5ad294b9d13d6ca40b78cda29f
10690 DOTUSDT Oct 2
535a0ddb9d4ca458dacefea0e89f572ce13576f61e62b19f2591e512163ab1ea
10691 THETAUSDT Oct 2
8bf0e92951e5818697a2a4be5dd9b56b1e0847cbb0434afb3603cd69d90e96c6
10692 ATOMUSDT Oct 2
43700d9c8fc26f7af0486019446ed11681a79ec6b70fedabcf7a3c51a0c0016b
10693 XTZUSDT Oct 2
83e8cdb15c91dfb10235b5b9003a8f15e62da8742a5e2842ec451524c729261a
10694 ZECUSDT Oct 2
aa7481b6653c519684faf55f903c80efa257e8895e0a8c46cdd021dd84f8bd8a
10695 DASHUSDT Oct 2
5b4011ee98bcd0ba86deacd3d774ee4e1a7da49fb352cc8afef239fb54bd60ec
10696 FOGOUSDT Oct 2
c033825a4c8eda38346741a3f2fd1fc1ce8c7cc68188f19fd6b128676427247a
10697 FLUIDUSDT Oct 2
6d7c8b33b3d3cbe125d85634cd94bbbada3f2bef25842fd069eac1caf1f4006a
10698 BLESSUSDT Oct 2
4fd7b6a1814ce327e67f64aa2b27bc39ddd42113d2c7d3233e596a5f041140f6
10699 LINEAUSDT Oct 2
3f80792e121149eaca15af561872a8ea781e02d69b4445e4365ed2f92d86599f

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