Skip to main content

CoW Swap deeplinks: swaps and limit orders

Create prefilled CoW Swap trade links for swaps and limit orders. A link opens a form. It does not sign or place an order.

More link examples​

Query Parameters​

The default page is swap. The swap and limit pages accept amount and recipient parameters. Limit-order links also use orderKind to distinguish exact-sell and exact-buy orders. Unsupported parameters do not configure form settings.

Swap​

https://swap.cow.fi/#/<chainId>/swap/<sellTokenSymbolOrAddress>/<buyTokenSymbolOrAddress>?recipient=<recipient>&sellAmount=<sellAmount>&buyAmount=<buyAmount>

Limit​

https://swap.cow.fi/#/<chainId>/limit/<sellTokenSymbolOrAddress>/<buyTokenSymbolOrAddress>?recipient=<recipient>&sellAmount=<sellAmount>&buyAmount=<buyAmount>&orderKind=<sell|buy>

Global parameters​

ParameterTypeDefaultDescription
themeString(determined by browser)Sets theme to dark or light mode.

Swap / limit parameters​

note

The app accepts partial links and uses defaults for omitted fields. For a complete limit-order request, supply the chain, token pair, both amounts, and order kind.

ParameterTypeDefaultDescription
chainIdInteger1 - Ethereum MainnetSupported blockchains
sellTokenSymbolOrAddressToken symbol or addressWrapped native token symbol for the current network (for Mainnet: WETH)Sell token symbol or address
buyTokenSymbolOrAddressToken symbol or addressBuy token symbol or address
recipientaddressundefinedRecipient address or ENS name. URL-encode the value.
sellAmountInteger or FloatundefinedSell-token amount in human units
buyAmountInteger or FloatundefinedBuy-token amount in human units
orderKindsell or buysell when both amounts are suppliedFor limit orders: fixes the sell amount or buy amount, respectively.
caution

Only one of sellAmount or buyAmount can be set for the swap page. If both are set, only sellAmount will be used.

Wrapped native token

Each chain has a native token and it's wrapped version. Native tokens are needed to pay any applicable transaction fees.

Native and wrapped tokens per chain:

  • Ethereum Mainnet: WETH - wrapped ETH
  • Gnosis chain: WXDAI - wrapped XDAI
  • Arbitrum one: WETH - wrapped ETH
  • Base: WETH - wrapped ETH
  • Avalanche: WAVAX - wrapped AVAX
  • Polygon: WPOL - wrapped POL
  • BNB: WBNB - wrapped BNB
  • Linea: WETH - wrapped ETH
  • Plasma: WXPL - wrapped XPL
  • Ink: WETH - wrapped ETH
  • Sepolia: WETH - wrapped ETH

Build the URL​

The query parameters belong after the hash route. Ethereum mainnet uses chain ID 1. Gnosis Chain uses 100. Other chain IDs appear in the supported blockchain deployments.

sellAmount and buyAmount use human token units, not integer base units. For example, sellAmount=0.125 means 0.125 sell tokens, regardless of the token's decimal count. Use positive decimal amounts without thousands separators. For complete limit-order links, supply both amounts and an explicit orderKind.

RequestsellAmountbuyAmountorderKind
Sell an exact amountFixed sell amountMinimum receive amountsell
Buy an exact amountMaximum spend amountFixed buy amountbuy

With both amounts supplied, orderKind defaults to sell.

Convert the price into amounts​

Deeplinks accept token amounts, not a price. Convert the limit price into the minimum receive or maximum spend amount.

Exact-sell example​

Request: “On Ethereum, sell exactly 4 WETH for USDC at a minimum of 2,500 USDC per WETH.”

The minimum receive amount is 4 × 2500 = 10000 USDC.

Open the exact-sell limit order

Exact-buy example​

Request: “On Ethereum, buy exactly 4 WETH with USDC, paying at most 2,500 USDC per WETH.”

The maximum spend amount is 4 × 2500 = 10000 USDC. The sell token is USDC. The buy token is WETH.

Open the exact-buy limit order

If the price uses reverse units, divide the fixed amount by that price instead of multiplying. Preserve the requested precision and the minimum receive or maximum spend bound.

Expiry and partial fills​

The limit-order deeplink format does not support expiry or partial-fill settings. Parameters such as validTo and partiallyFillable do not configure these settings.

Configure expiry and partial-fill settings manually in CoW Swap.

Review and share​

Before signing, review the chain, token addresses, amounts, order kind, recipient, expiry, and partial-fill settings in the form. Opening a link does not guarantee that the requested fields applied or that the order will fill.

CoW Swap can remove amount and order-kind parameters from the address bar after it consumes them. Share the original generated URL to preserve the requested trade fields.

Tips for AI agents​

  • If the chain or price bound is missing, ask for it. Do not assume Ethereum or substitute a market quote.
  • If a token symbol is ambiguous, ask for its address or resolve it from reliable sources for the requested chain. Preserve supplied addresses and native or wrapped token choices.
  • If the request includes expiry or partial fills, explain that those settings require manual setup in CoW Swap. Do not invent URL parameters or claim the link applies those settings.