← Protocols
SushiSwap
Swap / DEX·EVM · Ethereum · Arbitrum · Base · Optimism · Polygon · BNB Chain · Avalanche · Linea · Scroll · Blast

SushiSwap

01Description

Multi-chain DEX deployed on 35+ EVM chains. Combines a v2 AMM and v3 concentrated liquidity with the Route Processor — an in-house aggregator that routes across SushiSwap pools and external liquidity sources. SushiXSwap layers cross-chain swaps on top via Stargate / LayerZero / Axelar.

02Best for
  • 01multi-chain EVM token swaps
  • 02v2 + v3 LPing across many chains
  • 03aggregated routing via Route Processor
  • 04cross-chain swaps via SushiXSwap
  • 05long-tail token coverage
03Install
  • pnpm add sushi @sushiswap/sdk viem
04Environment variables
VariableScopeDescription
NEXT_PUBLIC_SUSHI_API_KEYClientOptional API key for the hosted Sushi swap API (api.sushi.com). Public endpoints are usable without a key but are rate-limited.
05Prompt snippet
Use SushiSwap for swaps and LPing across EVM chains. Prefer the hosted swap API (`GET https://api.sushi.com/swap/v5/{chainId}?tokenIn=&tokenOut=&amount=&maxSlippage=&sender=`) which returns calldata, route, and a `tx` object — sign and send `tx` via viem `walletClient.sendTransaction`. The contract path is the `RouteProcessor4` deployment per chain; encode routes with the `sushi` package's `Router.findBestRoute(...)` and `RouteProcessor.encode(...)`. v3 pools follow Uniswap-v3 semantics (`(token0, token1, fee)`, `QuoterV2`) and v2 pools follow UniswapV2; `SushiXSwap2` handles cross-chain via Stargate/LayerZero with a single `swapAndBridge` call.
06Gotchas
  • RouteProcessor address differs per chain and per version (v3, v4) — always fetch the current address from the API response or `sushi/config`, never hardcode.
  • The hosted API enforces a `maxSlippage` parameter; passing 0 or omitting it makes the API reject the request — use a sensible default like 0.005 (0.5%).
  • v3 pools have the same fee tiers as Uniswap v3 (100/500/3000/10000) but liquidity depth varies dramatically by chain; on smaller chains, the Route Processor will route through external sources, so quoted price ≠ pure Sushi pool price.
  • Cross-chain swaps via SushiXSwap take minutes (Stargate finality + destination execution) and can fail mid-flight on the destination — the user's funds end up in the bridged stable on the destination chain and require manual recovery.
  • Token-tax / fee-on-transfer tokens require `swapExactTokensForTokensSupportingFeeOnTransferTokens` paths; the default v2 router silently fails on these.
  • The `SUSHI` token bar (xSUSHI) and Onsen farms have been deprecated/restructured multiple times — verify the current incentive program in docs before integrating staking flows.
07Alternatives