1inch Swap
Use the authenticated MCP tool swap. Do not hand-build calldata for normal flows.
Recommended: connect the user's wallet first (WalletConnect)
Unless the user explicitly wants to sign with their own tooling (private key, cast, viem), offer WalletConnect before executing: pair via the walletconnect tool (see the 1inch-walletconnect skill), then call swap. With an active session, execute defaults to true — the tool handles approve txs, EIP-712 signing, submission, and native escrow sends through the connected wallet, and the user simply approves each prompt in their wallet app. No key handling, no manual signing steps.
- Set
execute: falseonly when the user wants unsigned calldata / typed data to sign elsewhere. - Set
execute: trueexplicitly to require a wallet session (errors if not connected).
Modes
- Classic — on-chain via aggregation router; user pays gas.
preferredType: "classic". - Fusion — gasless intent; resolvers fill.
preferredType: "fusion". - Cross-chain — set
dstChain;preferredType: "crosschain".
Approaches
- Wallet-first (recommended): connect via
walletconnect, then callswapwithsrc,dst,amount,chain,from(the connected wallet address). The user approves in their wallet. - Shortcut: call
swapdirectly. OmitpreferredTypeto let the server recommend, or set it explicitly. - Full flow:
quoteOnly: true→ compare quotes /recommended→ execute with chosenpreferredType. - Manual Fusion/cross-chain submit (no wallet session): after signing typed data locally, call again with
signedOrder+orderHash.
Flow guides (bundled references)
Load the reference for your flow before signing or broadcasting:
| Flow | Reference | MCP resource fallback |
|---|---|---|
| Quote | references/QUOTE.md | file://1inch-mcp/guides/swap/quote |
| Classic | references/CLASSIC.md | file://1inch-mcp/guides/swap/classic |
| Fusion | references/FUSION.md | file://1inch-mcp/guides/swap/fusion |
| Cross-chain | references/CROSSCHAIN.md | file://1inch-mcp/guides/swap/crosschain |
The references are the primary source (they work in every client). The MCP resource URIs serve the same content live for clients that read resources.
The manual signing snippets in the references (cast / Python / viem) are only needed without a WalletConnect session — with one, the tool executes through the connected wallet automatically.
Example prompts
- "Quote swapping 100 USDC to ETH on Base"
- "Swap 0.5 ETH to USDT on Arbitrum with Fusion"
- "Swap 100 USDC from Ethereum to Polygon"