---
title: "Quote and swap in one request"
method: POST
path: "/quote-and-swap"
---

# Quote and swap in one request

`POST /quote-and-swap`

Get quote and build transaction in single request

## Request body

- QuoteAndSwapRequest
  - `userPublicKey` string, required — User's wallet public key
  - `inputMint` string, required — Input token mint
  - `outputMint` string, required — Output token mint
  - `amount` integer, required — Input amount in lamports
  - `slippageBps` string — Slippage in basis points or 'dynamic'
  - `dexes` string — Comma-separated DEX filter
  - `maxHops` integer — Maximum routing hops
  - `wrapUnwrapSol` boolean — Automatically wrap/unwrap SOL
  - `txVersion` 'legacy' | 'v0' — Transaction version
  - `priorityFee` string — Priority fee mode or microlamports
  - `feeAccount` string — Platform fee recipient
  - `feeBps` integer — Platform fee in basis points
  - `feeFromInput` boolean — Take fee from input

## Response `200`

Successful quote and transaction build

- QuoteAndSwapResponse
  - `quote` QuoteResponse, required
    - `inputMint` string, required — Input token mint address
    - `outputMint` string, required — Output token mint address
    - `amountIn` string, required — Input amount in lamports
    - `amountOut` string, required — Expected output amount in lamports
    - `minAmountOut` string, required — Minimum output amount after slippage
    - `feeAmount` string, required — Total fees paid in lamports
    - `priceImpact` number, required — Price impact percentage
    - `slippageBps` integer, required — Slippage used in basis points
    - `routePlan` RouteStep[], required — Array of routing steps
      - `programId` string, required — DEX program ID
      - `dex` string, required — DEX name
      - `pool` string, required — Pool address
      - `inputMint` string, required — Step input mint
      - `outputMint` string, required — Step output mint
      - `amountIn` string, required — Step input amount
      - `amountOut` string, required — Step output amount
      - `feeAmount` string, required — Step fees
      - `priceImpact` number, required — Step price impact
      - `percent` integer — Percentage of total input
    - `swapUsdValue` string — USD value of the input amount
    - `priorityFee` PriorityFeeInfo
      - `recommended` integer, required — Recommended priority fee in microlamports
      - `level` string, required — Priority level used
      - `levels` PriorityFeeLevels
        - `min` integer — Minimum priority fee
        - `low` integer — Low priority fee
        - `medium` integer — Medium priority fee
        - `high` integer — High priority fee
        - `veryHigh` integer — Very high priority fee
        - `unsafeMax` integer — Maximum priority fee
    - `platformFee` PlatformFeeConfig
      - `feeBps` integer, required — Fee in basis points
      - `feeAccount` string, required — Fee recipient address
    - `contextSlot` integer, required — Solana slot when quote was generated
    - `timeTaken` number, required — Time taken to generate quote in seconds
  - `swapTransaction` string, required — Base64-encoded transaction
  - `lastValidBlockHeight` integer — Block height until transaction is valid

---

[API](https://skmtc.net/solanatracker/apis/solana-tracker-data-api.md) · [All operations](https://skmtc.net/solanatracker/apis/solana-tracker-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/solanatracker/solana-tracker-data-api/versions/c07c6f82d0c4/schema)
