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
}
}Build Transaction
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.
Authorizations
Get API key via https://developers.jup.ag/portal
Query Parameters
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 - Comma-separated list of DEXes to restrict routing to.
- Mutually exclusive with excludeDexes.
- Comma-separated list of DEXes to exclude.
- Mutually exclusive with dexes.
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.
- SPL token account to receive output tokens.
- Mutually exclusive with nativeDestinationAccount.
- Native SOL account to receive output.
- Mutually exclusive with destinationTokenAccount.
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 Response
Quote with raw swap instructions
Minimum output amount after slippage
Show child attributes
Show child attributes
Compute unit price instruction (does not include compute unit limit)
Show child attributes
Show child attributes
Pre-swap setup instructions (e.g. create ATAs)
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Post-swap cleanup instruction
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Address lookup table mappings for v0 transactions
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?
