Skip to main content
POST

Headers

X-API-Key
string

API key for authenticated access (alternative to Authorization header)

Authorization
string

Bearer sk_... — alternative to X-API-Key

Body

application/json

SOL → token → SOL atomic round-trip on the SAME mint, both legs in one transaction. The sell leg is chained onto the buy leg's slippage floor, so it can never overdraw what the buy actually delivered.

walletAddresses
string[]
required
Minimum array length: 1
tokenAddress
string
required

The mint bought and sold back.

solAmount
number

Uniform SOL amount per wallet for the buy leg. Required if amounts not provided.

Example:

0.1

amounts
number[]

Per-wallet SOL amounts for the buy leg (takes precedence over solAmount).

slippageBps
integer
default:500
Required range: 0 <= x <= 10000
transactionsFeeLamports
number

Priority fee per transaction in lamports.

feeTipLamports
number

Tip in lamports. Public — min 0.001 SOL (1000000 lamports) enforced.

Required range: x >= 1000000
tipWallet
string

Custom tip recipient wallet (auth only).

tipLamports
number

Custom tip amount in lamports (auth only).

feeWallet
string

Custom fee recipient wallet (auth only).

feeBps
number

Custom fee in basis points (auth only). Charged ONCE, off-chain, on buy_notional + sell_notional SOL volume — both CPI legs run at fee_bps = 0, and tip + fee to the same wallet collapse into a single transfer instruction.

jitoDontFront
boolean

Append the JITO_DONT_FRONT marker. Only safe for a single non-bundled tx.

maxHops
integer
Required range: 1 <= x <= 3
includeDex

Only route through these DEXes (array or CSV). Applies to both legs.

excludeDex

Never route through these DEXes. Wins over includeDex.

encoding
enum<string>
default:base64
Available options:
base58,
base64

Response

Transactions generated — or success:false with error when the request is invalid or no route could be built.

success
boolean
required
Example:

true

transactions
string[]
required

Unsigned transactions ready to be signed and submitted

amountsOut
(integer | null)[]

Per-tx built output amount (raw), index-aligned with transactions; null where no route was found for that wallet. This is what the transaction actually delivers (its on-chain min_return) — it can sit below the amountOut a prior /quote returned when the best-priced plan didn't fit the wire and a lower-output alternative was served.