Aqua0

API overview

Authentication, base URL, versioning, and the integration pattern for the Aqua0 REST API.

The Aqua0 REST API is the backend integration path. Use it when you are building server-side, running a custody wallet, or need direct control over transaction signing and submission. It is served over HTTPS, accepts and returns JSON, and is authenticated with an API key passed in a request header.

These endpoint pages are generated from the live spec at GET /openapi.json on the running API, synced automatically before every dev server start and production build — you're always looking at the current public surface, no manual step required. Admin, operator, and debug/internal routes are deliberately excluded from this spec; only the public integration surface below is shown. If the live API is briefly unreachable, the build falls back to the last-synced copy committed in this repo.

Base URL

https://api.aqua0.xyz

All endpoint paths below are relative to this base URL.

Authentication

Pass your API key in the X-API-Key header on every request. Internal admin routes additionally require basic auth.

curl https://api.aqua0.xyz/api/v1/swaps/quote \
  -H "X-API-Key: $AQUA0_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "tokenIn": "0x...", "tokenOut": "0x...", "amountIn": "1000000", "chainId": 84532 }'

A missing or invalid key returns 401 Unauthorized.

Versioning

Endpoints are grouped under two version prefixes:

  • /api/v1/* — SwapVM quote and prepare endpoints.
  • /api/v2/* — V4 JIT authorization and Shared Liquidity Pool (SLP) deposit/withdraw endpoints.

Integration pattern

  1. Quote — request an indicative quote for a swap (POST /api/v1/swaps/quote).
  2. Prepare — get the calldata to execute (POST /api/v1/swaps/prepare, or for V4 JIT, POST /api/v2/jit/authorize).
  3. Sign and submit — your application or the user's wallet signs and broadcasts the transaction. Aqua0 never holds private keys or takes custody.
  4. Track — poll status to completion. See Status & errors.

What Aqua0 does not do

  • It does not custody funds or hold private keys.
  • It does not broadcast transactions on your behalf for swaps; you submit the signed transaction.

Live networks

The API serves the live testnet deployments: Base Sepolia (84532) and Unichain Sepolia (1301). There is no mainnet deployment yet.

Vault endpoints — not yet published. The mainnet-beta vault (per-asset ERC-4626 vaults with ERC-7540 async redeem) is still in development on the contracts side; its REST endpoints (deposit, sync/async redeem, claim, withdrawability, pending-requests) will appear here automatically as a new vault tag the moment the backend ships them and they're synced from the live /openapi.json — no manual step needed on this side. Until then, see Async redeem semantics for the protocol-level semantics you should expect ahead of the concrete endpoint shapes.

On this page