Skip to main content
GET
Get the best quote across multiple candidate output mints

Authorizations

x-api-key
string
header
required

Query Parameters

inputMint
string
required

Input token mint address

outputMint
string
required

Comma-separated list of candidate output token mint addresses (currently up to 3). Duplicates are ignored

amount
string
required

Amount in the token's smallest unit, as a string. Input amount for ExactIn, output amount for ExactOut

taker
string

Taker wallet address. Required to receive a transaction in the response. Without it the response is an indicative quote with transaction: null

version
string
default:v1

RFQ protocol version

isWsol
boolean

Set when the swap involves wSOL rather than native SOL

receiver
string

Address receiving the output tokens, when different from the taker

ataAccountPayer
string

Address paying for Associated Token Account creation

inputTokenAccount
string

Existing taker-owned input token account. Bypasses ATA derivation

outputTokenAccount
string

Existing taker-owned output token account. Bypasses ATA derivation

integratorTokenAccount
string

Token account that receives your integrator fee. It must already exist (be pre-initialised): the API does not create it. Create the associated token account for the fee mint before requesting an order. Must be provided together with integratorFee

integratorFee
integer

Your integrator fee in basis points (max 10000). Must be provided together with integratorTokenAccount

Required range: x <= 10000
integratorFeeSide
enum<string>

Side of the swap the integrator fee is charged on. When omitted, defaults to the user-fixed side: input for ExactIn, output for ExactOut. Requires integratorTokenAccount

Available options:
input,
output
settingsPda
string

Squads V5 settings PDA address. Required for Squads vault swaps

signers
string

Comma-separated signer pubkeys for Squads vault swaps. The first signer is the fee payer

Response

Quote retrieved successfully

routing
enum<string>
required

Routing type. spot for RFQ fills

Available options:
spot,
onchain
Example:

"spot"

requestId
string
required

Identifies this quote request. Pass it to /execute unchanged. For /global-order, identifies the winning leg

Example:

"629bddf3-0038-43a6-8956-f5433d6b1191"

quoteId
string
required

Identifies this specific quote. Pass it to /execute unchanged

Example:

"59db3e19-c7b0-4753-a8aa-206701004498"

maker
string
required

Market maker wallet filling the order

Example:

"maker2p9zXHQ5GKdZjSxLu7BfVz8YmF9oQ7TEd1rWqw"

provider
string
required

Name of the market maker the maker address belongs to

Example:

"MM Trading"

swapMode
enum<string>
required

Swap mode of the quote

Available options:
exactIn,
exactOut
Example:

"exactIn"

orderInfo
object
required
transaction
string | null

Base64-encoded versioned transaction for the taker to sign. The market maker adds the final signature and submits it on-chain. null for indicative quotes (no taker provided, or the transaction could not be built, see error)

expireAt
string | null

Unix timestamp (seconds) after which the transaction is no longer valid. Sign and execute before this time

Example:

"1736968572"

error
enum<string>

Present only when taker was provided but no transaction could be built. insufficientBalance: the taker does not hold enough of the input token. missingAtaAccount: a token account required by the swap does not exist on-chain

Available options:
insufficientBalance,
missingAtaAccount