Skip to main content

Method

async getQuote(params: QuoteParams): Promise<APIResponse<QuoteData>>
Retrieves pricing information and routing details for a potential token swap. This method does not execute a transaction.

Parameters

params
QuoteParams
required
Quote request parameters

Response

code
string
Response code (“0” indicates success)
msg
string
Response message
data
QuoteData[]
Array of quote data objects

Example

import { OKXClient } from '@okxweb3/okx-api';

const client = new OKXClient({
  apiKey: 'your-api-key',
  secretKey: 'your-secret-key',
  apiPassphrase: 'your-passphrase',
  projectId: 'your-project-id'
});

const quote = await client.dex.getQuote({
  chainIndex: '1',
  fromTokenAddress: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
  toTokenAddress: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
  amount: '1000000000000000000', // 1 ETH
  slippagePercent: '0.005',
  userWalletAddress: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
});

console.log('Quote:', quote.data[0]);
console.log('Expected output:', quote.data[0].toTokenAmount);
console.log('Price impact:', quote.data[0].priceImpactPercent);

Response Example

{
  "code": "0",
  "msg": "",
  "data": [{
    "chainIndex": "1",
    "fromToken": {
      "decimal": "18",
      "isHoneyPot": false,
      "taxRate": "0",
      "tokenContractAddress": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
      "tokenSymbol": "ETH",
      "tokenUnitPrice": "2500.00"
    },
    "toToken": {
      "decimal": "6",
      "isHoneyPot": false,
      "taxRate": "0",
      "tokenContractAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
      "tokenSymbol": "USDC",
      "tokenUnitPrice": "1.00"
    },
    "fromTokenAmount": "1000000000000000000",
    "toTokenAmount": "2487500000",
    "estimateGasFee": "0.002",
    "priceImpactPercent": "0.15",
    "tradeFee": "2500000",
    "router": "aggregator",
    "swapMode": "auto",
    "dexRouterList": []
  }]
}

Build docs developers (and LLMs) love