MCP Server Tools Reference

The 1inch MCP server provides nine tools. Five execution tools require authentication; four public tools work without it. For the conceptual overview, see the MCP server page.

Authenticated tools (API key or OAuth)

These tools require authentication. Authenticate via an API key header or OAuth — see Authentication setup.

swap

Execute token swaps via 1inch. The server automatically finds the best rate across all available routes, handles token resolution, allowance checks, and transaction building — the agent only signs transactions where required. Supports same-chain and cross-chain swaps.

Parameter Type Required Description
src string Yes Source token (symbol or address)
dst string Yes Destination token (symbol or address)
amount string Yes Amount in smallest units
chain number Yes Chain ID
from string Yes Sender wallet address
quoteOnly boolean No If true, returns quotes without building a transaction
preferredType string No "classic", "fusion", or "crosschain" (omit to auto-route)
dstChain number No Destination chain ID (triggers cross-chain mode)
slippage number No Slippage tolerance in percent (default 0.5)
signedOrder string No Submit a previously signed Fusion/cross-chain order
orderHash string No Order hash for submission

Typical flow:

  1. Call swap with source/destination tokens and amount — the server finds the best rate automatically
  2. Sign the returned transaction (eth_sendTransaction) or typed data (eth_signTypedData_v4)
  3. For Fusion/cross-chain: call swap again with the signedOrder to submit

orderbook

Manage limit orders via the 1inch Orderbook API (v4.1). The server builds orders server-side using the Limit Order SDK — no SDK installation needed on the client.

Actions:

Action Description
build Server-side order construction. Returns EIP-712 typed data for signing
create Submit a signed order to the orderbook
list Query orders by maker address, order hash, or browse all with pagination
cancel Load order state and return on-chain cancellation guidance

Build parameters:

Parameter Type Required Description
action string Yes "build"
chain number Yes Chain ID
makerAsset string Yes Token to sell (symbol or address)
takerAsset string Yes Token to receive (symbol or address)
makingAmount string Yes Amount to sell (smallest units)
takingAmount string Yes Amount to receive (smallest units)
maker string Yes Maker wallet address
expirationSeconds number No Expiration in seconds (default 600)

Typical flow:

  1. Call orderbook with action: "build" and your order parameters
  2. Approve the maker asset for the Limit Order Protocol contract (address provided in the response)
  3. Sign the returned typedData with eth_signTypedData_v4
  4. Call orderbook with action: "create", passing orderHash, signature, and orderData from the build response

product_api

Call any 1inch Business product API endpoint using your authenticated session. This single tool provides access to all 1inch APIs: Portfolio, Spot Price, Token, Gas Price, Web3 RPC, Balance, NFT, Charts, Transaction Gateway, and every other endpoint available in the 1inch Business platform.

For Portfolio v5.0 through this gateway, use paths starting with /portfolio/portfolio/v5.0/... (the first /portfolio segment is stripped when routing to the Portfolio service).

Parameter Type Required Description
method string No "GET" or "POST" (default "GET")
path string Yes API path (e.g. /portfolio/portfolio/v5.0/general/current_value)
query object No Query parameters as key-value pairs
body object No Request body for POST requests

walletconnect

Pair a non-custodial wallet with the MCP session via WalletConnect v2 so the assistant can request signatures and submit on-chain transactions for the user. Supports EVM and Solana namespaces (depending on the wallet). The MCP server never sees private keys — the wallet app shows every signature / transaction request and the user approves it directly.

When to use it: any flow that needs a real signature or eth_sendTransaction driven by the assistant — for example completing a swap or sending an order on-chain — instead of pasting transaction data back into a wallet manually.

Parameter Type Required Description
action string Yes One of: "connect", "status", "sign", "send_transaction", "disconnect"
pairingTarget string No (only with connect) What to advertise in the pairing proposal: "eth" (default, EVM only), "solana", or "both". Many mobile wallets fail when EVM and Solana are proposed together
sessionTtlDays number No (only with connect) How long to persist the WalletConnect session (days). Server clamps to a per-deployment maximum (default 30, max 365)
method string Yes (only with sign) "personal_sign", "eth_signTypedData_v4", "solana_signMessage", or "solana_signTransaction"
params array Yes (only with sign) Exactly two items, shape depends on method (see below)
chainId number No (only with sign/personal_sign) EVM numeric chain id when signing
solanaChainId string No (only with sign Solana methods) CAIP-2 chain id, e.g. "solana:5eykt4UsFv8P8NJdT7ipf5EZiJUfk8tXwnUS2esLgDU". When omitted, the first Solana chain on the session is used
tx object Yes (only with send_transaction) EVM: { to, chainId, data?, value?, from? }. Solana: { chainId: "solana:…", serializedTransaction: "<base64>", from? }

sign params by method:

Method params shape
personal_sign [message: string, signerAddress: "0x…"]
eth_signTypedData_v4 [signerAddress: "0x…", typedDataJsonString]
solana_signMessage [message: string, signerPubkey: base58]
solana_signTransaction [serializedTransactionBase64, signerPubkey]

Typical flow:

  1. connect — call with action: "connect" (optionally pairingTarget: "solana" or "both"). The response contains a pairing QR (PNG resource link) and a wc: URI. Desktop / scan UX: the assistant fetches the QR via MCP resources/read and renders or opens the PNG. Mobile UX: the response includes mobileDeeplinks for curated wallets — tap one to open the wallet directly without scanning.
  2. User approves in the wallet. The wallet shows the connection request; the user picks accounts/chains and approves.
  3. status — call with action: "status" until kind: "session" is returned (or a clear error). kind: "pending" is a success state — keep polling.
  4. sign / send_transaction — drive the user's wallet for individual signatures or transactions. The user approves each request in their wallet app.
  5. disconnect — call with action: "disconnect" to end the session and clear server-side pairing state.

Idempotent connect: calling connect again while a pairing is still in progress with the same pairingTarget returns the same wc: URI. Changing pairingTarget starts a new proposal and invalidates the previous QR.

Supported wallets

The connect response includes mobileDeeplinks for these curated wallets so users on mobile can pair with one tap. Any WalletConnect v2-compatible wallet can also pair by scanning the QR or pasting the wc: URI:

Wallet Chains
MetaMask EVM
1inch Wallet EVM, Solana
Coinbase Wallet EVM, Solana
Trust Wallet EVM, Solana
Phantom EVM, Solana
Solflare Solana

Error states

The tool returns a structured JSON error with kind: "error" and a code so the assistant can react:

code Meaning
not_connected No active WalletConnect session — call connect first
invalid_request Malformed input or wrong field for the chosen action (e.g. chainId on a Solana sign)
solana_namespace_not_available Active session does not include Solana — reconnect with pairingTarget: "solana" or "both" and approve Solana in the wallet
relay_* Transient WalletConnect relay error — retry, or guide the user to reconnect

debug

Debug production issues by looking up request logs. Provide a correlation id (x-request-id from any API response) to trace a specific request, or specify a time window to retrieve all logs for your account.

Parameter Type Required Description
requestId string No* x-request-id (or correlation id) from API responses. When set, searches logs for this value; optional startTime / endTime narrow the window (defaults to the last 24 hours ending at endTime or now).
startTime string No* RFC3339 start of the query window (required with endTime when requestId is omitted).
endTime string No RFC3339 end of the query window.
logLevel string No Filter by log level: "info", "warn", or "error". Omit to return all levels. Only applies to time-window mode (ignored when requestId is set).
limit number No Max log lines (1–100, default 50).

*Provide requestId, or both startTime and endTime, to list all logs in that window (when requestId is omitted).

Log retention: the time window you can query depends on the log retention period of your subscription plan.

Response shape: JSON with mode (request_id or logs), timeRange (start / end in RFC3339), count, and logs (array of entries). Each entry includes timestamp, message, and optional level and HTTP status code.

Public tools (no authentication required)

aqua

Read-only analytics for 1inch Aqua, the programmable shared-liquidity layer. Query maker performance, browse strategies, and pull per-strategy state, on-chain events, and volume series — without installing the Aqua SDK or hand-writing REST calls. The tool never builds or sends transactions.

Actions:

Action Description
maker_stats Aggregated TVL, fees, APY, and strategy counts for one maker
list_maker_strategies Paginated list of a maker's strategies, filterable by chain and lifecycle status
strategy_overview Current state, performance, and token balances of a single strategy
strategy_activity Paginated on-chain events (opens, closes, swaps) for a single strategy
strategy_volume Time-bucketed volume series for a single strategy
list_opened Cross-chain feed of currently open strategies, optionally filtered by app contract

Required parameters per action:

Action Required
maker_stats address
list_maker_strategies address
strategy_overview chainId, maker, app, strategyHash
strategy_activity chainId, maker, app, strategyHash
strategy_volume chainId, maker, app, strategyHash
list_opened none

Parameters:

Parameter Type Required Description
action string Yes One of the six actions above
address string No* Maker EVM address (maker_stats, list_maker_strategies)
chainId number or array No* Single chain ID for the strategy_* actions. An array of chain IDs filters maker_stats, list_maker_strategies, and list_opened — omit it to include all supported chains
maker string No* Maker EVM address (strategy_* actions)
app string No* App contract address. Required by the strategy_* actions; optional filter for list_opened
strategyHash string No* Strategy hash, 0x-prefixed 32 bytes (strategy_* actions)
status array No Lifecycle filter for list_maker_strategies: ["open"], ["closed"], or both. Default ["open"]
limit number No Page size. Max 500 for list_maker_strategies and strategy_activity (default 100), 100 for strategy_volume (default 10), 1000 for list_opened (default 100)
cursor string No Opaque pagination cursor returned by a previous response
sort string No "asc" or "desc" (default "desc") for strategy_activity, strategy_volume, and list_opened
granularity string No Volume bucket size for strategy_volume: "1h", "1d" (default), "1m", or "1y"

*Required for the actions named in the description — see the table above.

Typical flow:

  1. Get your bearings with list_opened (system-wide) or maker_stats (a single maker)
  2. Call list_maker_strategies to obtain the chainId / maker / app / strategyHash combination that identifies each strategy
  3. Drill into one strategy with strategy_overview (state), strategy_activity (events), or strategy_volume (series)
  4. Page through large result sets by passing the returned cursor back in the next call

Availability: Aqua access is environment- and plan-gated. If a call returns 404, check the maker, app, strategy hash, and chain, then confirm Aqua is enabled for your account. For raw access to any Aqua endpoint, use product_api with a path under /aqua/v1.0/strategies/... (that route requires authentication).

Search across all 1inch documentation, API references, and SDK guides. Returns matching results with titles, snippets, and links.

Parameter Type Required Description
query string Yes Search query
limit number No Results per page (1–100)
page number No Page number (1-based)
include_body boolean No Include full document body in results

list_examples

List all available SDK code examples. Returns example names that can be used with the get_example tool. No parameters required.

Currently available examples:

  • @1inch-examples/intent-swap — Intent/Fusion swaps for EVM and Solana
  • @1inch-examples/limit-order — Limit orders for EVM chains
  • @1inch-examples/cross-chain-swap — Cross-chain swaps (Fusion+)

get_example

Retrieve the full source code of an SDK example.

Parameter Type Required Description
name string Yes Example name from list_examples
file string No Specific file path (omit to get all files)

Did you find what you need?