The Jupiter Developer Platform is live. Previous portal users keep their rate limits for free until 30 June 2026 — set up billing on the new platform before then. See the Migration Guide for details.
curl --request GET \
--url https://api.jup.ag/swap/v2/build \
--header 'x-api-key: <api-key>'{
"inputMint": "<string>",
"outputMint": "<string>",
"inAmount": "<string>",
"outAmount": "<string>",
"otherAmountThreshold": "<string>",
"swapMode": "<string>",
"slippageBps": 123,
"routePlan": [
{
"swapInfo": {
"ammKey": "<string>",
"label": "<string>",
"inputMint": "<string>",
"outputMint": "<string>",
"inAmount": "<string>",
"outAmount": "<string>"
},
"percent": 123,
"bps": 123,
"usdValue": 123
}
],
"computeBudgetInstructions": [
{
"programId": "<string>",
"accounts": [
{
"pubkey": "<string>",
"isWritable": true,
"isSigner": true
}
],
"data": "<string>"
}
],
"setupInstructions": [
{
"programId": "<string>",
"accounts": [
{
"pubkey": "<string>",
"isWritable": true,
"isSigner": true
}
],
"data": "<string>"
}
],
"swapInstruction": {
"programId": "<string>",
"accounts": [
{
"pubkey": "<string>",
"isWritable": true,
"isSigner": true
}
],
"data": "<string>"
},
"cleanupInstruction": {
"programId": "<string>",
"accounts": [
{
"pubkey": "<string>",
"isWritable": true,
"isSigner": true
}
],
"data": "<string>"
},
"otherInstructions": [
{
"programId": "<string>",
"accounts": [
{
"pubkey": "<string>",
"isWritable": true,
"isSigner": true
}
],
"data": "<string>"
}
],
"tipInstruction": {
"programId": "<string>",
"accounts": [
{
"pubkey": "<string>",
"isWritable": true,
"isSigner": true
}
],
"data": "<string>"
},
"addressesByLookupTableAddress": {},
"blockhashWithMetadata": {
"blockhash": [
123
],
"lastValidBlockHeight": 123
}
}Get a swap quote with raw instructions for building custom transactions
curl --request GET \
--url https://api.jup.ag/swap/v2/build \
--header 'x-api-key: <api-key>'{
"inputMint": "<string>",
"outputMint": "<string>",
"inAmount": "<string>",
"outAmount": "<string>",
"otherAmountThreshold": "<string>",
"swapMode": "<string>",
"slippageBps": 123,
"routePlan": [
{
"swapInfo": {
"ammKey": "<string>",
"label": "<string>",
"inputMint": "<string>",
"outputMint": "<string>",
"inAmount": "<string>",
"outAmount": "<string>"
},
"percent": 123,
"bps": 123,
"usdValue": 123
}
],
"computeBudgetInstructions": [
{
"programId": "<string>",
"accounts": [
{
"pubkey": "<string>",
"isWritable": true,
"isSigner": true
}
],
"data": "<string>"
}
],
"setupInstructions": [
{
"programId": "<string>",
"accounts": [
{
"pubkey": "<string>",
"isWritable": true,
"isSigner": true
}
],
"data": "<string>"
}
],
"swapInstruction": {
"programId": "<string>",
"accounts": [
{
"pubkey": "<string>",
"isWritable": true,
"isSigner": true
}
],
"data": "<string>"
},
"cleanupInstruction": {
"programId": "<string>",
"accounts": [
{
"pubkey": "<string>",
"isWritable": true,
"isSigner": true
}
],
"data": "<string>"
},
"otherInstructions": [
{
"programId": "<string>",
"accounts": [
{
"pubkey": "<string>",
"isWritable": true,
"isSigner": true
}
],
"data": "<string>"
}
],
"tipInstruction": {
"programId": "<string>",
"accounts": [
{
"pubkey": "<string>",
"isWritable": true,
"isSigner": true
}
],
"data": "<string>"
},
"addressesByLookupTableAddress": {},
"blockhashWithMetadata": {
"blockhash": [
123
],
"lastValidBlockHeight": 123
}
}Documentation Index
Fetch the complete documentation index at: https://dev.jup.ag/docs/llms.txt
Use this file to discover all available pages before exploring further.
Get API key via https://developers.jup.ag/portal
The mint address of the input token
The mint address of the output token
The amount to swap in the smallest unit of the input token
Public key of the user initiating the swap.
Slippage tolerance in basis points. Defaults to 50.
rtse Quoting mode. "fast" trades quote optimality for reduced latency.
fast Platform fee in basis points. If positive, feeAccount is required.
0 <= x <= 10000Token account to collect platform fees. Required if platformFeeBps is positive.
Maximum number of accounts for the swap route. Defaults to 64.
1 <= x <= 64Account that pays transaction fees and rent. Defaults to taker when not passed in.
Whether to wrap/unwrap SOL. Defaults to true.
Number of slots until the blockhash expires. Defaults to 150.
1 <= x <= 300SOL tip amount in lamports. Adds a tip instruction for use with /submit. The tip payer is the taker (or payer if specified).
Percentile of compute unit price to use. Named levels: "medium" (25th), "high" (50th), "veryHigh" (75th), or a number 0-10000 in basis points.
medium, high, veryHigh Quote with raw swap instructions
Minimum output amount after slippage
Show child attributes
Compute unit price instruction (does not include compute unit limit)
Show child attributes
Pre-swap setup instructions (e.g. create ATAs)
Show child attributes
Show child attributes
Post-swap cleanup instruction
Show child attributes
Show child attributes
Show child attributes
Address lookup table mappings for v0 transactions
Show child attributes
Show child attributes
Was this page helpful?