---
title: "GetDexQuote returns a cross-chain route quote from the configured DEX provider"
method: POST
path: "/market/v1/dex/quote"
tags: ["MarketQueryService"]
---

# GetDexQuote returns a cross-chain route quote from the configured DEX provider

`POST /market/v1/dex/quote`

## Request

- Base URL: `https://backend.pay.kiichain.io`
- URL: `https://backend.pay.kiichain.io/market/v1/dex/quote`
- Auth: one of:
  - API key in header `Authorization`
  - OAuth 2
    - Password
    - Token URL: `https://backend.pay.kiichain.io/users/v1/auth/login` scopes: `accounts.kyc.read`, `accounts.kyc.read:all`
- TypeScript: <https://skmtc.dev/kiiglobal/apis/kiichain-pay-backend/docs/market/v1/dex/quote/post.ts> (a function with typed inputs; its response is checked against the schema)

Quote-only. Does not execute the swap. Response includes the raw route
data needed by the client (or a follow-up call) to actually execute it

## Request body

- DexGetDexQuoteRequest
  - `allowMultiTx` boolean
  - `assetIn` DexDexAssetAmount, required
    - `amount` string, required
    - `chainId` string, required
    - `denom` string, required
  - `assetOut` DexDexAsset, required
    - `chainId` string, required
    - `denom` string, required
  - `senderAddress` string: sender_address is the wallet address of the user initiating the swap.

## Response `200`

A successful response.

- DexGetDexQuoteResponse
  - `affiliateAddress` string: affiliate_address is the address that receives the affiliate fee for this route.
  - `affiliateFeeBps` integer: affiliate_fee_bps is the affiliate fee in basis points applied to this route (e.g. 100 = 1.00%).
  - `approvalAddress` string: approval_address is the spender (LiFi router) that needs ERC-20 allowance.
  - `approvalAmount` string: approval_amount is the minimum token amount (base units) that must be approved.
  - `approvalToken` string: approval_token is the ERC-20 contract address that must grant allowance before the swap. Empty for native-token swaps (no approval needed).
  - `assetIn` DexDexAssetAmount
    - `amount` string, required
    - `chainId` string, required
    - `denom` string, required
  - `assetOut` DexDexAssetAmount
    - `amount` string, required
    - `chainId` string, required
    - `denom` string, required
  - `doesSwap` boolean
  - `estimatedAmountOut` string
  - `evmTx` string: evm_tx is the RLP-serialized unsigned EIP-1559 transaction (hex, 0x-prefixed). Only present when provider is "lifi". Parse with viem's parseTransaction, then pass the extracted fields to sendTransaction (nonce is a placeholder — omit it).
  - `provider` string: provider identifies which DEX routing provider fulfilled this quote ("skip" or "lifi").
  - `routeData` object: route_data is the full Skip route object required for swap execution. Contains the complete route including operations, required chain addresses, and all fields needed to call Skip's executeRoute without a separate route() call.
  - `swapPriceImpactPercent` string
  - `txsRequired` integer
  - `usdAmountIn` string
  - `usdAmountOut` string

## Other responses

- `default`: An unexpected error response. `details[0]` is always an AppError, see #/components/schemas/AppError

---

[API](https://skmtc.dev/kiiglobal/apis/kiichain-pay-backend.md) - [All operations](https://skmtc.dev/kiiglobal/apis/kiichain-pay-backend/llms.txt) - [OpenAPI document](https://skmtc.dev/kiiglobal/apis/kiichain-pay-backend/revisions/8951249f5b63?raw)
