GooseFX Gamma API: When using the /quote endpoint with the setting of dexes=Gamma, you should include the query parameter dexes=Gamma when using this endpoint if you want to route directly to the GooseFX Gamma API. This is in addition to setting dexes=Gamma on your initial /quote request.
Query Parameters
- userPublicKeystringREQUIRED
The user public key
- payerstring
A custom payer address that will cover transaction fees and token account rent. Ensure your fee model accounts for cases where users close their ATAs and you must reopen them.
- wrapAndUnwrapSolboolean
If set to true, it will automatically wrap/unwrap SOL. If it is false, it will use wSOL token account. It will be ignored if destinationTokenAccount is set because the destinationTokenAccount may belong to a different user that we have no authority to close. By default it is set to true
- useSharedAccountsboolean
This enables the usage of shared program accounts. 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. By default, it is set to true
- feeAccountstring
The fee token account is derived using the seeds ['referral_ata', referral_account, mint], along with the REFER4ZgmyYx9c6He5XfaTMiGfdLwRnkV4RPp9t9iF3 referral contract. Only pass in if you set a feeBps and make sure that the feeAccount has been created
- trackingAccountstring
Any public key associated with your system to track swap transactions. Useful for analytics using Solana block explorers or services like Dune or Flipside.
- computeUnitPriceMicroLamportsinteger
The compute unit price to prioritize the transaction, the additional fee will be computeUnitLimit (1400000) * computeUnitPriceMicroLamports. If auto is used, Jupiter will automatically set a priority fee and it will be capped at 5,000,000 lamports / 0.005 SOL
- prioritizationFeeLamportsobject
To specify a level or amount of additional fees to prioritize the transaction. It can be used for either the priority fee or the JITO tip. If you want to include both, you will need to use /swap-instructions to add both at the same time
- priorityLevelWithMaxLamportsobject
Specifies the priority level and maximum lamports for transaction prioritization
- priorityLevelstring
The priority level to use for transaction prioritization. Can be set to either medium, high or veryHigh
- maxLamportsinteger
The maximum amount of lamports to cap the priority fee estimation to prevent overpaying
- globalboolean
When set to true, the priority fee estimation will use a global estimate across the network rather than a localized estimate based on the specific accounts involved in the transaction
- jitoTipLamportsinteger
The exact amount of tip to use in a tip instruction for JITO. You can estimate how much to set using Jito tip percentiles endpoint. It should be used together with the Lil' JIT - Jito Bundles & Transactions add-on or Jito RPC.
- jitoTipLamportsWithPayerobject
Specifies the Jito tip amount and a custom payer account to pay for the tip
- lamportsintegerREQUIRED
Exact amount of lamports to use for the tip
- payerstringREQUIRED
Public key of an account that will be used to pay for the tip
- 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. By default it is set as 'False'
- 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
- nativeDestinationAccountstring
Public key of an account that will be used to receive native SOL out of the swap. This only works when the output mint is SOL. The account must not be owned by the token program. If not provided, the wrapped SOL will be unwrapped and the native SOL will be sent to the swap authority account. When sending native SOL to a new account, you must swap at least enough to cover the rent required to create it. This parameter is mutually exclusive with destinationTokenAccount
- dynamicComputeUnitLimitboolean
When enabled, it will do a swap simulation to get the compute unit used and set it in ComputeBudget's compute unit limit. This will increase latency slightly since there will be one extra RPC call to simulate this. By default, it is set to false
- skipUserAccountsRpcCallsboolean
When enabled, it will not do any rpc calls check on user's accounts. Enable it only when you already setup all the accounts needed for the trasaction, like wrapping or unwrapping sol, destination account is already created.
- dynamicSlippageboolean
When enabled, the swap transaction estimates slippage dynamically and overrides the
slippageBpsvalue from the /quote response. This must be used together withdynamicSlippagein the /quote call; otherwise, the staticslippageBpsfrom /quote will be used instead. Default is false.
- blockhashSlotsToExpiryinteger
The number of slots for which the transaction remains valid
- quoteResponseobjectREQUIRED
The quoteResponse object which you can get from the response from the /quote method
- inputMintstringREQUIRED
The source token's mint address
- inAmountstringREQUIRED
The amount of the source token being swapped
- outputMintstringREQUIRED
The destination token's mint address
- outAmountstringREQUIRED
Calculated output amount from the routing engine. Value includes platform fees and DEX fees, excluding slippage
- otherAmountThresholdstringREQUIRED
Calculated minimum output amount after accounting for slippageBps on the outAmount value
- swapModestringREQUIRED
Indicates the swap mode
- slippageBpsintegerREQUIRED
Slippage tolerance in basis points
- platformFeeobject
The platform Fee object which contains the following fields:
- amountstring
The amount of the platform fee
- feeBpsinteger
The fee percentage in basis points
- priceImpactPctstringREQUIRED
The percentage of price impact due to the swap
- routePlanarrayREQUIRED
An array containing detailed information about each step of the swap process
- swapInfoobjectREQUIRED
Detailed information about a specific swap step
- ammKeystringREQUIRED
The key identifying the Automated Market Maker (AMM) responsible for the swap
- labelstring
A label or identifier for the AMM
- inputMintstringREQUIRED
The mint address of the token being swapped from in this step
- outputMintstringREQUIRED
The mint address of the token being received in this step
- inAmountstringREQUIRED
The amount of the token being swapped from in this step
- outAmountstringREQUIRED
The amount of the token being received after the swap in this step
- feeAmountstringREQUIRED
The amount of fee charged for this step of the swap
- feeMintstringREQUIRED
The mint address of the token used for paying fees in this step
- percentintegerREQUIRED
The percentage allocation of the swap for this step
- bpsinteger
The basis points allocation of the swap for this step
- instructionVersionstring
The version of instruction used in the swap program. Possible values: V1 or V2, or null
- contextSlotinteger
A contextual identifier
- timeTakeninteger
Time taken for the request to be processed
Returns
- swapTransactionstring
The serialized transaction for the swap
- lastValidBlockHeightinteger
The last valid block height
- prioritizationFeeLamportsinteger
The prioritization fee in lamports