Swap Quoting
Get swap quotes with transaction details for executing token swaps across multiple blockchains and DEXs. Supports both single quotes (GET) and batch quotes (POST).
Overview
The Swap Quoting endpoint provides swap quotes with optimized routing across multiple DEXs and liquidity sources. It returns the estimated output amount, slippage, and a serialized transaction ready to be signed.Supported EVM Chains
The Swap API routes EVM swaps through MobulaRouter, a smart contract deployed across the following chains:| Chain | Chain ID | Router Address |
|---|---|---|
| Ethereum | evm:1 | 0x0005ea683517b3a4463bfd798c9850Ad2d586795 |
| Optimism | evm:10 | 0x0005ea38EB0a69D1253508EBDBdB9eA8Cb26B5Ef |
| BNB Chain | evm:56 | 0x0005ea70fa6dbd2efd17697d2351301adb6318b2 |
| Gnosis | evm:100 | 0x40A9849E3bfcf0f3d3be9dfaE3C997aCa19c19ED |
| Polygon | evm:137 | 0x0005ea38EB0a69D1253508EBDBdB9eA8Cb26B5Ef |
| Monad | evm:143 | 0x40A9849E3bfcf0f3d3be9dfaE3C997aCa19c19ED |
| Mantle | evm:5000 | 0x40A9849E3bfcf0f3d3be9dfaE3C997aCa19c19ED |
| MegaETH | evm:4326 | 0x40A9849E3bfcf0f3d3be9dfaE3C997aCa19c19ED |
| Base | evm:8453 | 0x0005ea38EB0a69D1253508EBDBdB9eA8Cb26B5Ef |
| Arbitrum | evm:42161 | 0x0005ea38EB0a69D1253508EBDBdB9eA8Cb26B5Ef |
| Avalanche | evm:43114 | 0x0005ea38EB0a69D1253508EBDBdB9eA8Cb26B5Ef |
| Linea | evm:59144 | 0x40A9849E3bfcf0f3d3be9dfaE3C997aCa19c19ED |
| Blast | evm:81457 | 0x40A9849E3bfcf0f3d3be9dfaE3C997aCa19c19ED |
| Scroll | evm:534352 | 0x40A9849E3bfcf0f3d3be9dfaE3C997aCa19c19ED |
evm.transaction.to field of every quote response. See Smart Contract Integration for per-chain explorer links and the canonical ABI.evm.transaction.to field of the response.
Query Parameters
-
chainId(required) — The blockchain identifier (e.g.,evm:1,solana,ethereum) -
tokenIn(required) — Address of the token to swap from (use0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeEfor native tokens) -
tokenOut(required) — Address of the token to swap to (use0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeEfor native tokens) -
amount(required ifamountRawnot provided) — Human-readable amount of tokenIn to swap (e.g.,"1.5"for 1.5 tokens). This will be converted to raw amount by multiplying by 10^decimals. -
amountRaw(required ifamountnot provided) — Raw amount as a string (e.g.,"1500000"for 1.5 USDC with 6 decimals). This is the exact amount that will be used in the swap without conversion. Must be a positive integer string. -
walletAddress(required) — Wallet address that will execute the swap -
slippage(optional) — Maximum acceptable slippage percentage (0-100). Default:1 -
excludedProtocols(optional) — Comma-separated list of factory addresses to exclude from routing. Can be any factory address. -
onlyProtocols(optional) — Comma-separated list of tradable pool types to restrict routing to (e.g.,uniswap-v2,uniswap-v3,raydium-amm). Only valid tradable pool types will be considered; non-tradable types will be filtered out. -
poolAddress(optional) — Specific pool address to use for the swap -
onlyVerifiedTokens(optional) — When set to"true", the endpoint will reject quotes wheretokenOutis an unverified launchpad token (e.g., tokens originating from Pump.fun, Pumpswap, Raydium Launchlab, etc.). Returns an error with the token’s source if rejected. Default:"false"(all tokens allowed). -
onlyRouters(optional) — Comma-separated list of routers to use for routing (e.g.,jupiter,kyberswap,lifi). Only the specified routers will be used for the swap. Supported values:jupiter(Solana),kyberswap(EVM),lifi(EVM) -
feePercentage(optional) — Fee percentage to charge on the swap (0.01 to 99). Default:0(no fee).- On EVM chains: Fee is applied to the swap via MobulaRouter. No
feeWalletrequired - fees go to the protocol. - On Solana: Fee is taken from native SOL only. The fee is a percentage of the SOL amount being swapped (input or output), and it’s deducted from that amount. Must be provided together with
feeWallet. Note: At least one side of the swap must be native SOL for fees to apply.
- On EVM chains: Fee is applied to the swap via MobulaRouter. No
-
feeWallet(optional, Solana only) — Wallet address to receive fees. Must be a valid Solana wallet address. Only required on Solana whenfeePercentageis set. -
minFeesNative(optional, TON & Solana) — Minimum caller referral fee in the chain’s native token (for example,0.1TON or0.05SOL). Applies a floor to the referral fee:max(amountIn × feePercentage / 100, minFeesNative). Honored when the fee is taken in the native token — on TON for native-TON input swaps, on Solana when the fee asset is native SOL (the quote side of the pair). On Solana it is enforced on-chain by MobulaRouter. RequiresfeeWallet. -
feeToken(optional, Solana only) — Mint address of a token in which to charge a flat minimum fee, paired withminFeesTokenRaw. The router transfersminFeesTokenRawof this token from the user tofeeWalletvia a dedicated instruction added next to the swap — independent of the swap route (the token does not need to betokenInortokenOut). The transaction reverts if the user’s balance is insufficient. RequiresfeeWallet. -
minFeesTokenRaw(optional, Solana only) — Raw amount (smallest unit, e.g."1000000"for 1 USDC) offeeTokento charge as a flat minimum fee. Must be a positive integer. -
priorityFee(optional, Solana only) — Priority fee configuration for Solana transactions. Can be:auto: Automatically estimate priority fee based on network conditions- A preset name:
low,medium,high,veryHigh - A number: Exact priority fee in microLamports per compute unit
low: 10,000 (0.01 lamports/CU)medium: 100,000 (0.1 lamports/CU)high: 500,000 (0.5 lamports/CU)veryHigh: 1,000,000 (1 lamport/CU)
auto. -
computeUnitLimit(optional, Solana only) — Compute unit limit for Solana transactions. Can betruefor dynamic limit estimation or a specific number. Default:400,000. -
jitoTipLamports(optional, Solana only) — Jito tip amount in lamports for block engine priority. This adds a SOL transfer instruction to a Jito tip account to prioritize the transaction via Jito’s block engine. Example:10000= 0.00001 SOL tip. Note: This is separate frompriorityFee(compute unit price). For best results, use both together. -
payerAddress(optional, Solana only) — Payer wallet address for fee abstraction. This wallet will be the fee payer (paying SOL rent/transaction fees) and the signer of the transaction. The swap itself will still use thewalletAddressfor token transfers. Use this to allow a third party (e.g., a service or sponsor) to pay transaction fees while the user’s wallet executes the actual swap. If not provided,walletAddressis used as the payer.
Amount Specification
Eitheramount OR amountRaw must be provided (but not both).
Understanding Token Decimals
Tokens have adecimals property that determines how many decimal places they support:
- ETH/WETH: 18 decimals
- USDC: 6 decimals
- USDT: 6 decimals
- BTC: 8 decimals
- For USDC (6 decimals):
amount="1.5"becomes1500000raw units - For ETH (18 decimals):
amount="0.0001"becomes100000000000000raw units (1e14) - For USDC (6 decimals):
amountRaw="1500000"represents 1.5 USDC
amount:
- You have a human-readable amount (e.g., “1.5” tokens)
- You want the API to handle the conversion automatically
- Simpler for most use cases
amountRaw:
- You already have the raw amount from another source
- You want to avoid precision loss from floating-point conversion
- You need exact control over the amount being swapped
Fees
Fees allow you to charge a percentage fee on swaps. This is useful for monetizing your integration. How it works:- On EVM chains: Fee is applied via MobulaRouter. Default is 0% (no fee).
- On Solana: Fee is taken from native SOL (deducted from the swap amount) and sent to your designated
feeWallet.minFeesNativeenforces a minimum referral fee in SOL —max(amountIn × feePercentage / 100, minFeesNative)— applied on-chain by MobulaRouter when the fee asset is native SOL.feeToken+minFeesTokenRawcharge a flat minimum fee in any SPL token via a dedicated transfer tofeeWallet, independent of the swap route.
- On TON:
minFeesNativecan enforce a minimum caller referral fee for native TON input swaps:max(amountIn × feePercentage / 100, minFeesNative).
- Fee percentage must be between 0.01% and 99%
minFeesNativemust be a non-negative native-token amount and must be used withfeeWallet.feeToken(mint) andminFeesTokenRaw(positive integer raw amount) must be provided together and requirefeeWallet(Solana only).
Usage Examples
Basic Swap Quote with Native SOL (Human-readable Amount)
Basic Swap Quote with Native SOL (Raw Amount)
Swap with Excluded Protocols (Human-readable Amount)
Swap with Excluded Protocols (Raw Amount)
Swap with Specific Pool Type (Human-readable Amount)
Swap with Specific Pool Type (Raw Amount)
Swap with Specific Router (Solana - Jupiter)
Swap with Specific Router (EVM - KyberSwap)
Swap with Multiple Routers (EVM - KyberSwap and LiFi)
Swap on Base (Native ETH to USDC)
Swap on BNB Chain (Native BNB to USDT)
Swap on Arbitrum (Native ETH to USDC)
Swap on Polygon (Native MATIC to USDC)
Swap on Avalanche (Native AVAX to USDC)
Swap on Optimism (Native ETH to USDC)
Swap with Priority Fee (Solana - Preset)
high preset (500,000 microLamports/CU) to prioritize the transaction during network congestion.
Swap with Priority Fee (Solana - Custom Value)
Swap with Priority Fee (Solana - Auto)
Swap with Jito Tip (Solana)
Swap with Jito Tip + Priority Fee (Solana - Recommended)
Swap with Fee Abstraction / PayerAddress (Solana)
walletAddress(UserWalletAddress) is the user who owns the tokens and executes the swappayerAddress(SponsorWalletAddress) is the sponsor/service that pays the transaction fees (SOL rent/gas) and signs the transaction- The sponsor wallet needs to sign the transaction, but the swap is executed for the user wallet
Swap with Fee (EVM)
- Fee is applied via MobulaRouter
Swap with Fee (Buy - SOL to Token)
- User inputs: 1 SOL (SOL is the quote token)
- Fee sent to fee wallet: 0.01 SOL
- Amount used for swap: 0.99 SOL
- User receives: full swap output in USDC
Swap with Fee (Sell - Token to SOL)
- User inputs: 100 USDC (USDC is a stablecoin, but SOL is also a quote token)
- If USDC is detected as the quote → Fee on input: 0.5 USDC → 99.5 USDC swapped
- If SOL is detected as the quote → Fee on output: 0.5% of output SOL goes to fee wallet
Swap with Fee (Meme Token to SOL)
- User inputs: 1,000,000 MEME tokens (MEME is base token)
- Full amount used for swap
- Fee on output: 1% of output SOL (weighted by slippage) sent to fee wallet
- User receives: remaining SOL after fee
Swap with Minimum Native Fee (Solana)
0.03 SOL: the effective referral fee is max(amountIn × 0.1% , 0.03 SOL). Honored on-chain by MobulaRouter because SOL is the fee asset (the quote side of the SOL ↔ meme pair). Requires feeWallet.
Swap with Flat Token Fee (Solana)
1000000 raw units (1 USDC) of feeToken to feeWallet, via a dedicated instruction added next to the swap. Works regardless of the route — set feeToken to any SPL mint. The transaction reverts if the user does not hold enough of the fee token. Requires feeWallet.
TON Swap with Minimum Native Fee
0.1 TON floor. The effective referral fee is the higher value between the percentage fee and minFeesNative.
Response Format
Supports Solana and 13 EVM chains. See Supported EVM Chains above for the full list.EVM Response
evm.transaction.to— MobulaRouter contract address on the target chainevm.transaction.from— Your wallet addressevm.transaction.data— Encoded calldata for theexecuteAggregatorSwapfunctionevm.transaction.value— Native token amount in wei (non-zero for native token input swaps,"0"for ERC-20 input)evm.transaction.chainId— Numeric chain IDdetails.aggregator— Name of the aggregator used for this swap (e.g.,"KyberSwap")
Solana Response
Response Fields
Data Object
For Solana:solana(object, optional) — Solana transaction containertransaction(object) — Transaction detailsserialized(string) — Base64 encoded serialized transactionvariant(enum:legacy|versioned) — Transaction variant
lastValidBlockHeight(number) — The last block height at which the blockhash used in this transaction is valid. Use this to check if the transaction has expired before sending.
estimatedAmountOut(string, optional) — Estimated output amount in tokenOut’s base unitsestimatedSlippage(number, optional) — Estimated slippage percentagerequestId(string) — Unique identifier for tracking this request. Keep this ID and provide it to the Mobula team if you encounter any issues.fee(object, optional) — Fee details (only present if fee was applied)amount(string) — Fee amount in human-readable formatpercentage(number) — Fee percentage that was appliedwallet(string) — Wallet address receiving the feedeductedFrom(enum:input|output) — Whether fee was deducted from input (buy) or output (sell)
tokenIn(object, optional) — Input token metadataaddress(string) — Token contract addressname(string, optional) — Token namesymbol(string, optional) — Token symboldecimals(number) — Token decimalslogo(string | null, optional) — Token logo URL (resolved via CDN if available in storage, otherwise null)
tokenOut(object, optional) — Output token metadataaddress(string) — Token contract addressname(string, optional) — Token namesymbol(string, optional) — Token symboldecimals(number) — Token decimalslogo(string | null, optional) — Token logo URL (resolved via CDN if available in storage, otherwise null)
Error Field
error(string, optional) — Error message if the quote failed. If you receive an error, please report it to the Mobula team along with therequestIdfor faster resolution.
Example Responses
Successful Solana Swap Quote
Successful Swap Quote with Fee (Buy)
Successful Swap Quote with Fee (Sell)
Quote with Error
Important Notes
- Native Token Address:
- EVM chains: Use
0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeEfor native tokens (ETH, BNB, MATIC, etc.) - Solana:
- Use
So11111111111111111111111111111111111111111for native SOL (ends with 1) - this is what users typically hold in their wallet So11111111111111111111111111111111111111112(ends with 2) is Wrapped SOL (WSOL) - only use this if you specifically hold WSOL tokens- Automatic wrap/unwrap: If you use the native SOL address, we automatically handle the wrapping and unwrapping internally. You don’t need to manage WSOL yourself
- Use
- EVM chains: Use
- Amount Format:
- Use
amountfor human-readable amounts (e.g.,"1.5"for 1.5 tokens). The API will automatically convert to raw units using the token’s decimals. - Use
amountRawfor raw amounts as a string (e.g.,"1500000"for 1.5 USDC with 6 decimals). This avoids precision loss and is useful when you already have the raw amount. - Either
amountORamountRawmust be provided, but not both.
- Use
- Token Decimals: Each token has a decimals property (typically 18 for ETH, 6 for USDC, 8 for BTC). Raw amount = human-readable amount × 10^decimals. For example, 1.5 USDC (6 decimals) = 1,500,000 raw units.
- Blockchain Support: Supports Solana and 14 EVM chains: Ethereum (
evm:1), Optimism (evm:10), BNB Chain (evm:56), Gnosis (evm:100), Polygon (evm:137), Monad (evm:143), Mantle (evm:5000), MegaETH (evm:4326), Base (evm:8453), Arbitrum (evm:42161), Avalanche (evm:43114), Linea (evm:59144), Blast (evm:81457), and Scroll (evm:534352). All EVM swaps are routed through MobulaRouter for optimal aggregator pricing. - Solana Transactions: Base64 encoded and ready to be deserialized, signed, and sent
- Slippage: Higher slippage increases success rate but may result in worse execution prices
- Request ID: Always keep the
requestIdfrom the response. In case of any issues or errors, provide this ID to the Mobula team for faster troubleshooting and resolution. - onlyProtocols Behavior: This parameter only restricts routing to a subset of tradable pool types. Non-tradable pool types will be automatically filtered out. You cannot extend beyond the base set of tradable protocols.
- excludedProtocols Behavior: You can specify any factory address to exclude from routing, regardless of whether it’s tradable or not.
- onlyRouters Behavior: Restricts the swap routing to specific providers. Supported routers are:
jupiter(Solana only),kyberswap(EVM chains), andlifi(EVM chains). You can specify multiple routers by separating them with commas. If not specified, all available routers for the chain will be used. - Fee Behavior:
- Fee percentage must be between 0.01% and 99%. Default is 0% (no fee).
- On EVM chains: Fee is applied via MobulaRouter
- On Solana: Both
feePercentageandfeeWalletmust be provided together:- Fee is ALWAYS deducted from native SOL and transferred via
SystemProgram.transfer - If
tokenInis native SOL → Fee is deducted from input SOL before the swap - If
tokenOutis native SOL → Fee is deducted from output SOL after the swap (adjusted for slippage) - Note: At least one side of the swap must be native SOL for fees to apply
- If neither token is SOL → Fallback to quote token logic (stablecoins first)
- The fee transfer is included in the same transaction as the swap, so it’s atomic
- Fee is ALWAYS deducted from native SOL and transferred via
- Priority Fee (Solana):
- Use priority fees to increase transaction landing rate during network congestion
- Presets:
low(10,000),medium(100,000),high(500,000),veryHigh(1,000,000) microLamports/CU automode dynamically estimates the optimal fee based on network conditions- Alternatively, specify an exact value in microLamports per compute unit
- The estimated cost is:
priorityFee * computeUnitLimit / 1,000,000lamports
- Jito Tip (Solana):
- Use Jito tips to prioritize your transaction via Jito’s block engine
- Tips are sent to one of Jito’s official tip accounts
- Specified in lamports (e.g.,
10000= 0.00001 SOL) - Works independently from
priorityFee- for best results, use both together - Jito tips help ensure faster transaction inclusion during high congestion
- Fee Abstraction / PayerAddress (Solana):
- Use the
payerAddressparameter to specify a different wallet that pays transaction fees - The payerAddress wallet will be the fee payer and signer of the transaction
- The swap is still executed for
walletAddress(token transfers use this wallet) - Useful for sponsoring user transactions or abstracting gas fees
- The payerAddress needs SOL to pay for rent/transaction fees
- Use the
Next Steps
For Solana Transactions
After receiving a quote:- Save the
requestIdfor troubleshooting purposes - Decode the base64 serialized transaction
- Deserialize based on the
variantfield (legacy or versioned) - Sign it with your Solana wallet
- Send to the network using your preferred RPC
For EVM Transactions
After receiving a quote:- Save the
requestIdfor troubleshooting purposes - The response contains a ready-to-sign transaction in
evmfield - Sign and send it using your preferred web3 library (ethers.js, viem, web3.js)
evm:1), Optimism (evm:10), BNB Chain (evm:56), Gnosis (evm:100), Polygon (evm:137), Monad (evm:143), Mantle (evm:5000), MegaETH (evm:4326), Base (evm:8453), Arbitrum (evm:42161), Avalanche (evm:43114), Linea (evm:59144), Blast (evm:81457), Scroll (evm:534352).
Use Cases
- DEX Aggregation: Get the best swap rates across multiple DEXs
- Trading Bots: Automated trading with optimal routing
- DeFi Applications: Integrate swap functionality into your dApp
- Price Comparison: Compare swap rates before execution
Batch Swap Quoting (POST)
For applications that need to fetch multiple swap quotes simultaneously, use the batch endpoint. This allows you to submit up to 30 swap quote requests in a single API call, significantly reducing latency compared to multiple individual requests.Endpoint
Request Body
The request body must be a JSON object with arequests array containing between 1 and 30 swap quote items.
Request Item Fields
Each item in therequests array supports the following fields:
| Field | Type | Required | Description |
|---|---|---|---|
chainId | string | Yes | Blockchain identifier (e.g., solana, evm:1, ethereum) |
tokenIn | string | Yes | Address of the token to swap from |
tokenOut | string | Yes | Address of the token to swap to |
amount | number | Yes* | Human-readable amount (e.g., 1.5 for 1.5 tokens) |
amountRaw | string | Yes* | Raw amount as string (e.g., "1500000" for 1.5 USDC) |
walletAddress | string | Yes | Wallet address that will execute the swap |
slippage | number | No | Maximum slippage percentage (0-100). Default: 1 |
excludedProtocols | string[] | No | Array of factory addresses to exclude |
onlyProtocols | string[] | No | Array of pool types to restrict routing |
poolAddress | string | No | Specific pool address to use |
onlyRouters | string[] | No | Array of routers (jupiter, kyberswap, lifi) |
onlyVerifiedTokens | boolean | No | When true, rejects quotes where tokenOut is an unverified launchpad token. Default: false |
priorityFee | string | number | object | No | Solana priority fee: auto, preset (low, medium, high, veryHigh), or number in microLamports/CU |
computeUnitLimit | boolean | number | No | Solana compute unit limit: true for dynamic or specific number |
payerAddress | string | No | Solana fee abstraction: wallet address that pays transaction fees and signs (instead of walletAddress) |
amount OR amountRaw must be provided (but not both) for each request item.
Batch Usage Examples
Basic Batch Request
Multi-Chain Batch Request
Batch with Router Restrictions
Batch Response Format
Batch Response Fields
| Field | Type | Description |
|---|---|---|
results | array | Array of quote results, one for each request |
results[].data | object | Quote data (same format as single quote response) |
results[].error | string | Error message if this specific quote failed |
results[].index | number | Index of the request in the original batch (0-based) |
totalRequests | number | Total number of requests in the batch |
successCount | number | Number of successful quotes |
errorCount | number | Number of failed quotes |
Batch Error Handling
In batch mode, individual request failures don’t fail the entire batch. Each result includes its ownerror field if that specific quote failed:
Batch Limitations
- Maximum 30 requests per batch
- Minimum 1 request per batch
- All requests are processed in parallel for optimal performance
- Each request is independent - failures don’t affect other requests
Batch Use Cases
- Portfolio Rebalancing: Get quotes for multiple swaps needed to rebalance a portfolio
- Price Comparison: Compare swap rates across different token pairs simultaneously
- Multi-Chain Operations: Get quotes for the same swap on different chains
- Trading Strategies: Pre-fetch multiple potential swap quotes for algorithmic trading
- UI Pre-loading: Fetch multiple quotes in advance to improve user experience
Query Parameters
Mobula chain id. EVM: evm:<integer> (e.g. evm:1, evm:8453, evm:42161). Solana: solana:solana. TON: ton:mainnet or ton:testnet.
Sell token address. Native sentinels — EVM: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE (EIP-7528). Solana: So11111111111111111111111111111111111111112 (wSOL). TON: EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c.
1Buy token address. Same sentinel rules as tokenIn.
1Human-readable amount (e.g. "1.5" for 1.5 tokens). Converted server-side: raw = amount × 10^decimals. Mutually exclusive with amountRaw.
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.
Slippage tolerance in % (0-100, default 1). Quote rejects if expected output drops below this threshold.
Optional market impact guard in %. If the computed marketImpactPercentage is greater than this value, the quote is rejected with HTTP 400.
User wallet address — recipient of tokenOut, signer for the broadcast tx, fee context.
1DEX-level deny list (CSV). Example: pump-amm,raydium.
DEX-level allow list (CSV). Example: uniswap-v3,uniswap-v4.
Pin routing to a single pool (e.g. when you want a specific Uniswap V3 fee tier).
Aggregator filter (CSV) — jupiter, kyberswap, lifi, naos. Omit to let the API pick.
Solana only. auto, low, medium, high, veryHigh, or microLamports per CU as a number string.
Solana only. true for dynamic CU limit, or a fixed integer (default 400 000).
Solana only. Jito tip in lamports — adds a transfer to one of the Jito tip accounts for fast landing.
Caller referral fee in % (0-99). Mobula skims a 20% platform cut off the top. Requires feeWallet.
Wallet that receives the caller referral fee. Required when feePercentage > 0.
Minimum caller referral fee in native-token units. Currently honored on TON native-input swaps; 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.
Solana only. Raw amount (smallest unit) of feeToken to charge as a flat minimum fee. The swap reverts if the user lacks balance.
Solana only. Fee abstraction — wallet that signs/pays for the tx (separate from walletAddress).
Solana only. true returns N candidate transactions over a durable nonce — race them across landers (Jito, Nozomi, 0slot). Only one commits.
Per-lander tip when multiLander=true. Defaults to each lander's minimum.