POST /swap

Returns a transaction that you can use from the quote you get from /quote.

post/swap

Request body

userPublicKeystring required

The user public key.

wrapAndUnwrapSolboolean

Automatically wrap/unwrap SOL. If false, it will use wSOL token account. Will be ignored if destinationTokenAccount is set because the destinationTokenAccount may belong to a different user that we have no authority to close.

useSharedAccountsboolean

This enables the usage of shared program accountns. That means no intermediate token accounts or open orders accounts need to be created for the users. But it also means that the likelihood of hot accounts is higher.

feeAccountstring

Fee token account for the output token, it is derived using the seeds = ["referral_ata", referral_account, mint] and the REFER4ZgmyYx9c6He5XfaTMiGfdLwRnkV4RPp9t9iF3 referral contract (only pass in if you set a platformFeeBps in /quote and make sure that the feeAccount has been created).

prioritizationFeeLamportsinteger

The prioritization fee to pay in addition to the signature fee to prioritize the transaction.

computeUnitPriceMicroLamportsinteger

The compute unit price to prioritize the transaction, the additional fee will be computeUnitLimit * computeUnitPriceMicroLamports. If auto is used, Jupiter will automatically set a priority fee and it will be capped at 1,000,000 lamports.

asLegacyTransactionboolean

Request a legacy transaction rather than the default versioned transaction, needs to be paired with a quote using asLegacyTransaction otherwise the transaction might be too large.

useTokenLedgerboolean

This is useful when the instruction before the swap has a transfer that increases the input token amount. Then, the swap will just use the difference between the token ledger token amount and post token amount.

destinationTokenAccountstring

Public key of the token account that will be used to receive the token out of the swap. If not provided, the user's ATA will be used. If provided, we assume that the token account is already initialized.

dynamicComputeUnitLimitboolean

Simulate the swap transaction to get the compute unit consumed, factor in a margin and set the ComputeBudget's compute unit limit.

Response

Successful response

swapTransactionstring required
lastValidBlockHeightnumber required

Changes