Contract Addresses

Status note (2026-07-29). The announced vanity-address redeployment is live: the canonical registry is now 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a and the canonical router 0x111111338c5091e8440b67b168bae16a668ac0de. The previous 2026-07-16 addresses (0xe8026b…139b / 0x016b41…b070) are superseded and moved to the historical list below. The 1inch Aqua learn pages, the Aqua API, and the current SDK releases (@1inch/aqua-sdk 0.3.0, @1inch/swap-vm-sdk 0.4.0) all carry the vanity addresses.

1inch Aqua is deployed on 13 EVM chains. Each core contract holds the same address on every chain. The vanity addresses are created through a deployer factory (Ethereum: factory 0x71481C3B9C6FBa3066AE84961EA22378A80cabe7, deploy method, from EOA 0x0BD61d605C64A857C3D94779aEf7cA295702b3A2 — per the creation transactions on Blockscout); a shared address is an operational convention and does not by itself prove identical bytecode or constructor arguments. Verify each address on-chain per chain before integrating. The addresses below are the current production deployments.

2026-07 vanity redeployment. The registry was redeployed to 0x1111113ccf…a90a on 2026-07-19 and the router to 0x111111338c…c0de on 2026-07-26 (Ethereum dates; per-chain creation blocks differ). The current router is built from the 1inch/swap-vm v1.0.2 git tag (cut 2026-07-26), which adds best-effort protocol-fee collection and the ProtocolFeeSkipped event; its verified constructor binds it to the vanity registry, and both contracts report owner 0x4134e66d52EfC4C77DD8Ccc952D87b9E92E0C352 (verified on-chain on Ethereum). A first vanity router (0x1111113db0…c0de, 2026-07-19) was superseded a week later by the current one.

2026-07-16 universal redeployment (superseded). Aqua was first redeployed on all chains so the registry held one universal address everywhere (previously Robinhood Chain carried a different, CREATE3-deployed registry); that generation used plain CREATE from the nonce-synchronized deployer EOA 0x72B4736F6e482DB07C4F3d7d3b90A24b2FedBe7a. Because the SwapVM router and the 1inch aggregation executors depend on the registry address, they were redeployed together with it; the router version moved from v1.0.1 to v1.0.2. The KycNFT credential was not redeployed and is unchanged through both redeployments. Superseded registries and routers remain live on-chain: strategies shipped against them stay active there until the maker docks and re-ships on the current deployment.

These contracts are audited but new. Audits reduce, but do not eliminate, smart-contract risk. Aqua is self-custodial: tokens stay in the maker's wallet under a revocable, per-chain, per-token allowance, and the protocol holds no tokens.

Core contracts

Contract Role Address
Aqua (registry) Balance accounting and strategy registry (deployed on-chain under the name AquaRouter; Aqua core plus Simulator, Multicall, and Rescuable) 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a
AquaSwapVMRouter (SwapVM router, v1.0.2) The deployed SwapVM swap engine router (KYC-capable), deployed 2026-07-26 from the v1.0.2 tag 0x111111338c5091e8440b67b168bae16a668ac0de
KycNFT Taker access credential (symbol RES; reuses the Fusion KycNFT.sol design). Unchanged by the 2026-07 redeployments 0x26FFc7D378E8e49Be2c483295A3e3E511F96a468

Each contract uses one shared address across all 13 chains, including the KycNFT credential.


Aqua (registry)

The registry handles balance accounting and holds the immutable strategy records created by ship(). It is deployed on-chain under the name AquaRouter; in these docs it is referred to as Aqua, or the Aqua registry, and it is not a swap router. It exposes no EIP-712/ERC-5267 signing domain (eip712Domain() reverts) — typed-data signing happens only against the router. Address 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a, identical on every chain (deployed 2026-07-19 on Ethereum, block 25567141; same bytecode as the superseded 0xe8026b…139b registry).

Chain Contract address Explorer
Ethereum Mainnet 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a View
Optimism 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a View
BNB Chain 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a View
Gnosis 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a View
Unichain 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a View
Polygon 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a View
Sonic 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a View
zkSync Era 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a View
Robinhood Chain 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a View
Base 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a View
Arbitrum 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a View
Avalanche 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a View
Linea 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a View

AquaSwapVMRouter (SwapVM router, v1.0.2)

AquaSwapVMRouter is the deployed SwapVM router (the AquaApp) that executes swaps against strategies registered on Aqua. A single router serves all three strategy types (xyc, concentrated, and pegged); the strategy type is set by the instruction program inside the strategy bytes, not by the app address. Address 0x111111338c5091e8440b67b168bae16a668ac0de, identical on every chain (deployed 2026-07-26 on Ethereum, block 25618917).

The router's constructor binds it to the current registry — AQUA() = 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a — and its EIP-712 domain is name 1inch SwapVM v1.0, version 1.0.2 (both verified on-chain on Ethereum via AQUA() and eip712Domain()). This build matches the 1inch/swap-vm v1.0.2 git tag (cut 2026-07-26): relative to v1.0.1 it changes only src/instructions/Fee.sol, adding best-effort protocol-fee collection and the ProtocolFeeSkipped event (present in the Blockscout-verified deployed source). Do not derive its behaviour or opcode table from the undeployed main branch.

Chain Contract address Explorer
Ethereum Mainnet 0x111111338c5091e8440b67b168bae16a668ac0de View
Optimism 0x111111338c5091e8440b67b168bae16a668ac0de View
BNB Chain 0x111111338c5091e8440b67b168bae16a668ac0de View
Gnosis 0x111111338c5091e8440b67b168bae16a668ac0de View
Unichain 0x111111338c5091e8440b67b168bae16a668ac0de View
Polygon 0x111111338c5091e8440b67b168bae16a668ac0de View
Sonic 0x111111338c5091e8440b67b168bae16a668ac0de View
zkSync Era 0x111111338c5091e8440b67b168bae16a668ac0de View
Robinhood Chain 0x111111338c5091e8440b67b168bae16a668ac0de View
Base 0x111111338c5091e8440b67b168bae16a668ac0de View
Arbitrum 0x111111338c5091e8440b67b168bae16a668ac0de View
Avalanche 0x111111338c5091e8440b67b168bae16a668ac0de View
Linea 0x111111338c5091e8440b67b168bae16a668ac0de View

Historical and superseded addresses (decoding only)

The addresses below are retained only for decoding historical transactions. Do not use them as current deployments. Strategies shipped against a superseded registry or router remain active on that deployment until the maker docks; decode their history against these addresses, but never route new orders to them.

  • 0xe8026bf31e58b738647319362581ab11be92139b: the universal Aqua registry from the 2026-07-16 redeployment; superseded 2026-07-19 by the canonical vanity registry 0x1111113ccf…a90a.
  • 0x016b417bc933370f5eacc40b1d58b015ac72b070: AquaSwapVMRouter v1.0.2 from the 2026-07-16 redeployment (v1.0.1 tag source recompiled with new constructor args), bound to 0xe8026b…139b; superseded by the canonical vanity router 0x111111338c…c0de.
  • 0x1111113db0e0ef9d0e3a50d5f094a3a57a26c0de: the first vanity AquaSwapVMRouter (deployed 2026-07-19); superseded 2026-07-26 by the current router 0x111111338c…c0de.
  • 0x4a055aa172c98ec32de118b9b5b6ac8b4099a580: the Aqua registry on the original 12 chains until 2026-07-16; superseded by the universal registry 0xe8026b…139b, in turn superseded by the vanity registry.
  • 0x3c4758979ec30ca45857cabc2462a70699ed790e: AquaSwapVMRouter v1.0.1 (deployed 2026-06-16, KYC-capable), bound to the superseded registry 0x4a055a…a580; replaced on 2026-07-16.
  • 0x7c2d4aa5c900c08004fadb1c0d953c5b099fec86: the Robinhood-only Aqua registry (CREATE3, deployed 2026-06-10); superseded by the universal registry.
  • 0xa5368dd669c5706256cf417b66e71a1efe1d331a: the Robinhood-only SwapVM router (CREATE3, deployed 2026-06-10); superseded by the universal router.
  • 0xdfd05fe230bfe7b212878414270c72c8345506fa: earlier SwapVM router (deployed 2026-03-27) with no KYC opcode.
  • 0x8fdd04dbf6111437b44bbca99c28882434e0958f: a stale 28-opcode router that appeared in the 1inch/swap-vm README (a calling program that reaches instruction index 32 reverts out-of-bounds).
  • 0x499943e74fb0ce105688beee8ef2abec5d936d31: a pre-deployment placeholder that appeared in earlier drafts of this page; it was never a production deployment.

Supported networks

Aqua's deployed-contract footprint is exactly 13 EVM chains, with the same address per contract on each.

Network Chain ID
Ethereum Mainnet 1
Optimism 10
BNB Chain 56
Gnosis 100
Unichain 130
Polygon 137
Sonic 146
zkSync Era 324
Robinhood Chain 4663
Base 8453
Arbitrum 42161
Avalanche 43114
Linea 59144

Robinhood Chain (4663) joined the Aqua chain set with the 2026-07-16 redeployment; it previously carried a different registry address and was excluded. See Supported chains.

Testnet: the vanity registry is also live at the same address on Sepolia (chain ID 11155111); as of 2026-07-29 the vanity router is not yet deployed there (the 2026-07-16-generation contracts remain available on Sepolia for testing). Sepolia is not part of the production Aqua chain set — re-verify testnet addresses on-chain before use.


Verified addresses and stale references

Both public repo READMEs are still stale (re-checked 2026-07-29: the 1inch/swap-vm README shows the old 0x8fdd04…958f build and the 1inch/aqua README a placeholder plus the old Robinhood registry) — do not cite them. The current SDK releases are now correct: @1inch/aqua-sdk 0.3.0 and @1inch/swap-vm-sdk 0.4.0 carry the canonical vanity addresses in AQUA_CONTRACT_ADDRESSES / AQUA_SWAP_VM_CONTRACT_ADDRESSES for all chains. Earlier releases (0.1.1 / 0.2.2) still return superseded addresses — upgrade before relying on SDK constants.

Canonical: registry Aqua 0x1111113ccf1426a8e30e2bff5e005d929bf6a90a, router AquaSwapVMRouter v1.0.2 0x111111338c5091e8440b67b168bae16a668ac0de, KycNFT 0x26FFc7D378E8e49Be2c483295A3e3E511F96a468 — identical across the 13 Aqua chains. Both vanity contracts are source-verified on Ethereum (Blockscout, contract names AquaRouter / AquaSwapVMRouter); verify per chain before integrating. See Verified contracts and Supported chains.

Did you find what you need?