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 13, 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 89 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.

8800 AEROUSDT Jul 18
bda654ab46a51154e9c2e10ccd2e1e776900625e8bbc8474ded4e0d754cc5f9b
8801 ACEUSDT Jul 18
72cdd7f59ffd4d34b38dcbdc8dbca4b18cd8086ce90befc50a1a96346faa707d
8802 XPLUSDT Jul 18
266965013f020927f66dc3b08ecf63259cd5386b0739375f24b4c1c188a3a4fa
8803 ENSUSDT Jul 18
b8c25b31f33689b04d0c35fced7e1b9f78f683eacf8605a832b935a1c3607c5f
8804 EIGENUSDT Jul 18
220ddc807e6704c96e9eb44f8e9ce475a9cf7418db69c1431099e647261429da
8805 FILUSDT Jul 18
c85c07c54c09bd23aa2f6ccb4bba981a961a44e988e648e773d8457a37340abb
8806 LDOUSDT Jul 18
0be36c695edf59e24173d23cba972bec88afababa6abcab0c884c7feea3e61cc
8807 ASTERUSDT Jul 18
1f0dc686c945f89876a6cbc750f1949a761474b2867d210da01e760c4cf1ed6b
8808 JUPUSDT Jul 18
d7234e0586f15cdab01c4462469bfdf393abf3620be1dba941be56b702f427ad
8809 PYTHUSDT Jul 18
8c79121b67efced65009f5896797bc7197d510277c2ef3a0ffedb71cf8397913
8810 RIVERUSDT Jul 18
88ff1ccba369d323586c989fe91a785977d77ee3cb2440bf54d8f3b9187dd1d9
8811 DYDXUSDT Jul 18
2c0f7f327d2933e9fbcc71ec6c83d9b621048085203299e487e1207af1f028df
8812 HUMAUSDT Jul 18
79c8b6d0327fefcca4101f8a86c53b7207992d1f130d7422a4a3eca760ffa49f
8813 LAUSDT Jul 17
500e1f45d781be86d8b7d745970fc3fe19dd1f6d290176faae728027709e9d82
8814 LABUSDT Jul 17
f2a118a65e93cb99c9cd1262eff24a2be3d33f199168be89f22200d54c96ed6a
8815 UNIUSDT Jul 17
23484b4031378be3d351fc8a52b9d02a6c74b599b16d6c5d26d6d373023457aa
8816 AEROUSDT Jul 17
033156886fc37bb1ff83383b4deed68d00e5353068e435d662756d65deaa55e6
8817 TIAUSDT Jul 17
934fd36ca1c8a7ff31a520cdc3d3b39419375517c4c2b99177ae71dd712a511f
8818 SKYAIUSDT Jul 17
20af64042f2ce9d64182bc5c8d2a85614b572dd5739a4c97fc146102f90dd4a3
8819 MYXUSDT Jul 17
f0f6b5cf81c33653370160c1c5354811328a67cd924e2f0afffaf4df12a3c82e
8820 BERAUSDT Jul 17
a11ba0560584f3b00461dc75e75db53359d7ba745a496b560d9ef421ea5d4a50
8821 DOGEUSDT Jul 17
1a8163d2f227103b329b893452c9b1742e26361abae598c126b63364c6304573
8822 WLDUSDT Jul 17
3c8f69ccecd5e70d82dd3da98849ff1ba786c76a5d5684726644197e453ec48f
8823 BILLUSDT Jul 17
0afb1aa483a52a47014de38ee44ec7d8eb2d97d3389dbdc42620256fa96b61aa
8824 XPLUSDT Jul 17
13459a18725cbadffdc5618f0417c601dabcc97da62f8393060545e56bd7759b
8825 HBARUSDT Jul 17
b07c20ceb26787bd04e87c9e1a3987288c250f621a2cf28fcc4484b5f4072988
8826 ATOMUSDT Jul 17
c016bc168b65f862e9fbdabf30a8575a632913a8533ab13e14dd271b0b80d1d0
8827 LITUSDT Jul 16
b52d6b9df151f1c1e3439148d730b37827b4fbdcc8079d12fae9ad0788b073a9
8828 BSBUSDT Jul 16
bcc4fa0bfef7ff487f829c811861895009d899f9145abc877484ebe23122e13a
8829 SLXUSDT Jul 16
6b35ac207c81994566891f0330449cdbce71f74fa697627d2de125ba77fd58c2
8830 HOMEUSDT Jul 16
1da084ddf2c51cc91b1bf1deaf097c0f20ebeb55a1fba4897c4bf8f2d59b0fb9
8831 OPUSDT Jul 16
2476cb4fc13a619c3b510f5f0fbf6c4ba5c764753c350af36f4f765a154aae05
8832 CAPUSDT Jul 16
bc7413f428aba2c3543d82b21eb1fbec2731646dd1a5d67a8bcc44d550602540
8833 ADAUSDT Jul 15
1967891e7d6727016a4f0753234923f864106524f690aa641fd2cb334939bdd8
8834 XRPUSDT Jul 15
ef25cd2e5f0efbd07839263cdc83f717d5586ea28f576a83ba88c53ab00abde9
8835 ENAUSDT Jul 15
d9229ba0779370fd54cc410e6fbcbf426fc86e60924cf99bd902889fb59e120c
8836 RAVEUSDT Jul 15
094743d72e546da7b54620a120a500fb8b8dfcfcc9420b02fe59432fff0ec1fc
8837 LDOUSDT Jul 15
3b5848ecd7656b63e3469e1db696bb5800cfc00bc061c4f937d886de3c6648c0
8838 ALCHUSDT Jul 15
a3cb82b499bdb1399214cf545f8ca11dedfa1b927a117cfe210c73a75c9040ae
8839 METUSDT Jul 15
286bd249e6e10857d2fbf32d34d0d340e9530a3ba8b6769162b71f4640990840
8840 APTUSDT Jul 15
01c0323f2981243451f48ec513443acfe9c2c8b64ea6ca8374b06162488d9fa2
8841 ARXUSDT Jul 14
82d95bb6e3ea27de7ff13102edccf0b5cf5a43fe2ad513c35d753b908131bce0
8842 HEIUSDT Jul 14
8b405918f9122b2301e1321dda9fe822803bc23f32dad2372ad1065e08871dda
8843 LDOUSDT Jul 14
7c0752c5fe2d6559f6e1bacdb05224f3c16661606308e1debd6d1a8d629db730
8844 BEATUSDT Jul 14
d9a279c6c298a5867701d9bbbacb5dea49bbba43812d8dc8d7643da9c4c59d8c
8845 JUPUSDT Jul 14
2eb68c00ed94330af6ce57dfd293a1cd31eb146aabc04d4844b3a6b8504485f9
8846 ICPUSDT Jul 14
10d9005f6c171e27ba78dfcd77bef94c38a22df422d0cd3ff7640daa58099da4
8847 FFUSDT Jul 14
5789c598a2411d17d4a684978b46aa9ff12e2d75d9e7bd1b8aa633949b843caa
8848 ZBTUSDT Jul 14
dfbf06170317cb3abac6ec44ff490bc89bb754eec128c4a81cb3805e7f46350c
8849 XPLUSDT Jul 14
8d865fca38aa65c7c40179d345dce13feeb2b4c74e070215ed493f5d6d43b59d
8850 FETUSDT Jul 14
554749b9afa0918faf7d0325a96a6c3783bc7fc9df528ee6a2e43dd4ea79125c
8851 WLFIUSDT Jul 14
f69c697c3dd2b4903751965a61f24818c0afac61c9184d07a8b369816408fde0
8852 AGLDUSDT Jul 14
ad32869cfa7c9efaf21c319f10d8a338f6fbf0e30edd83d7a47ca4db38c60f1e
8853 STXUSDT Jul 14
eb094e00e8ed5313f5c252cedbbd63e84a2576508fcba693147455dd7b7a389d
8854 BASUSDT Jul 14
fcb0d4b15ed42738167b1aab25473f70925fbb1ac0f3a5b2c13a3d44e8c8971e
8855 REUSDT Jul 13
d985dc943f74532db744a8babb9cb423bdb541315bd815ef0f0bdc4a3c97ba83
8856 ONDOUSDT Jul 13
e84045b045f53cf552c4954fc4adc539e665e397cbc15c39c63b111ca7807c8a
8857 KITEUSDT Jul 13
c447071754126433dc20352ea1abce3c268704dc3cde95512bfd2c8eb4fa0cba
8858 UNIUSDT Jul 13
50f780abbeb63a6af9c98a3561d3d6db05319dcae27f8d2057397432cdbb769c
8859 BUSDT Jul 13
5d76cbbc3663929ab799bc5667e2ec35cebe8b63fea3d901c596b62b8d667685
8860 OPUSDT Jul 13
c4f5d96ca844b323dba09c6f871950ef4843ed3e60cde0d68739529903808592
8861 TIAUSDT Jul 13
8f324719ba7cd25de17160e650dafcd44a3f31269317847d092c2f4d52ef88c5
8862 SLXUSDT Jul 13
fbcf89d63c7302adb5223756ecd20c7ecffbc90ecfced275f8f4a69555fbea4d
8863 EIGENUSDT Jul 13
3b9d78bccd8a6531c09a06e908ec253e3c83b10ce88829d762c26245e517d5e6
8864 ORDIUSDT Jul 13
c047194c418ed709b3c8799b7bfa45d023f0a74d8c5b0baee6d566d5553dc2a4
8865 VELVETUSDT Jul 13
cb603fb94cafec96b1306d9b97241134b5c00e77583f7ac9f200532e9fd21668
8866 TRXUSDT Jul 13
7ce383d4157942fbdf952f41586d2e57d71f27f44583e986354d8fe1d2b85a35
8867 XRPUSDT Jul 13
991ceea63b90ae515e1b7ee7bb3d60d9c3bb1b626e4145b47e43db0bfa8e3640
8868 NEARUSDT Jul 13
1cdbe73228541195ce3fdfb80b5c7428c2714daee91c7a2d75cc1e83b3fcacbd
8869 MAGMAUSDT Jul 13
cd3f023f040a34f6d68b5c501d207c39fdfa517d4192c7fc72c81bedbbb35a79
8870 AGLDUSDT Jul 13
a342e4ec19799f05e1b666b21d45cfa7a4cb49f7d00fda36b9e5ac4ac7ae53a3
8871 ASTERUSDT Jul 13
f913018c86333157e9bbe004268584b09023c05b5b4b429abd27502bf681edec
8872 WLDUSDT Jul 12
3b0c6b41037360f0cf0ae5f49e7a72c60200dc18804433a5db03c719953a048f
8873 LABUSDT Jul 12
69ad79f9161783060daf79057d5000e6afc5b977b04cbc012dc3f07a1da0ae4d
8874 SUIUSDT Jul 12
e7424bf7d317b27b710b2d7f91ab5d098c6097a2af7df3170c5082db6f83ec74
8875 BANKUSDT Jul 12
88cf1725ad1c89d47d357ce026c64a7bdb3eef4b907f57139abb6064dc97dd5d
8876 HUSDT Jul 12
c2a4292a2922246582c81f8dcba1913969b88ee7ae004903e3590546834ec2f6
8877 BLUAIUSDT Jul 12
c653ecc12c687d9971ed3b2fbb23b65ff66e0442159ad673cd16f11c5db9ba7c
8878 QUSDT Jul 12
a22963a5bcaa5cd4b69af994c3e9f5c2400579f3335486258fc40a036b578363
8879 SYRUPUSDT Jul 12
ff91758add70bc9f41cc34089fa88e6d8d89dd607ff23e7a171a09b1c6f0482d
8880 CLOUSDT Jul 12
2d88b8bacf3aa1ff2d05d8ff4c6f2b3b18ffaea304524db20e29b581e3b6b273
8881 ENAUSDT Jul 12
a7b55d3ae221e37a1d2b92fb6696b8c32aae22e450f5357e04c4c99efc53ad2f
8882 CHRUSDT Jul 12
b387ff42a51ccdf385e7e534da774da432fca0aa9fc64f0561dfd798df7533e5
8883 EIGENUSDT Jul 12
8a4e630dce4583dc1e620497f6391b1694e1f106c98b7afc3e306134a6c93502
8884 JUPUSDT Jul 12
1885d7dc6d59f44c5713cf574f7b0731c123ecac9ad2fe8fa6d358a3b8b7aa19
8885 SEIUSDT Jul 12
5814ac508fba8bf028b4e51f5a7c2dd97286aed1247cd100e43df4ae096e0e21
8886 JSTUSDT Jul 12
d91d6f92b8f8fc8068f2076ce70a4f4bed40d68d211588ccea4a24b4605c6c96
8887 BIOUSDT Jul 12
9e7e979e975ffe6606cea3e8b8e20f1d541173daabb0a289132ad494528ff102
8888 AIOUSDT Jul 11
dbbd8763c49c9d9fcb1a310f426f074beed7136de7ee5067fc0bb98a1a9986c2
8889 EDGEUSDT Jul 11
df336ae077b29a30797b31b60097d4f27b4c55ae878f0544f9f98d0ec000a884
8890 ALLOUSDT Jul 11
cc81ec281604936f9d08449db4bdaae863e65fa70c5e793652c3088c3130addd
8891 AEROUSDT Jul 11
10e3718bea7ebe3077ab2c8b274e68d0b0f23b70a148565979b47aa172f305e7
8892 FILUSDT Jul 11
c0db7617b7be6c4e79dd2bf262a7c9c8232ae17b13775ac182bf7133d1a018e6
8893 ARXUSDT Jul 11
2ef7ee0c64d146317679b6fed3f81be0e938594226724f01777b52f65a9a2e16
8894 TRXUSDT Jul 11
0498df0f5be21be26d82cebea8a08901b2cac021b900c59b3cad33f47e6a81db
8895 KAITOUSDT Jul 11
34b50622bff5af376adc9e56c5fc1b103f1e43a27044b89d266cb3f7dd57a34f
8896 ELSAUSDT Jul 11
ecc0d8a4a844b2943c6278b73becc21c1298b0126dab85fdaf75de45a6354e82
8897 PARTIUSDT Jul 11
35ee22d7a3dae3d6934fce863a2109379e503ba154a5d92a654a1f06bddef0d0
8898 ADAUSDT Jul 11
c916e6f76378b063c4aec7b82458e23dc4b9bc63b406ab92417421536283b444
8899 SYNUSDT Jul 11
ebe003b352dc03c4b1e46d26170ba70ec6dc739581486f506f49f7eb8bfe436f

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