Skip to content

POST /v1/quote

Get the best swap route across all major DEXes.

Request

http
POST /v1/quote
Content-Type: application/json
X-API-Key: YOUR_API_KEY

Body

FieldTypeRequiredDefaultDescription
inputMintstringYesBase58 mint or token symbol (e.g. "SOL", "USDC")
outputMintstringYesBase58 mint or token symbol
amountstringYesAmount in smallest units (e.g. lamports)
slippageBpsnumberNo100Slippage tolerance (1-5000 bps)

Example

json
{
  "inputMint": "SOL",
  "outputMint": "USDC",
  "amount": "1000000000",
  "slippageBps": 100
}

Response

200 OK

json
{
  "routes": [
    {
      "dex": "orca-whirlpool",
      "poolAddress": "HJPjoWUrhoZzkNfRpHuieeFk9AnbVjTk9Gc5SJRqsQTK",
      "outputAmount": "134520000",
      "priceImpactBps": 1,
      "feeBps": 4
    },
    {
      "dex": "raydium-clmm",
      "poolAddress": "2QdhepnKRTLjjSqPL1PtKNwqrUkoLee2FyZ9b6b4Pmu3",
      "outputAmount": "134480000",
      "priceImpactBps": 2,
      "feeBps": 5
    }
  ],
  "bestRoute": {
    "dex": "orca-whirlpool",
    "poolAddress": "HJPjoWUrhoZzkNfRpHuieeFk9AnbVjTk9Gc5SJRqsQTK",
    "outputAmount": "134520000",
    "priceImpactBps": 1,
    "feeBps": 4
  },
  "inputMint": "So11111111111111111111111111111111111111112",
  "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "amount": "1000000000",
  "slippageBps": 100,
  "poolsScanned": 7
}

Route Object

FieldTypeDescription
dexstringDEX identifier (orca-whirlpool, raydium-clmm, etc.)
poolAddressstringBase58 pool account address
outputAmountstringExpected output in smallest units
priceImpactBpsnumberEstimated price impact in basis points
feeBpsnumberPool fee in basis points

Errors

StatusDescription
400Invalid request body
401Missing or invalid API key
404No pools found for this pair
429Rate limit exceeded

Rate Limit

60 requests per minute per API key.