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

20000 BTCUSDT Oct 9
28b19a18ca3b555d4c78edcddfa8c9ad8410689e2d39de2e57ef449514951532
20001 BTCUSDT Sep 29
a7d4964c482e5e115f73f5b6778ab6d086c74957476763da89fba368e1ceeede
20002 BTCUSDT Sep 28
f1c7bc490ff646bbfc8e66362f63dc3cabc8675219515cf018bdd373b7a1ff3a
20003 BTCUSDT Sep 24
be5594b7a801fe54580124f034e3c56657ffff49072e8510a4f8a8dd8d86bcf6
20004 BTCUSDT Sep 24
7e44a704fb372f5b50c8c0ef0b91345c97edf0c5828829ac9173a26e1ea66a4c
20005 BTCUSDT Sep 23
dc8b49880f9baa77fa3ae8af3978023fd9dc7e974a968ba55b2b1a5178c89f65
20006 MYXUSDT Sep 20
1c4a0533ced538e187c6564783d7bf89dcda61e684081492a1bc3a9c9eaa43b5
20007 MYXUSDT Sep 20
7f71578c23daa706aa7359f81455f60d5fefbdf55232c255767c5a53dffa8548
20008 ETHUSDT Sep 18
d2a69532eff49cd6e3051df4c2522dc256f53af8e6b4b057e3bac9fcc3d9d392
20009 ETHUSDT Sep 16
60d33552cf4df6f58e3a494568446332baf14881439bbee469a8a2c660111d87
20010 MYXUSDT Sep 15
ff7ed3ffcbd769ef01edbc05b8b79dd41e23693ee964325f21a07eeaafcd8dd2
20011 BTCUSDT Sep 13
742420cb99742cef320ba71182e5d3e470a105cc075b6b90a0b4b8600289ca2b
20012 MYXUSDT Sep 12
daf35203062a7404a88435185fd3231ddc48f265a1c09b80368469430f693c9d
20013 BTCUSDT Sep 12
1e67a4a8a2fcb0e4f5d5a908bfdc0701144a90def664ba2fb807603986212581
20014 ETHUSDT Sep 11
016e6e0b2380ada74970f03bc09826640e3b707abcae3fd3ea4d5352a83b0ef1
20015 SIGNUSDT Sep 10
4a5e58d0fecc12a178bbbe29e24010ee520d9738ab77982e7ba43fbcea2cd030
20016 INJUSDT Sep 9
fb218d54117193b1524bd7bda3d1c19c4f217346b87772bee05314ed39bd5e8f
20017 C98USDT Sep 3
115af88dfeb2090d6aff87fe3c6c3cd4d090f748efa3796f7fb5a0739542919d
20018 BTCUSDT Sep 1
3a0d7a3e781254e6791603191683c022dd9d4976515801e5769862ec797476e3
20019 BTCUSDT Sep 1
16393acd8b76a126a41c7d912f6749ec750a734a50b50af3cfb90e98e68b879c
20020 BTCUSDT Aug 30
713d5cd9468802d25bcad08f54636acb3559536787ab513e4548ddbf33d951d6
20021 OPUSDT Aug 26
f8e80fb94d52d25fe7fea6e9ee1917aa256136b5a10510a270dfedade74aaa1d
20022 BTCUSDT Aug 22
5314653b49f5358863987e5e43670b89412bb4d92ff6867b450def666b008244
20023 BTCUSDT Aug 21
97690e79801a967a6558f0e6d4d1c0a413423c166124f957b0e042f28968091a
20024 BTCUSDT Aug 21
f4c10e98b2152b9efc72a5ca1108d86e89dbfa239fe435a3dbf68f8eadbf6e64
20025 SOLUSDT Aug 18
f93fed2fb07c93a3c657c9c21ddd12be1923ebab3e471a9b26f4d59a6cb4a343
20026 BTCUSDT Aug 16
f21554a0669806e16388f63e938cc01862f402469312253a19d40397ba135a24
20027 BTCUSDT Aug 15
ca1111aa083c56d7f3b41079950af84954673836b53d9224368fb67c64fb14cd
20028 ETHUSDT Aug 14
ec2f8d76811b5eb65fbd5a62be06871636bcce62841515c5e81ab9f49264610e
20029 TUSDT Aug 8
b875ce69c1a3ba5b111a49842db155eec72c4988e62da7a2131e2b57f9c9e3d5
20030 BTCUSDT Aug 6
5a6bc4aecd756da64a0c7309880c579da9a81625e4ceeb55a1dc8998c80abcc9
20031 BTCUSDT Aug 5
378a6d0e738898d6660d307ef1c9655c1577896484d10b25a69be8a7340bfc0e
20032 BTCUSDT Aug 5
0bc8a3ae0e54e023405deef360fe117154ef2d98deb5a7db395c4ab0f1a35d7d
20033 BTCUSDT Aug 4
8aa449903daa3968902a0f6f487ded0048824b7eaef1e194daae220e75f2e5a4
20034 SEIUSDT Jul 31
501c54d111c93dc8e89fb7d199adef67a8be313e3559e0209923a8a05df1e551
20035 BTCUSDT Jul 31
b0076b169e2113e8b0b496763677eafe8fcfe62f9677ebd075f3540f9b48472f
20036 LINKUSDT Jul 27
1257508281fc7de45b2356edb3acf16be68aff517d7412d486a5a0c06f0c25cf
20037 BAKEUSDT Jul 27
27474f9e812e13f9817966056718f5b0191f87bb2cc27398e74f58295a345426
20038 CRVUSDT Jul 27
3f8a97583246902033087f292c0469eba60f84e090d3e5c2d500f3faaf257512
20039 FETUSDT Jul 26
88edcad08dfe42187521702f1f7f393b3fd6500b13c96c18e56fde13b8ce3fdc
20040 BTCUSDT Jul 26
8daa57db3949a88f599c44e9aaf6d3dbb9cf96e12fc8497eeefa9e8eedfb5488
20041 CRVUSDT Jul 25
1b13fc81326e4ef15f2904c6a315ef52b993c290f5471926875eaa23ecc07dc1
20042 CRVUSDT Jul 25
e3df02e508a2e775e09d241d7ca49d0658d7e9eee89e3fe856d05100d9b9dcc0
20043 CRVUSDT Jul 25
89d3fb4669bfa975078d28a7a667716d2d3be71144bd567a5bffd74ef6771535
20044 CRVUSDT Jul 25
286f1a48d2659b60ea6ba87b4bb0c4e133c9dcfb8de67fd4e074780eebaedb8a
20045 CRVUSDT Jul 25
54da2c3b8e28a25da8d2bc6699584feca0033fcfece1636fc5591abb19addffb
20046 CRVUSDT Jul 25
3eb719f8db6ba1eed7c7b84e78fbe49b2fabc17e52c0cb8aa5dcac664ccee5dd
20047 CRVUSDT Jul 25
f18fa96eaf8cf67b0d0ace21c3bbe8d51106eb19493a133b50852f0a1049ea7f
20048 AAVEUSDT Jul 25
f2f10943b002b420b53c570801b904ff4f2269b663d92205204a0b56d70e8a16
20049 AVAXUSDT Jul 25
94707517f775b3a2394da9c787142a2043b26635d88d4626e09bfd149f72975e
20050 COSUSDT Jul 24
7b0e7e71f07c803cb67cdf1f9066c670d53f21c7cb7118a21ea807db6427efa0
20051 NEARUSDT Jul 24
39b163490fa6d75380f04d900dd2d0dea0ee5eb463a432c1fa05303d3c2de56f
20052 GRTUSDT Jul 24
99f0f68d4fe515988ca063c5ba7e7a06f2b55bdb6ce5be2cccf36284a72d4cc4
20053 LINKUSDT Jul 24
e2e98fc392ed17198b50df8c7958166c943adba978c16e7e04a6a393a5d475eb
20054 DUSKUSDT Jul 23
8c7a7a868b39c50abded9546c5c95a8af03b2737a548d51646eb8b451eddb20c
20055 COSUSDT Jul 23
bf0d99b5b4d89cead88dda981ff573b7c62ce952b3ee31e033242422908cf083
20056 SUIUSDT Jul 23
0d3713c4e790319acec989961141d5684a18123c84157f3dd1ef3784ab4ad9f6
20057 TAOUSDT Jul 23
c03d005ab4b6932fdbf594a781282e5362cd33e735723f6c4da9bb0d0b3b9e9c
20058 GHSTUSDT Jul 23
fa039a9e80625068d5803e5e6691aff60c254b0f4c1892bbf1100f0e7449a5d5
20059 OLUSDT Jul 23
38aeb2fb8519146f6ae6af17657ef5232dab136aa392d10cba3d2ee14c4203a8
20060 SLERFUSDT Jul 23
09004110d6bcc22d9910f3dea85862e0ae147b172df9e1fe90138b2329db5126
20061 CHESSUSDT Jul 23
0b96ab3df1c00a9e157ae457333661bc02095773fd7146f8c89f2450f5d876c0
20062 SYNUSDT Jul 23
62f5c90beb41a58a85a16428a6ae78daeaab09ad0f8f704453e9d3c9b05ce8d1
20063 PHBUSDT Jul 23
afb7d59c4cb2911ef8929618c498265708fede75026c783ef7ac54b643b2a420
20064 COSUSDT Jul 23
ba1ada64299e6ea3fa7d78672d94a53dfed2f8d267ce90f0f2c09701f1424e4d
20065 DUSKUSDT Jul 23
634b7e7c3a546ebc220d7489719de2c1d5f3ddade2f40dc24dc0daee5b2e09f4
20066 PHBUSDT Jul 23
05a291f5f106b5e25a94396f69da79469933d186362d9ac53016f1a172e0a5d2
20067 CHESSUSDT Jul 23
fc1758eaced6ed5096adee602abb7ae49a333f9941079cdc8966ccd12293c689
20068 ACEUSDT Jul 23
8e0e38900059e4ab4dcc350e97caf7422f0ef66faf888f2adee51aaebf1dd8f2
20069 DUSKUSDT Jul 23
0e88c18a939bd16c4a6e91351bb9e98f2d75efe123bd690f48b9101b9629cb58
20070 DUSKUSDT Jul 23
07797d9a0cfb025e0dc2ed6ff9238d44ca0adc27cfb840c639fb86c71aec8ff1
20071 MOVEUSDT Jul 23
88be66f5826254b86b3d7a75743079cd54d25ee7173672daa92234c3b1d3b793
20072 SYNUSDT Jul 22
194056a4d250ce6cb3bbb1ec22aa91a09bd5b0eb3cc595f3b274b013e07c0dce
20073 SYNUSDT Jul 22
8d207cdf9ba252c3840be1907290bd681fd0986e1b8580d70f474baad3caca08
20074 SYNUSDT Jul 22
d3068ae9355f149be7548c644740ef652c436cc7d9e684bdfa518148d04e0c39
20075 SYNUSDT Jul 22
a85be6d16cebf12e37d02a94503edae07c7981ad4005dcc497cbedeb3edb2798
20076 PEPEUSDT Jul 22
1ee3481aa4f8299b4ed582105507cdd1c4a486b657a3dbe9700c20d8d543933e
20077 1000PEPEUSDT Jul 22
85cba4572f2413b70c94d0003a9b10e1406a88f10a08641617d3ce50cff76a0e
20078 TAOUSDT Jul 21
18d1f972772af31fd8ad249438f4df65f7a443f7d09ac6a79114f88817743c27
20079 BTCUSDT Jul 21
1dad56671bce0f87ea8d35a3a91be03ea70c59f3e74469afeade2ba67fdff08d
20080 HBARUSDT Jul 21
74bac33dc5e76df9e055351defd4ec5402f2a3b241ba9e195fd131e763effc9e
20081 SLERFUSDT Jul 20
0d2e8bcf302b6861b27598e26938cd528fea48160bb62b62181e17a8e6ad3b9e
20082 UNIUSDT Jul 20
2090b8a09c4463c97054e3b147e1cc5a51ef037d41e5e4eb8fa30b73b1dc505e
20083 ACEUSDT Jul 19
125bc3fd390af6b20d54038b50ebe89919ecbe5ce789ecf008c46353bf7c953d
20084 CELRUSDT Jul 19
a19b23023e4e0aa4e9fdf49c32e45ce1dd26e77a52bd0611171477e90c3574b4
20085 ICPUSDT Jul 19
00ecdef4b424dfa0456e9f0b067169045c632048b5e885cba0eabed0d203386b
20086 SUIUSDT Jul 19
fccadd23bab6c71cac64a571cac1eb2620523967f7702bcc1733f3dc043f27ff
20087 ICPUSDT Jul 18
f9bbd489bbe37fc1df9c647d92d03044a4e790b44be38b0ef0564f9e7561e4f3
20088 CHESSUSDT Jul 18
d39099eb9dd61eb026638a2dc321d9bb42889176b1abf80bf1d765ea3cad13b1
20089 CHESSUSDT Jul 18
142b573e0b21f226bd4f041e9ba508a9d4e38d9f9f02b7611c373170e3fe7159
20090 SUIUSDT Jul 17
6bc53ef8a1d5f279c696d709e944c119b5f6889ba163214f48bae0003b17a8ef
20091 OLUSDT Jul 17
089742e1ab722709546d215fc1dcbf0f24af734c266913ef7083696d8ce661af
20092 SUIUSDT Jul 17
19c663016d926d87e1bb1f150b895da140ebb4cf18bdff0890cd3c3f19ba6bc3
20093 SUIUSDT Jul 17
e6ce8cb14167236f7ea54d9366da1a311a8aacd14f8883bf0fad4872ee4d0690
20094 ICPUSDT Jul 16
b8d80e7622c71a29e9eb9a3847b0c5afd005fae951a89f246e47847085701a67
20095 INJUSDT Jul 16
9a304b48c5b445359acd633d000f7520ff3227502d58e3762e19efb72daeea68
20096 TLMUSDT Jul 16
5861a8107f654a031f5eebf8fe17a98d2c840c18051ee64d1054debfd30725c8
20097 GHSTUSDT Jul 16
909347eea544eb4b22537def8779fef1c0c9cd2ed2d486048941c7cdfe87e296
20098 GHSTUSDT Jul 16
43d986a5dda24f2df08b649d4bbc1e3f66b997fb9318f2c1b1cf47d8a9a09b9d
20099 PUMPUSDT Jul 16
2b4d1eb90b71b953c2a0838548e2b9507c0a46720be6e8b37a8a629a94e23ae4

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