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

5800 VETUSDT Jul 21
1ab93e17768a0298faf5b6e55883d44203e90f4ae8bb0976d7c0b83610625bd9
5801 1000SHIBUSDT Jul 21
cb4145348a65ece58669e10008f14db4cc0917f0424871d9c3f06d5be609c5c9
5802 FILUSDT Jul 19
c4fbcf5c2afda6da4b7233f68c9a2f994776d679eea1f231f8f71fe73a56a4ba
5803 AGLDUSDT Jul 19
394306eba889b0f5b8dcf6379d07c5c0e336db3cafd60800ec009aaf58d17c30
5804 EDUUSDT Jul 19
53f76ec01f1fa57d8e064b1bd51f0c8f7d46df863e3d485dfc7157775dc0fb72
5805 METISUSDT Jul 17
f322851e910b784f697a2ad382242a8949a74531353ff1a14af9d27aedbb15fa
5806 CAKEUSDT Jul 17
14a348b1d8aeab940661c944d0cfffad859b78dd64c5affa37d4614b131d2f18
5807 IOSTUSDT Jul 16
fd4b8fb7b80c6e2348890e4b2038fb5f1c493b249c78abc7e78675b6ee8248aa
5808 ORDIUSDT Jul 16
f60f2a9d97581e10e825477c02da05374a587ca80f1cb95440813f381f49fa55
5809 BCHUSDT Jul 15
6632340a002128670381e5227421aee1c0b85eb99d59fe0339ebae564046cfe9
5810 LINKUSDT Jul 14
02aaf8b4f00de90bb7c1801779d7044ad807464f07f21deee9ab5f75635e0133
5811 COTIUSDT Jul 14
3b3c22b185742704035a8cc2269e26f56c5144b37ea433d54021dde933aef325
5812 ACEUSDT Jul 14
8336eb5f9f08af8fd80b752435145f0e0e6da7e9bc5eff523842d3a30f6db2f0
5813 1000CHEEMSUSDT Jul 13
454062695a8bd13846864676dd0c34c94e3300259fe519537aa0030fa44ce9ee
5814 ZROUSDT Jul 12
0605fb84027beb600f26adbb31e3e84502a6ddfc99e6cbdc2b14acbf871dfb01
5815 AXSUSDT Jul 11
9ec5056360a99bffeb07e45723908dd7148d765587e5f51b3a44e7be5911f534
5816 QNTUSDT Jul 10
65ebffa52ac48a576907f12bd34500e2c4879f92e170905e1a97f3f989846d73
5817 TIAUSDT Jul 9
6a53b318d82c65514c65e34d7dc7853d6a540dc3fdb1398a4dca8730f53a56e1
5818 AKTUSDT Jul 7
83f61d8951d13947b95e8f6e1da6565d2b12fdf5d87145a520bb8163e5513a36
5819 POPCATUSDT Jul 7
9533f0a85a5fabb4421514e023e1e74774dfbfeb3c878141fa6d5ffda88371b3
5820 CHZUSDT Jul 7
8fafd22a52c048e2dec7ea396ff783ac52630220668e8d3b16e1cd0b742e88f5
5821 APTUSDT Jul 7
cda42c144238fa6dd9623dd6f12ab3754f78967508537daf6f21e7643f5f293b
5822 MANTAUSDT Jul 7
05454bd86048f4028c9b4c9ec9112ea87addbd175564b7bd3147bdfe30e4656a
5823 BTCUSDT Jul 6
67a1da405f334238383ba4a65dca06cb3710dea76c2f81bc4a01a700ba80a04c
5824 LDOUSDT Jul 6
d5eae78a9c2f4d2f8580691c12098af9992e4af8818418e814d8e2574d0b50bb
5825 ANIMEUSDT Jul 6
90a2bed2adffd339ae7cd11ac98ca0e39d352b7ff02229ea649314f91605f5ea
5826 PIPPINUSDT Jul 6
34eece017fb6d3762196190730a376fc2adf991df849bec99ac43da040b49961
5827 DEXEUSDT Jul 5
02f71ab49c9063b510b8012fa014e7d359a84e02c0054aab5edc538e2cf1141c
5828 FIDAUSDT Jul 4
c59eba9bcf5853bcd6c6dc3c83331a208aab6ad3b1d3d8666d72a4ee9f93bc1b
5829 HIVEUSDT Jul 4
8885b676361975773b2a5d7467ef313939d9a02676e6daf755caa697258a37a4
5830 LUNA2USDT Jul 3
2b361ad9a14aa3a3f9b75471e4aabc89a91be38224ef881274bb99cd3502cdba
5831 TRUMPUSDT Jul 3
be1a52c6f72c7a87cdb748f1a03f7aab8d13c4e379223755db1220fd767c5cb2
5832 1000CATUSDT Jun 30
129ff176929a17ebfe4e6f9cd25e658eebf9e3848f116db3a4bc00ff0064b52e
5833 ENJUSDT Jun 30
9cce6df934df46e5f248f7a87d397cc6acf93bcddd22d101b2da981935e7e7b9
5834 MOVEUSDT Jun 29
2210aaa58f246b24db677c387d176212404ac93fbfaebd340fdf374037d64f2d
5835 PHAUSDT Jun 29
ee0808652f87ff767f884220679ffed48475a96143e0451c1992a8f136f1cc2e
5836 SEIUSDT Jun 27
c3cadacf80e91fd521e0ac8c191c384fb436623b15524e4065fde8e41daf21d8
5837 ENAUSDT Jun 26
fa0a90d731de76a1c13622e01bc97ce2a36e17637d37d8dea009a302d74a4bb8
5838 VETUSDT Jun 25
e7be174e25fdfc220fc03125a60f9c3c72cb372cb3a77278e71d9c5528ea7db3
5839 GRIFFAINUSDT Jun 24
79617d0752cb3c3e57d9967eee99dcbb5d680083517a013815de00809660fe23
5840 VIRTUALUSDT Jun 23
70e53e54853b77e2df4ae4e09befcc0e2e46cf780d9b45d40c437b46073927df
5841 AVAUSDT Jun 23
736d0787ed9221d7c8dc89174fbfa52138f4613e436f246823c4b0a8ee07d763
5842 AVAUSDT Jun 23
c85ada9c2f0eb8d51567f893d8980fc48f53fde4db35f50818ea6fa2e5df5ff4
5843 ICPUSDT Jun 22
3f9a1b7c6bd3fe2b97a020d8cc29dfebc86076601b94655133fc661c8485d581
5844 TIAUSDT Jun 21
fb1610872eb28fab066c0fe51185f32d256e66d3975a51b70fcdb00bbada5cd4
5845 ONDOUSDT Jun 20
40b8ae685d2cb118cd8b3a899d1602c8968b0182620a468edac733888fc9ee8b
5846 JASMYUSDT Jun 20
044f3afce076a31da2c438ddecc8baa3bfca4b493fa94098f35e4bb36809d1b2
5847 BLURUSDT Jun 20
48583d7c95482e4ed5e92db27a959c695db3aa64fbf1f88490bdfabfc1c7e63f
5848 XVSUSDT Jun 20
43e3013c879d7797487931dea6c5ff947bb1d1cb1978499bad103429f03ede8f
5849 LAYERUSDT Jun 19
d96faee911313d759ae0e1d878e61a471df1e4ecb7c645d27c441f97d209d2ff
5850 RLCUSDT Jun 17
7cc82aefad107f72b2b7fbf642f3f1bc5348596176988e4c070d7364b3efaf39
5851 MANTAUSDT Jun 17
d81b092c73610dd59f84731ebd41df53b8a2879fe67cb4508c83cf1e9dbd4dfe
5852 IOTAUSDT Jun 15
ff264b538e044248f75fe8beb45efa2dca1d19afa9b43e0bd5dbe40b7f40f28e
5853 ARUSDT Jun 15
90237c674eaca5092e3be658dbfc2e5d93846080bd50553b08959e66c1c9d21d
5854 LINKUSDT Jun 15
74d0f13113af7b0be5d0ebd147139350a2b863676fb088af2c7d896ad77ffba8
5855 XLMUSDT Jun 14
e58961b901986ea7e35c766f11b70aac1b759daefb3c3a7289efe5c75845477d
5856 SNXUSDT Jun 14
279ce84f8ce6c986ea5e9113fb188753724c36dd2d837a85a05465336c6de601
5857 VIRTUALUSDT Jun 13
97bf4478afd71fcc09174f8dcf779867f847bdf7227cc685beb1705530cf3e08
5858 SSVUSDT Jun 13
2b4b2c4c2c6525f898e5408d91d309d46f858c159b013750fd4d2601744dd74d
5859 ZROUSDT Jun 13
758bc0267674f37344d2bf4b4ab62acd24c149a6362a59badf5f6b2ce8e7e44c
5860 BBUSDT Jun 13
10d1f8932046c96c743c9f5341757e819f218a3f48fac8075441ee695c7f1a74
5861 BTCUSDT Jun 11
d48981632801fe16d7328d7fe374ae406c78db20041385f012ee0adf03627f35
5862 DYDXUSDT Jun 9
a471443037481c66e1ecfb80a9124c79bc212efba46337aea78bdf52c78fc0f4
5863 DYDXUSDT Jun 9
1e5db31dc9e83dd00e680fef78dd77deb8b8667aae4990196f3d9a3d68ff9245
5864 KAITOUSDT Jun 7
80fba05e224a39283801c52f57315f96680c1ca9376575c478cc7d860e26318d
5865 KASUSDT Jun 7
35d9acade8f9695299b3efda542ce7535f327d7ebad0d08fd12d7f235a306863
5866 GPSUSDT Jun 6
a76c1029ed0d2ece30c87197f1980b98c62da6b99d773806edf9bc226763aee9
5867 TURBOUSDT May 29
3c0a142a23754d3f09c82f461e2678500f9fa71ab76a92835ba62b909c8f7b90
5868 ENSUSDT May 29
9c2064103d14dc4da9f4bdcab7bf2c8c91f14ce017257a2c027a199a0b32190b
5869 LINKUSDT May 28
095d58dbb36a04ea34ad63d2d0ffaf4378ffda2ee0976b69a989005c28cec11b
5870 DOTUSDT May 28
cde13c947976e0ac5fcf3422c099ecc619cda0a9c6b975f08f6d19a253ead614
5871 AAVEUSDT May 26
0557192c9cb1066338232f57b14ae8374538bfeeb16e3c53c5f2d60fb5b636da
5872 DYDXUSDT May 26
83cc1551d1bafcd2976ac68ba1484c7df2ef7163e2e879b83f0d60680d14fc1c
5873 SOLVUSDT May 22
3b17fa5f51804290f2b6b4659b110fcaa7aa19e0754c78dd97aa64af7755b300
5874 ETHUSDT May 22
76b9b1e5e83e78a7d75631cc0cacc6b6856773a618231e8ca3319d6c9c233f8e
5875 APTUSDT May 20
b253c4f4a0ede2f2072bdd1c119ed67f52e14e45e1595e1feb10efc8fc641f02
5876 ARKMUSDT May 20
beab785fbe4cc3fc27793778fc47dc2320318dbdc80f9adc71e9b34332b658ee
5877 BOMEUSDT May 18
af7b88eb2ebc91113f844b399dd5bbab0beeaa747d361ce876ce81bb8bcc326e
5878 BOMEUSDT May 18
cfb765606ce027022993fb80baf8cf1064991e51fd84aa12557d1288d5a5c8fc
5879 SEIUSDT May 18
2b6f3d87cbf03223ce1efb57c80810a1aec7fbd5f8a7f94de6ff750841ef6d63
5880 HBARUSDT May 18
739e293288bce14cac3aa4bc5fd77e72b57b316de28e3107fe308c8ea8273512
5881 NEARUSDT May 18
a126524d1d56c7a6c535f5177c598fa8eccbdff4f348672cd305080efc5ad3ef
5882 FLOWUSDT May 17
49ec3962c65fc5bf63d861bf1d65d5f1cdf5da931e8f0a9597ec12cd364c9ba2
5883 BTCUSDT May 16
106789747675d8a3de0ddae01d398e9fb3c8c0b84f43366f6581c5c02ffe5619
5884 NEARUSDT May 16
c77e5d888681d606ca0360558720abd8f2a4f16cd0503e2fdfe06474a3765bf2
5885 ARUSDT May 14
d708e2396ae68e4b3eca6a921e7e5c05dc75ff831f15635e8e20833d761cd928
5886 EIGENUSDT May 13
ea99eb8dcd5dbf6910a4164cc6cba9adb3c47210a5a5843046b641f16b38e959
5887 XRPUSDT May 13
c3f4895e241595c363ec2c5d9ed2667dd536813356e105b9fbdec519270aacce
5888 EIGENUSDT May 13
9fca3764dcbb58ec45d60edb3cf8280ed0cdecf29efa4d7dfa0257d06e468238
5889 LTCUSDT May 12
f457b3062ccdb2ccd570330e171ceae0cce5c96b307ed80f2d934a03a2465c88
5890 XRPUSDT May 11
3f33b7916e9c6b270c5daa2e35161ae5a303f41a4fbe7b043e855b92896c3e68
5891 PIXELUSDT May 10
79ed27b46ed03c7adcc86891829198c6cf22967c8b292905fe8fc3877c05566d
5892 1000SHIBUSDT May 10
e77dcd26420ba1d3d3207192dbc5ba6801b0fbb89244cd0791e25b852213007e
5893 KASUSDT May 10
eca75ce2be41e1eaf7de39a768c8e2e6e525fa9ade71b39f402928721bffe56a
5894 WLDUSDT May 8
08be2030eab6bacc6ccfe77f696cee7e6c7e8d5438ca72e033c1ac4cad4ed10c
5895 BATUSDT May 8
7288bf5c03edd2ee17762aa0dffb98161b8f83f28a27f7b56351a851f1a5193c
5896 MOVEUSDT May 8
5bfba2e8a695158fc8d7d62f1ebd68b4c253270dc0956fef5197231bbd9008b6
5897 BATUSDT May 8
3b874c818e010beaa53cb4bdeafc257c7e811880bb7c31dca37bc348c52c38f4
5898 BNBUSDT May 8
989ff8d8a67a64216575e6f9bc79b16418c52847f354171e91dc2c1950965b38
5899 OPUSDT May 7
ef6f74dd086477c085ee6b736ad6398d1d54bce5b9b27597b7e76a9fcc272e60

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