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 11, 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 42 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.

4100 XRPUSDT Jul 20
6e26848068241056c24d946c52ea08a0093374bab7dd9a608ba9015a3d5286dc
4101 AVAXUSDT Jul 20
7648ef75f06dec768a4a8050e7110482e4bbde75a84c24467f3373ffd918bf25
4102 XLMUSDT Jul 20
6d7dc6b5aa529aabdcf57a7452c11479ba6d7915fe188386ef1dacb7813a5d4e
4103 ETHUSDT Jul 20
eabf1d5ad3a899aeb02dc095dff7e1dea83ac08bd3bd4cd01fa654e829849e0b
4104 SOLUSDT Jul 20
78f86a1c06843496d4f90c13aea62b62a9cd59fe407257260ec1f21064fea98d
4105 LINKUSDT Jul 20
44e49c8473a41759b45cb53859d045a1fcdf9268dd171c452c7576c1e8d3a1c1
4106 XRPUSDT Jul 20
778faa167b33daa6eab47998109b983e44d949551412b4c0f2291ee0443c5a8a
4107 AVAXUSDT Jul 20
cf94b78b73b7dbc72029bd271f8759168b2fedb63e82af31ecb9532cc9867a7d
4108 XLMUSDT Jul 20
73248553ef457218e92ade972ca1dde8514b88997c1f6bb1499af710a51de5e8
4109 XLMUSDT Jul 20
971115c55c5b40cfc67b17ddef74382c094d4f5f501a0a241984f441d6fa1285
4110 NEARUSDT Jul 20
fb2ca8a399747f4705981aecb37ec8eb60bfe900592582b8ed9a61be225a55a8
4111 PEPEUSDT Jul 20
b8ebb8aecf88164c5c748bb18e1c217ecfbb8e628f20e4077afdfc3e7e3682a9
4112 BNBUSDT Jul 19
dbc654872c195833e2164932d0dca718e56d1d8ec1453391a4dd01dc7edfb5f6
4113 ARBUSDT Jul 19
0d1c66e0e7ccf09be298f93610a891d77d5a2e664caacab2ef74b30e49517469
4114 INJUSDT Jul 19
aa29d9c8b54eea98259f158f939feea0a79ff8e2bdb810d2cee471ed8271b3d3
4115 DOGEUSDT Jul 19
b1073d75347836d27956c789ce2c805c5c18ee55fe8a5a6cc47ddaacb3c315e8
4116 SOLUSDT Jul 19
7735b3f2c6f9aa2e58610ec08ffba337bbee67c9b5c6854a0ab7184e330965f8
4117 DOGEUSDT Jul 19
d7b3e5ee01f46934f426c9dd456b35f9a23c77738084b9bc78dd5a8ead82e3f9
4118 ARBUSDT Jul 19
563dc5ac7ec454dbd3bf82c2e0dfbaa0aadb6376d9b63eab1f389f6489bc8cce
4119 AVAXUSDT Jul 19
dff3bc98acdb1918db52d5142f61c40181c67e5a7305b4a7df56ceb6114d298a
4120 AVAXUSDT Jul 19
497577dab36025f7247bf08916aa31c7ab009bdc8437e15bdae303b40f49ffe6
4121 SUIUSDT Jul 19
8649bee5ac0e58b2aad9e8d147922a4a6efef4ad322eb21db44e3772aaf66f9d
4122 PEPEUSDT Jul 19
43d708f33d2f6f63f870d22d687f1eaa45e1ce87536ab94231709671897cebe4
4123 SUIUSDT Jul 19
399d53e8d13e3020fd8410a5ad5d07bf47e4990fc68d6182aa969b4b70bc1b7b
4124 TRXUSDT Jul 19
2644cb60d92468a17681bcb2cd03aa7d8a02083d8a94fb3a0d5c1274a752ee87
4125 SOLUSDT Jul 19
1c6f4609747b12c2644924bf0814a7ae349e4ab04200db48359e32d0a3926a70
4126 BNBUSDT Jul 18
2e672d8345ce4d94962ca5818245408839c81cba82f6e2a18620eced312bf92f
4127 AVAXUSDT Jul 18
792edf39b6b1e7d5b1215523cd7174ff2aacdbe1ec23b73365a02f3591a44474
4128 LINKUSDT Jul 18
48f5b48e4fda428cb7104ecb1bffcf4b6c9c789c97fb8f8f3573df7c8bdd2d10
4129 ADAUSDT Jul 18
d62502cd4160469a6128ad9010b0c3c3156babbaa91ac11a01a8e4f36b1ffd01
4130 TRXUSDT Jul 18
aef2b3181171ab1074d1a4568111e246849dfc64c3fcb27ced04343b14ce733c
4131 BNBUSDT Jul 18
35a310898e5c22d4b1cdd65cdc509ede5de0c6aca9f05eda9ac5153805632cc7
4132 ARBUSDT Jul 18
b9bfe156936a7c77110bf8396693550a70c3c50c38f5a87eedf1b22059378b27
4133 XLMUSDT Jul 18
6fc72e752e957c104e9a45102c5284a910ecab4421abd72b3b08e4bc17352975
4134 INJUSDT Jul 18
917afd0a1839bdce3c65449246f6f4028c6a3d679039bef9155e8ec30e512faf
4135 AVAXUSDT Jul 18
67ad964fd20ace7f11f23ee8809a2c30a89210e039ecb68bdabfee05175311a0
4136 APTUSDT Jul 18
081e23fdd9d181398ebd009eca0c795cf0ddb032e583c2f68a0fcc128f49648c
4137 BTCUSDT Jul 18
92d02d1c4c6ccfe5595a9a06cb059c7310109a4606b0e86d05f5e5534eaa3616
4138 FETUSDT Jul 18
8de50965b328f202627289799ac22d31d1ce1a6d9788b85377dfde9beb130792
4139 NEARUSDT Jul 18
1d0e8b5c40d3c8ce4ec1816b689b930e8990e8619777789b166a4b6c52831d1e
4140 BTCUSDT Jul 18
5abd9bccf0ad2138fbefd5c45db488940a03828d61bccdb27113adaa4669ace7
4141 XLMUSDT Jul 18
e30a74f343961f7c7236bb30aa71626f23dd0671a65e233876d5752e9a15845d
4142 AVAXUSDT Jul 17
3dd58a6f58ab87360ee1e307c62b5932624115ca98b19af812404d05ee6a5d44
4143 DOGEUSDT Jul 17
f76a1049ce227f49d719d4e8a391094243e4ed9e23b0c0dddeb784de0c49ba48
4144 LTCUSDT Jul 17
118cf802c4d5df8ff5c4551b835cd19c05a91eb9b26be7e768b9e3c120bfbfda
4145 ARBUSDT Jul 17
9302e78911364410c20697e40e47c2434ed0966fc5971b62ed220acde813fd57
4146 BNBUSDT Jul 17
4184f9191a991e473cf6e4f083ea8633f8aad78069c4789adcfe0f1a21b907e8
4147 ARBUSDT Jul 17
5a62fa4c98f3e22009259a2f36d4344c735f33b1a6a95300625298758eab2b38
4148 LTCUSDT Jul 17
dd7dffe0a94a3e0fb82c1477f40e3ffc2cf355337ae6ac9e681416f4fbbc721d
4149 AVAXUSDT Jul 17
fb62ebc496a1f1e740e68a669184fa30b9e52f7430098522151549bb9fd8aa35
4150 LTCUSDT Jul 17
ae415d5a3809e66a4c0871b155e111c71f8afa737f19a3d4c055bc715412cc7a
4151 UNIUSDT Jul 16
b525c69950b48883275190d39368f637d5fdc910a9f4ed90fbd9783d1b51d589
4152 DOGEUSDT Jul 16
70808a500b09e23ec843af63804302af7a1b7cb1dc77f35460b3cc4709ec62d6
4153 APTUSDT Jul 16
0a823f278b0719324599124699abc2cccd2de6a40f37ef3a2d577e12f286825a
4154 AVAXUSDT Jul 16
68ca1daa25154b8c75d84dea01459716c568138c5e9af335d317cee7ab281166
4155 ADAUSDT Jul 16
f58a38613ef35a7a0b3499ec113765afc539228712893d8355575f028e041baa
4156 SUIUSDT Jul 16
e2ddf9485c799a06ca90f678bf1854ed650a0b338d3075f45091cbc048605550
4157 INJUSDT Jul 16
292776bffa6b3cad6f11ffc01c704802cc55d3ef0bb18b3d3102a84a25a0c2ec
4158 AVAXUSDT Jul 16
9d1c195beaf149dcca41d0d1a23e492155c8ce558e0ff8f23c88e64639e47767
4159 APTUSDT Jul 16
3d3b533111c0d6581535a06c46a9f192e6a77539df2fb48767574fa8919d5299
4160 BTCUSDT Jul 16
6aab5fefbf0c1c8cbd99535bcfccfcf5bb762c1366f1ef10ff128a8b8d555ceb
4161 POLUSDT Jul 16
568e7ee30ea4fe72d9d916558fbf493971a17a31ae10ab8d819a0f8b11e91445
4162 FETUSDT Jul 16
8f050150e5edafe444df66a2cd31ea8cb39496f550b19f56a54d9a54ab5f02a4
4163 SOLUSDT Jul 16
fbe08b0dd73c13582838a14e3f9ad9b0f7b354e49c85250b722d27c1772835ac
4164 FETUSDT Jul 16
7dd6c2d9d2de0e31b57212af1d00738693db67b421e99fc8b03a10d23058001f
4165 PEPEUSDT Jul 16
8264bcdc809336f96d0b6dcccf7aed70ab1f75cc6d2f02621e0c7859d1273100
4166 ATOMUSDT Jul 16
fc4623ab084e5ef1acad3cc51814c68452160ad02062731b55788c223bd70850
4167 UNIUSDT Jul 15
042a9aca4f4e3d0f20080e706936c25ffac2c7f094f0a99bc6cf4a919cceb8ff
4168 ONDOUSDT Jul 15
b7bcb63c1767e16aa403eb4cf3b2a01b8d2ec0b0be560aaefdc8e61b474fb26d
4169 PEPEUSDT Jul 15
0ae74cae45c92c1306772134dd9d0b182a7114a498aab6b76b8bddaa57f0f340
4170 SUIUSDT Jul 15
b55dfbedfedcab3c85978934da2b0d692934e33bdfc1e10e68b2f7a2b403ffe0
4171 SOLUSDT Jul 15
b85807387850b5d13779d7429fbf729133f58e131b3e0413af722044656b578b
4172 UNIUSDT Jul 15
d5748c4214aeada7cd6adc31e52831be1fd39478c746620e05117b12a6e61eab
4173 TRXUSDT Jul 15
3a46882f175291669b271f10655edde39a36422836ec4aaf49280650e56851bf
4174 UNIUSDT Jul 15
e468dbbb0dd2e5bf79699617ac854a61db766bce7407e6a504de57524a3785ba
4175 PEPEUSDT Jul 15
ffe656af41884685d29b598cf0e2187983e0359b3ae9ac3e10b92765bc26c518
4176 XLMUSDT Jul 15
6135fdf7bb80310f7ff65b43b49838b471cbe250b182f2df18319f9180c135c4
4177 ADAUSDT Jul 15
45361fdc53246a4d7794809141e4b02dfb354ca89be7c00626697c0a693b4f5e
4178 ARBUSDT Jul 15
62d508d86bcc578ee027dde8db13217513aa509dac65c51b45811096689939ae
4179 XLMUSDT Jul 15
f8a07f5fb223ff47b65f18c9912324bcdb7c439bd72fc15e460c0709c6c181da
4180 LTCUSDT Jul 14
835f0d937173550dcd2a276820d3cf24efc2b11bac7593545a9755dc5636f3df
4181 PEPEUSDT Jul 14
f9a827012e76c928ff35c460c5595389a50aaa3611800be253452fbdbf05f1c1
4182 XLMUSDT Jul 14
9cba7901dbf20e0e6188c56a75f7d8e2f6574e893ffeab1afed66dacc8d3b546
4183 ARBUSDT Jul 14
7b8fef7c78994d833b1dec385ef705291ec0c16bd248d41cdb96eb2cdf66ce07
4184 SUIUSDT Jul 14
710c274235cf52c8d4f8c8c9bdcf007ca87ee2d959495a6757f90d6662383fa3
4185 ETHUSDT Jul 14
b19d3358ea0765ea688198b1c196a12ef8ee66d878e9facab8236a9ad22ab93a
4186 INJUSDT Jul 14
cc93d4d0c54a9c775c0835632fb179532ffa3f73391134336fd7017392a48592
4187 AAVEUSDT Jul 14
ab0c9ef1cbc563c28d25038f45fed8a5183816af046923811d2ff205374bbd71
4188 PEPEUSDT Jul 14
d585de18a1b822ac6cfc57abd81184c1265d4ec637502b8fd5092ede67cc5e54
4189 FETUSDT Jul 14
e67184f0c0ab3590b00d03baca7566833068ff4232c397057d98676e9b5dff9d
4190 LINKUSDT Jul 14
83d53d039e6aeab5b3421d26fa65b80c0a300d6e51bfd797ced3e54e3a5418cf
4191 OPUSDT Jul 14
1db7cb8745a77edc3efaad5adee72d3179295b1de80f544ef974a400232b0847
4192 POLUSDT Jul 14
abcdc9da4894c20dde2691869e3edf5cbce087ebe13cf17a7a8127a9accc86bd
4193 AAVEUSDT Jul 14
237a830949354cd036e14fc5993207f9656f29ea4c277096636e3076248b5a20
4194 PEPEUSDT Jul 14
8838d3494ee46f3bdc5c8a6c0f08f6993fadaab2a94a2ff3faa59868266f5776
4195 UNIUSDT Jul 14
d2170fc73da7fc1214279e0c6929f746dae61b5eaa3e48db87d3b155a0e75dc0
4196 NEARUSDT Jul 13
12be2f3ff4f3617ad18bc8a8db6c75b4fc472c4f149da678d34cebe96c3129f2
4197 AVAXUSDT Jul 13
6a4a2895cd464aa109e6d862583f63c926eae7d08b0ca30f546d1d6dabda395f
4198 PEPEUSDT Jul 13
6f6f6da379e9751b4e176b2e3e3a73ca089eebfdb3d0c95b96e990d4de32652e
4199 LINKUSDT Jul 13
e5f353152df4691f495ffe1c5f52f41bbe98863e272520c98bdb1f45546b0d3a

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