Jupiter — Swap API V2 — Get a swap quote
jupiter_get_swap_v2_orderGet a swap quote and assembled transaction. This is the default happy path with all Ultra benefits Uses the caller's OpenAny gateway credentials. Charges and authorization are determined by the gateway.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| payer | No | - The public key of an account that will cover gas-related fees (signature fees, priority fees, and rent) on behalf of the taker - Has no effect when set equal to `taker`. Must be a different wallet to activate integrator-sponsored gas - Disables Dflow and OKX routing. Metis and JupiterZ RFQ still compete - On JupiterZ routes the market maker pays signature and priority fees, and `payer` only pays rent for the output token accounts the transaction creates. When the output is native SOL there are none, so `payer` is not a signer - Sign with `payer` only if it is a required signer of the returned transaction | |
| taker | No | - The public key of the wallet that will sign the transaction - If not provided, the response will contain a quote but no transaction - Must be present if you intend to sign and execute the transaction via `/execute` | |
| amount | Yes | The amount to swap in the smallest unit of the input token | |
| receiver | No | - The public key of the account that will receive the output tokens - Must differ from `taker` - Expects a wallet address, not a token account - For non-SOL output: tokens are sent to the receiver's associated token account (ATA). If the ATA is not initialised, a create ATA instruction is added to the transaction - For SOL output: native SOL is transferred directly to the receiver - Does not support destination wSOL token accounts - Disables Dflow and OKX routing. Metis and JupiterZ RFQ still compete | |
| swapMode | No | - Swap mode. Currently only `ExactIn` is supported. | |
| inputMint | Yes | The mint address of the input token | |
| outputMint | Yes | The mint address of the output token | |
| referralFee | No | - Referral fee in basis points (50-255) - Must be used together with `referralAccount` | |
| slippageBps | No | - Slippage tolerance in basis points (0-10000) - If not set, Jupiter automatically determines an appropriate slippage | |
| excludeDexes | No | - Comma-separated list of DEXes to exclude from the Metis router - **Important**: This only affects the Metis router, not other routers - For example: `excludeDexes=Raydium,Orca+V2,Meteora+DLMM` - Labels are case sensitive (`SolFi`, not `solfi`). Full list of DEXes here using the `/program-id-to-label` endpoint. - On `/order` only `excludeDexes` is honoured, not `dexes`. Use `/build` to restrict routing to specific DEXes. | |
| excludeRouters | No | - Comma-separated list of routers to exclude - Available routers: `metis`, `jupiterz`, `dflow`, `okx` | |
| jitoTipLamports | No | - Jito MEV tip in lamports for faster block inclusion | |
| referralAccount | No | - Address of your referral account for the Jupiter referral project - Must be used together with `referralFee` - See the [Referral Program](/tool-kits/referral-program) for setup | |
| broadcastFeeType | No | - Fee cap strategy: `maxCap` treats the fee as a maximum, `exactFee` uses the exact amount - Ignored if neither `priorityFeeLamports` nor `jitoTipLamports` are set | |
| priorityFeeLamports | No | - Priority fee in lamports - If not set, Jupiter automatically determines an appropriate priority fee - Setting this overrides the automatic optimisation | |
| maxSupportedTransactionVersion | No | - The highest Solana transaction version your client can accept, `"0"` or `"1"`. Defaults to `"0"`. - This is a ceiling, not a force. You get v1 only when Metis wins the route and the order is not gasless; other routers and gasless orders (including automatic sponsorship for low-SOL takers) return v0. Wider v1 support is in progress. - Read the response `transactionVersion` to see the version you got. v1 transactions must be deserialized and signed with a v1-capable SDK (`@solana/kit` v8 or later). |