v2

latestOpenAPI 3.1.02026-07-316132736.5 KB
V2 - Swap

Get swap quote instructions with transaction details

Get swap quote instructions for building transactions with custom logic. Returns routing information and detailed instructions.

get/api/2/swap/quoting-instructions

Query parameters

chainIdstring

Mobula chain id. EVM: evm:<integer> (e.g. evm:1, evm:8453, evm:42161). Solana: solana:solana. TON: ton:mainnet or ton:testnet.

Mobula chain id. EVM: evm:<integer> (e.g. evm:1, evm:8453, evm:42161). Solana: solana:solana. TON: ton:mainnet or ton:testnet.

tokenInstring required

Sell token address. Native identifiers — EVM: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE (EIP-7528). Solana native SOL: So11111111111111111111111111111111111111111. Use wrapped SOL / WSOL mint So11111111111111111111111111111111111111112 only when swapping WSOL token-account balance. TON: EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c.

Sell token address. Native identifiers — EVM: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE (EIP-7528). Solana native SOL: So11111111111111111111111111111111111111111. Use wrapped SOL / WSOL mint So11111111111111111111111111111111111111112 only when swapping WSOL token-account balance. TON: EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c.

tokenOutstring required

Buy token address. Same native identifier rules as tokenIn.

Buy token address. Same native identifier rules as tokenIn.

amountstring

Human-readable amount (e.g. "1.5" for 1.5 tokens). Converted server-side: raw = amount × 10^decimals. Mutually exclusive with amountRaw.

Human-readable amount (e.g. "1.5" for 1.5 tokens). Converted server-side: raw = amount × 10^decimals. Mutually exclusive with amountRaw.

amountRawstring

Raw amount as a digit-only string (e.g. "1500000" for 1.5 USDC at 6 decimals). Use this when you already have the bigint to avoid float precision loss. Mutually exclusive with amount.

Raw amount as a digit-only string (e.g. "1500000" for 1.5 USDC at 6 decimals). Use this when you already have the bigint to avoid float precision loss. Mutually exclusive with amount.

slippagestring

Slippage tolerance in % (0-100, default 1). Quote rejects if expected output drops below this threshold.

Slippage tolerance in % (0-100, default 1). Quote rejects if expected output drops below this threshold.

string
OR
number

Optional market impact guard in %. If the computed marketImpactPercentage is greater than this value, the quote is rejected with HTTP 400.

walletAddressstring required

User wallet address — recipient of tokenOut, signer for the broadcast tx, fee context.

User wallet address — recipient of tokenOut, signer for the broadcast tx, fee context.

sellEntireBalancestring

EVM only. When true, MobulaRouter v2.19.0+ sells the taker’s entire ERC20 tokenIn balance at execution time; amountRaw/amount is used only to select the route and calculate the minimum output. Requires a Mobula route and is refused on aggregator routes.

EVM only. When true, MobulaRouter v2.19.0+ sells the taker’s entire ERC20 tokenIn balance at execution time; amountRaw/amount is used only to select the route and calculate the minimum output. Requires a Mobula route and is refused on aggregator routes.

string
OR
string[]

DEX-level deny list (CSV). Example: pump-amm,raydium.

string
OR
string[]

DEX-level allow list (CSV). Example: uniswap-v3,uniswap-v4.

poolAddressstring

Pin routing to a single pool (e.g. when you want a specific Uniswap V3 fee tier).

Pin routing to a single pool (e.g. when you want a specific Uniswap V3 fee tier).

onlyRoutersstring

Aggregator filter (CSV) — jupiter, kyberswap, lifi, naos. Omit to let the API pick.

Aggregator filter (CSV) — jupiter, kyberswap, lifi, naos. Omit to let the API pick.

priorityFeestring

Solana only. auto, low, medium, high, veryHigh, or microLamports per CU as a number string.

Solana only. auto, low, medium, high, veryHigh, or microLamports per CU as a number string.

computeUnitLimitstring

Solana only. true for dynamic CU limit, or a fixed integer (default 400 000).

Solana only. true for dynamic CU limit, or a fixed integer (default 400 000).

jitoTipLamportsstring

Solana only. Jito tip in lamports — adds a transfer to one of the Jito tip accounts for fast landing.

Solana only. Jito tip in lamports — adds a transfer to one of the Jito tip accounts for fast landing.

string
OR
number

Caller referral fee in % (0-99). Mobula skims a 20% platform cut off the top. Requires feeWallet.

feeWalletstring

Wallet that receives the caller referral fee. Required when feePercentage > 0.

Wallet that receives the caller referral fee. Required when feePercentage > 0.

string
OR
number

Minimum caller referral fee in native-token units. Currently honored on TON native-input swaps; requires feeWallet.

feeTokenstring

Solana only. Mint of a token in which to charge a flat MINIMUM fee (paired with minFeesTokenRaw). Charged via a separate transfer to feeWallet, independent of the swap route. Requires feeWallet.

Solana only. Mint of a token in which to charge a flat MINIMUM fee (paired with minFeesTokenRaw). Charged via a separate transfer to feeWallet, independent of the swap route. Requires feeWallet.

string
OR
number

Solana only. Raw amount (smallest unit) of feeToken to charge as a flat minimum fee. The swap reverts if the user lacks balance.

payerAddressstring

Solana only. Fee abstraction — wallet that signs/pays for the tx (separate from walletAddress).

Solana only. Fee abstraction — wallet that signs/pays for the tx (separate from walletAddress).

multiLanderstring

Solana only. true returns N candidate transactions over a durable nonce — race them across landers (Jito, Nozomi, 0slot). Only one commits.

Solana only. true returns N candidate transactions over a durable nonce — race them across landers (Jito, Nozomi, 0slot). Only one commits.

landerTipLamportsstring

Per-lander tip when multiLander=true. Defaults to each lander's minimum.

Per-lander tip when multiLander=true. Defaults to each lander's minimum.

Response

Swap quoting instructions response

errorstring