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

20800 ONDOUSDT Apr 23
97b638a70f436b861f33d357d63a0aa19bf2dc633d0598c036b9a2cd3392574e
20801 HYPEUSDT Apr 22
fa3d388e527dfcc3abf1ce250ab21b1c8b19f860888163b9de13cfe4b5b55ebf
20802 AAVEUSDT Apr 22
7c37b4bd1ed9608d096977cc537ad24575a4e13b5d7bfec413c0d3ee11b421e2
20803 CHZUSDT Apr 21
95a05be772abb45a63ab55475933d3927d1541fc6ed79d5876b2b07027ba9d42
20804 TIAUSDT Apr 21
1fa83044f123ba4e229484856e6461143f4b5891c5f8b93ea1eef717fc10e90c
20805 ARBUSDT Apr 21
4d8353e4f5b886202833f2b00765eda043355662f546b5013f344ac835c8417b
20806 XLMUSDT Apr 20
37acf4699f840adb62b9a527dc798f1bc4bb2c8006b29b23ff4fed88c4fd3a21
20807 AAVEUSDT Apr 20
ae92d962013e4101fe5b7f906b8c7923f21b979d292815a8541c5fc1b360d852
20808 MNTUSDT Apr 19
1c3653db6eef4675d373b0ca5e61b7b1f7d83499b39a0209fb353cb2228c0a4f
20809 ALGOUSDT Apr 18
f91e0c4c14c9cbbac1edd096c2d10cd4d44886649d174bd7a09ad664127092d8
20810 ARBUSDT Apr 17
6106c3b1e74979d5a5131b451e536812548591963aab826a92c18f60f3bc38ce
20811 ARBUSDT Apr 16
984c42dcfd128f1b66af7bf18338f2cc92e3820fa4e56144b4935d3cd91e1389
20812 DOTUSDT Apr 16
88ab3afa182d07e84d745c23ebc85e2c3fa90943779cc913467681ecdf006c59
20813 ARBUSDT Apr 15
7e1256fde29f820066e4b51308e157bbcfa6a75df9d806786c83dba2199741f1
20814 HYPEUSDT Apr 15
f21c20e553f9884e1b87c3f72995cfd5b3c0406f8b88a410e551f969c37cf113
20815 DOTUSDT Apr 14
b6f72fd46cdb13a02769c38ef3adbceadee4baa9c1ee5bbd89d31041b084b75b
20816 HYPEUSDT Apr 14
679a2c10b1626d9b5554c7b215f5664c9f613932dc33900856ee5e8358bee0b6
20817 ETHUSDT Apr 14
b9c59be9ca3fd46cc8b05fce1308d73940a43e5a8929d7d89fada5e3a5eaddd0
20818 UNIUSDT Apr 13
8c9045aa21bd9c6e0c38182d0206d9c6d34275636920e13f89a397a491b2d08f
20819 ZECUSDT Apr 13
a2189bd30814b0e378e7bb4fd2b9e4beab240478b3534c585eb3b0e3a04ff108
20820 APTUSDT Apr 13
ec7a55b8185ff062d62f53af168cf1e69b33193e9829edae4eb04c4ec520b7a1
20821 DOTUSDT Apr 13
4339d470e64b06d8f8d9b7a2468a92572b9a96efb84fe5a4d35a2c96705e21c6
20822 ZECUSDT Apr 13
c1fc4d96602c49658b6dd952924fcb7e5f0f0a5703979ee1b5c1f8d25ffb0564
20823 ZECUSDT Apr 13
876397f31bb9a9a51053207af1cd745c834b63c15a68e2f7d529c9133b141f20
20824 DASHUSDT Apr 12
bf9d5c8fb14f818082286559a5258a953f31155bc13bb7a9be6719cca80a899a
20825 ADAUSDT Apr 12
f537f3f8c9aa98ff50400766f6899846f079551723cc534cee2a0c683bde5db4
20826 DASHUSDT Apr 11
9f22cac37576b7bbe2af8b3f26b887613af126172f84e6f3a8e1c23acc1b8c5c
20827 ZECUSDT Apr 10
81c900b83cd624505a4c41192c1cd519f53d5ad47f952ca82133c396e9a5bfcb
20828 HYPEUSDT Apr 9
ec20c08f5fa579756b97b0c7ba97f3e8c8188743753942f50006673e7d60b7ad
20829 HBARUSDT Apr 9
c7aec911605842a54a79434200475ee1e4c0ac7861dfa8ac3ed9ea6a54bdd4ed
20830 UNIUSDT Apr 9
39070b06346a0cfef0f4ec9985b6e952b5e879375b69ca7058549fd8d35af95e
20831 ONDOUSDT Apr 9
5ce06cddea70c7a0d1994c0b178edbc914669eae61c716eb0485f9f904ce9315
20832 APTUSDT Apr 9
bf2b155d6bb7c0632c015e94954de6261676ac1e1c0f59eb1d6bd0837cfe9697
20833 AAVEUSDT Apr 8
ee2fd4254625ded5c1c41c250789d9d773b6cc594c7c13fb08e93dd97cf59d0c
20834 ETHUSDT Apr 8
567611c7e279667cef8c9fe429aaf478f933e4816dc65bb591148926c9e408b0
20835 HYPEUSDT Apr 8
71967b106e18b5ef1f7f1f28f9026035eed95acd5130f08a9f62fc46e7176cbb
20836 NEARUSDT Apr 8
c6712c3deeb541179775b15551f4cd6fe615252b6e53f58446f37e69ecfeefe3
20837 RENDERUSDT Apr 8
f7bc92010ed1bb8688255cee1d865ab1ccef908c19290c72a00be020bf91793a
20838 ZECUSDT Apr 8
8ae6dcf65c2ba7581c124a681484f905adb69e46eed01b186e2396e031973491
20839 AVAXUSDT Apr 7
e7b04bd8ff78ba1d0fc9463a43fed7e3369bf30d594ed67aca68909e96e591a6
20840 ZECUSDT Apr 7
d82ac72639c7a003716fd16569035b571f36e123c8114cfa4afaa2698fbb32d7
20841 DOTUSDT Apr 7
e76e6114efeec20888b592f4f18e7df90669497f202f9a4477b305db83b48f99
20842 ONDOUSDT Apr 7
ab010c6c845d5e5509adb5e5672ec74e8444c2435eeeca63540ac2de3a9c460a
20843 AAVEUSDT Apr 7
326edae287afaaa0850a7d03cb59019a0b2fe4dff2e3ff5fb39b907c621a3333
20844 RENDERUSDT Apr 7
2bd22df2169a5cf2e2e73b0aa9a6db83716ca6e68c93cc03cd2429998cfb6a75
20845 IMXUSDT Apr 6
b4cadc7980fc22d2f6c69cc7784223d63ecb1dfa52b684068a2558655f1a19d7
20846 ENAUSDT Apr 6
e56c2f891befc7e33808f82616d79c8bd5e39864ec177cd3e2a8cffd62451ae0
20847 RENDERUSDT Apr 6
0bd2a2a920406782fc705a6191aaddb654bbd5b8311f4041e89cfb7ac83147eb
20848 XMRUSDT Apr 5
5f78813e828ed9e1fc46ef86ce897301eed9cb654f7646bdd0a8b7cbbfd0fadd
20849 XMRUSDT Apr 4
b791b75606ef6bd849fd3ff287f8cd87b3420962304ffd2f3e170715b307dc37
20850 NEARUSDT Apr 3
5d51e82c6b80a755528618cab520fe4afa9e2e69797864bb2516308dbf1927b6
20851 AVAXUSDT Apr 3
1e9a7949735376f58f181c4f20e0f4e109ec63eb4a7e51651733c49a1b82f0ff
20852 RENDERUSDT Apr 3
fe9295404838bc968e42c2a4e721333867f446e4365573de30d87092d76f52c8
20853 ALGOUSDT Apr 3
983c07283a3f7137d1b5653d32f8cb7589534c700aba6077e8a8cdbb8b071f3f
20854 IMXUSDT Apr 3
c5a11a742c6ff384b15b1e2b269dc2722abb9a089ac7f4badaad772236b957bf
20855 INJUSDT Apr 2
c6e869d0dd178ccb41fac91846515c489b93c05b786e293144e9b29a63cb8c06
20856 STXUSDT Apr 2
e2827584742c0eec5a0709ebd6150490f28eaa379b57be34b73ae7e8e3449d23
20857 UNIUSDT Apr 2
e28753219e89db40a42e70cc734a89f39045808eb00d20f9416cb6cad41a1cde
20858 DOTUSDT Apr 2
238ec901800745a602a371de01086a7139641ccd9df669ee5ee1e97755e0bc04
20859 AAVEUSDT Apr 2
13b9a04d1aa27029580ef4d32261bf5b93d1cf7a236ded604d73310628236768
20860 ATOMUSDT Apr 2
f5e72923b98ea58858baa1205c9ee4dde3e695ce5e6b51c3bde81166dfb45675
20861 ETHUSDT Apr 1
fb60a2d5ce1db196837d363158d52de36e4a355a470b1b9979f8cc828bbb26ea
20862 CLOUSDT Apr 1
f3e5d8c13d510c42528102cddc344aa5eeacda39fdc235fc587e571ed0923306
20863 ADAUSDT Apr 1
0e12ea34ac4621edf94ee534d66f6ce757243b96c10598345408a154102cd5ac
20864 SEIUSDT Apr 1
2735489d9247b295c8a2fe138cf7fd820993bfb0fd1358bd725724d4011621a8
20865 ALGOUSDT Apr 1
c139ddc08a3043485ffa82f8a172b4bae3468152acd321422c3fdb497c055553
20866 ALGOUSDT Apr 1
7d5a178466365109acb064dad06e4f43362604f4c5a77c7f26196f2d045e3920
20867 HBARUSDT Apr 1
c2a11a41cb510a1e5922ad9963b850be0e25eb34f45f2a8ca79e2d4616e08838
20868 ADAUSDT Mar 31
09f3c56a2ff5ffbe1f2812c138246f269f7773aa309228348f392dbb12fb67e2
20869 SEIUSDT Mar 31
8464da09fc47d9381fbd14b733d4fed9d4bba3299c58de9477eab4e161e91229
20870 SOLUSDT Mar 31
ea54dc3ecd2da410589a3384a97678380963ac7cbe1d5baf3a1890642810a678
20871 RENDERUSDT Mar 31
6c94da863f878027c68d70944a9bcd686296b4213cf0009a596e3fc5594328a5
20872 XRPUSDT Mar 31
984c47600f798bc78662579939fc07233c19e30d014205d59f3925bb3273616d
20873 HBARUSDT Mar 31
5f397a4bf652114987a9f62409eb1a3ece393b46644463880f0e1fa9636c1725
20874 INJUSDT Mar 30
89eb2fddd7410589c4278cb7245224d0e5f98d5206b97ac2a58cf83d5310beda
20875 FILUSDT Mar 30
258de920b47205616bfab910037fdf7b46769136f70c9b55149a5e95b61cba26
20876 ARBUSDT Mar 30
a8f98b553358c525ff2a5ed3bd13f82bdf8f2a266f6573264e30205165f087b7
20877 INJUSDT Mar 30
4ff7fc4f570bd5246bcb4633be32da85d3d90d466b13b6436e0a1bd69502336c
20878 ETCUSDT Mar 30
ee6166c264d1a430a17ba572754fd13fe2ce5ed72a21dbc72c36c0b682714578
20879 HYPEUSDT Mar 29
f86678dfffa1b7b12f44b1afb1870c7cd3f4d5a5fe7e0db5d0ca44c973c8c9a9
20880 ADAUSDT Mar 29
1a43a33546fbb719f4a48af29a6461cbd244adde7a3ea2c95bca8a81f75b4c46
20881 ATOMUSDT Mar 29
85af8297e72f7d650cb193a38ced3754b921c15da2f6d917d1fb641db8e3fa75
20882 INJUSDT Mar 29
51bf5a6d13dfc7924b769545da78cf372f3abacd002b8076e4f74fd87f299d25
20883 STXUSDT Mar 29
6843b0984afefe5f405270633f65ff4707711546f8b07e1a2e7ad5a453e90caf
20884 HYPEUSDT Mar 28
b6601e13dd75b553f7b27d194033d137f2a21e2d98574351bdbcda375b7088b3
20885 TONUSDT Mar 28
5d1d05b1bea48c568f669b45c076eb308ecd67cfa7cd78bf6d78ab3459791293
20886 DOGEUSDT Mar 28
243c5fb3abd4a03e5bb757dd29f7cc5727f2c17da772cff6ca106f6b1058de66
20887 ARBUSDT Mar 28
032209c3e982dcc4cf281b4589d82637337209339be938f8e917ae766e276aa6
20888 ONDOUSDT Mar 28
43d1dce3a0571866a3cd0e021d586752a7b0e86a8e8e970ad02d1a19a3d53abf
20889 TAOUSDT Mar 27
04c652efb3db38c003addc97d84a9a067ec8c79b55d9f4f904e91677d7c9cd63
20890 RENDERUSDT Mar 27
3d6055d5f80666799833a7ce8e50143101414fa9befa64b07b3dac4893f8d087
20891 ENAUSDT Mar 27
8f9155306b415b66f0c7456c8d1144174551e7c75dca39adaa5786dc7335b84e
20892 SEIUSDT Mar 27
408971b6c1d781d73773c9cba2c2bf4e507ec442284c52394bf1a4e1a7665d5a
20893 ONDOUSDT Mar 27
6ad012b0cf30427248e83f0b68cf60526024c5d7b9bd0e6a153c425b9a2c1cfb
20894 ZECUSDT Mar 26
81eb0c302434bcccbc240e53847ebd7be3a09a027bf17e19688fafaf19d80d83
20895 RENDERUSDT Mar 26
e61292d69cfd7f933acea3c5c749249f39d9c2d3688cd53b5baa605fcc7bc9f7
20896 AAVEUSDT Mar 26
7ec9ae394b66cb233da60e80544a1a04aa46df2c90e5e4b0d2604a2773da061d
20897 SOLUSDT Mar 26
5052da1363aba3e948f8c614f4539935e827cb4b2385a28a8547d99732140344
20898 APTUSDT Mar 26
edb3ad3e0e5be1910bfcb773270b18dce5cd7b375da9f79899d4e4de394755b4
20899 TRXUSDT Mar 26
93d5edb7cf629a3ddfe10eefc7b35bb42168ea6a4e98df8e9fd505cf3f2773c3

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