Aqua on MCP: Open a Maker Position

This guide opens a 1inch Aqua maker position from an AI client connected to the 1inch MCP server. You will learn how to:

  • read Aqua analytics
  • open a maker position
  • monitor and close the position

Every step gives a prompt you can type and describes what comes back. You do not need to write code or install an SDK.

For every action and parameter behind these prompts, see the aqua tool reference. For authentication and how the agentic loop works, see MCP server.

Prerequisites

  • The 1inch MCP server connected in your AI client. Supported clients covers the setup for Cursor, Claude, VS Code, Codex, Gemini CLI, JetBrains, ChatGPT and Grok.
  • Steps 1 to 5 need no 1inch Business account, API key or wallet.
  • Steps 6 to 12 need a wallet app you can pair by scanning a QR code, which most of them support. MetaMask, 1inch Wallet, Coinbase Wallet, Trust Wallet and Phantom are listed under supported wallets, and pairing never hands over your private key: each request is approved in the wallet.
  • That wallet has to hold both tokens on one of the supported Aqua chains, with enough native token for the approvals, the opening transaction and the closing transaction. A wallet opening its first position on a pair approves both tokens, so budget for two approvals.
  • No API key is required at any point. If your client is signed in with an API key or OAuth session, skip step 7: the wallet signature is only asked of a reader who opens a position without signing in.
  • The preview in step 8 is valid for about two minutes, so unlock your wallet before you start it.

The 1inch-aqua AI Skill is optional. It teaches the assistant this sequence in advance, so you can ask for the result instead of walking it through each step.

Aqua is non-custodial. The MCP server builds transactions and your wallet signs them, with every request approved in your wallet app. Your tokens stay in your wallet until a taker fills against your position.

Read Aqua analytics

Step 1: confirm Aqua is available

Ask the assistant which tools it can reach:

List the 1inch MCP tools you can call.

Aqua should appear in the list. If it does not, the client is holding an old session. Restart it and check the client's MCP log, as described in Troubleshooting.


Step 2: list open positions

Ask for the positions currently open on the chains you are interested in:

List the 20 most recent open 1inch Aqua positions on Ethereum and Base.

You get one entry per open position, with its chain, the maker who opened it, the pair of tokens it holds and the identifier the later steps refer to. Ask for the next page to keep reading, or leave the chains out of the prompt to see positions from every supported chain.

Token names and symbols come from the token contract, so they are chosen by whoever deployed the token. The server strips markup and flags content that reads like an instruction, but treat both as display labels rather than proof of what a token is. The address is the identity.


Step 3: get aggregate statistics for a maker

Ask for the totals across one maker address:

What are the TVL, fees and APY for Aqua maker 0xabc… on Ethereum and Base?

You get that address's total value locked, the fees it has accrued, its APY and how many of its positions are open and closed. This is the quickest way to check your own totals after step 10.


Step 4: identify a specific position

Ask for one maker's positions:

List that maker's open positions, 100 per page.

You get a page of positions, each with the identifier that singles it out, which Aqua calls a strategy hash. Note the one you want to work with, since the next step and steps 11 and 12 all refer to it.

A position and a strategy are the same object. The product calls it a position, while the contracts, SDK and API call it a strategy, which is why you will see "strategy" in identifiers and URLs. See the Aqua FAQ.


Step 5: read one position in detail

Ask for the state, history and volume of a single position:

Give me the current state of strategy 0xaaaa… on Ethereum, then its recent events and its daily volume.

You get three things: the position's current state, performance and token balances; a list of what has happened to it on-chain, such as opens, closes and swaps; and a volume series, which you can ask for by hour, day, month or year. Long histories arrive a page at a time, so ask for the next page to keep going.

Everything so far is read-only and uses no wallet. If you only need analytics, you can stop here.

Open a position

Opening a position needs no API key, but it does need a paired wallet: connect it, sign the 1inch Terms of Use once, then preview and confirm. A client that is signed in skips the signature and pairs a wallet as below.

The remaining steps spend real funds and pay gas. The amounts below are examples. Use an amount you are willing to hold in a live position.

Step 6: pair a wallet

Ask the assistant to connect your wallet:

Connect my wallet so you can open an Aqua position for me. I will scan the QR code.

You get a QR code, a pairing link and, on mobile, a deep link into one of the supported wallets. Scan or tap it, then approve the connection in your wallet. The assistant waits for you and reports the connected address once the wallet confirms.

Note the following at this step:

  • While the assistant reports the pairing as pending, nothing is wrong. It is waiting for you to approve.
  • The QR code expires after about 10 minutes. Ask for a fresh one if you step away.
  • If the connection drops partway through, ask the assistant to reconnect rather than starting the guide again. Your progress up to this point still stands.

For pairing behavior in each client, see Wallet pairing.


Step 7: sign the 1inch Terms of Use

Skip this step if your client is signed in with an API key or OAuth session. Otherwise, ask the assistant to accept the terms with the connected wallet:

Accept the 1inch Terms of Use with the connected wallet.

Your wallet shows one gas-free signature request. It is a signature rather than a transaction, so nothing moves and nothing is spent. You sign it once per wallet, and a wallet that has already signed goes straight through with no prompt. The document is the 1inch Terms of Use, which is separate from the 1inch Business Terms of Service you accept when you open a Business account.


Step 8: preview the position

Ask for a preview before you commit to anything. A preview costs nothing and signs nothing, so you can repeat it as often as you like:

Preview an Aqua position on Ethereum for my wallet with 1 WETH and 3000 USDC, 0.30% taker fee.

Four things are worth knowing when you write that prompt:

  • A position holds exactly two ERC-20 tokens. A native coin such as ETH is not accepted. Wrap it first, which is why the example uses WETH.
  • State amounts in whole tokens. The assistant converts them for you.
  • The taker fee runs from 0.01% to 5%. Leave it out and the position opens at 0.30%.
  • Say nothing about a price range for a position that quotes at any price. Concentrated price ranges covers the narrower kind.

Step 9: review the preview

The preview tells you what you are about to sign.

The preview reports What it means
The opening price Where the position starts quoting. Here, 3000 USDC per WETH.
The market price What the pair trades at elsewhere, and when that was read. Absent for a pair with no feed.
Advisories Notes on price deviation, fees and one-sided opens. None of them stop the position.
A one-sided open One leg is empty, or your range sits to one side of your price, so it opens at the near edge.
Approvals needed Tokens that Aqua cannot move yet, so your wallet will ask you to approve them.
Alternative pairs Other pairs your balances could fund, if the one you asked for does not work out.
How long it holds good About two minutes. After that, ask for a fresh preview.

The opening price follows from the amounts, not the reverse: a position opens at the ratio between its two legs, so 1 WETH against 3000 USDC opens at 3000 USDC per WETH. To open somewhere else, change the amounts and preview again. Asking for a price that disagrees with the amounts is refused rather than quietly re-priced.

Deviation advisories are graded: more than 1% away from the market price returns a warning, and more than 10% a strong caution. Neither stops the position opening. Opening far from the market means the first takers trade against you at your price, so read the deviation before you confirm.

A preview can also come back refused:

  • Not enough balance. Your wallet holds less than one of the two amounts. Nothing was approved and nothing was reserved, so top up and preview again.
  • No usable opening price. Neither your amounts nor the market produced one. State the price you want, or correct the amounts, then preview again.

Step 10: confirm and sign

Confirm the position you just previewed:

Open the position with those parameters.

Your wallet shows one approval request per token that needs one, then the request that opens the position. Approve each one. When they go through you get back the position's identifier, the transaction hash and a record of exactly what was opened: the opening price, the market price, the deviation between them, the range and the amounts. Keep the identifier, since steps 11 and 12 need it.

The approval is unlimited by design. In Aqua the allowance is the position's coverage: your tokens stay in your wallet and move only when a taker fills, and a leg grows as takers sell into it, so an approval capped at today's amount can under-back a later fill and stall the position. One approval per token per chain covers every position you open on that chain, and you can revoke it from your wallet whenever you want.

If the preview has gone stale by the time you confirm, because it expired, it was already used or something about it changed, nothing is opened. Preview again as in step 8 and confirm the new one.

Monitor and close

Your position is live from step 10 onwards. Step 11 reads it. Step 12 closes it, so that following this guide leaves nothing running. Skip it to leave the position open.

Step 11: monitor the position

Ask for the position's current state:

Show me the state and recent activity of the position you just opened.

You get the balance of each leg, the fees it has accrued and whether it is still quoting. A position that runs out of one token is never liquidated or paused on-chain. It stops filling until it is funded again.


Step 12: close the position

Ask the assistant to close it:

Close that Aqua position.

Your wallet shows one request. Approve it and you get back the transaction hash. Each request closes one position.

Closing is permanent. The position stops quoting and moves to Closed, and the same position cannot be reopened. Your tokens remain in your wallet throughout.

Repeat step 3 afterwards and the position shows up in the closed count.

Concentrated price ranges

A position can quote across any price, or only inside a band you choose. Say the band in your own units and the assistant works out the rest:

Preview the same position, but only quote between 2800 and 3200 USDC per WETH.

Ask it to show you the band it has worked out before you confirm, and check it against what you asked for. Aqua states prices in a raw on-chain form rather than the one you typed, so the conversion is worth a glance. Concentrated price ranges in the tool reference has the arithmetic if you want to check it yourself.

If the price implied by your amounts falls outside the band, the position opens one-sided, at whichever bound is nearer. The preview says so and does not stop you.

A band cannot be edited once the position is open. To move it, close the position and open a new one with the new bounds.

Opening a position this way builds the constant-product kind, where the two balances multiply to a constant and the price moves along that curve as takers trade. Both kinds above are that curve: at any price, or bounded by a band. Aqua's other strategy types, pegged and reward-bearing curves among them, are built with the Aqua SDK rather than from a prompt.

If a step fails

A refusal comes back in a form the assistant can act on, so most of these it can clear up without you. The table says what each one means for you.

What happened What to do
No wallet is connected Repeat step 6. If the session dropped, ask the assistant to reconnect.
The wallet does not match The address it tried to open for is not the one you paired. Use the connected wallet.
The Terms of Use are not signed Step 7 has not happened yet. Ask the assistant to run it.
Not enough balance One of the two amounts exceeds what you hold. Top up and preview again.
Your balances could not be read Nothing was approved. Try again shortly.
There is no preview to confirm Preview first, as in step 8, then confirm.
The preview has gone stale It expired, was already used or something changed. Preview again.
The preview did not come back A passing server-side problem. Try again shortly.
The wallet was rejected by screening Opening positions is not available for that address.
Your region is not served Opening positions is not available there. Analytics still work.

The Terms of Use row only comes up when you open a position without signing in. A signed-in client follows the organization path, where the account accepted the terms when it was set up, so the wallet is not asked to sign.

Problems at the client level, such as tools not loading, session limits or a QR code that will not render, are covered in Troubleshooting.

Not covered here

  • Taker actions. Quoting and swapping against someone else's position both need an API key or OAuth session. See the aqua tool reference.
  • Signing elsewhere. With an API key or OAuth session you can ask for the unsigned transaction and broadcast it yourself. The wallet-only path above always signs through WalletConnect.
  • Aqua endpoints the tool does not wrap. Reach them through the product_api tool, or see the Aqua API reference.
  • Headless makers. For keepers that broadcast through their own RPC, see Automate and agentic liquidity and the Aqua SDK.

Next steps

Did you find what you need?