boltTrade API

Route swaps through Raydium pools using the Trade API

The Trade API lets you get quotes and execute swaps through Raydium's routing engine. For a complete implementation, see the SDK demoarrow-up-right.

Get quote

GET https://transaction-v1.raydium.io/compute/swap-base-in

Returns a quote for swapping tokens.

Query parameters

Name
Type
Required
Description

inputMint

string

Yes

Token mint address to swap from

outputMint

string

Yes

Token mint address to swap to

amount

string

Yes

Amount in base units (amounts * decimals // lamports for SOL)

slippageBps

number

Yes

Slippage tolerance in basis points (e.g. 50 = 0.5%

txVersion

string

Yes

Transaction version (v0 or legacy)

Response

{
  "id": "cbbcc7e2-a5fa-4040-a260-b229842c93c7",
  "success": true,
  "version": "V1",
  "data": {
    "swapType": "BaseIn",
    "inputMint": "So11111111111111111111111111111111111111112",
    "inputAmount": "100000000",
    "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "outputAmount": "13738391",
    "otherAmountThreshold": "13669699",
    "slippageBps": 50,
    "priceImpactPct": 0,
    "referrerAmount": "0",
    "routePlan": [
      {
        "poolId": "3nMFwZXwY1s1M5s8vYAHqd4wGs4iSxXE4LRoUMMYqEgF",
        "inputMint": "So11111111111111111111111111111111111111112",
        "outputMint": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
        "feeMint": "So11111111111111111111111111111111111111112",
        "feeRate": 1,
        "feeAmount": "10000",
        "remainingAccounts": [
          "DDe2TojkajtXKYJEMKfjY3Xjdw1XhZqr8UEBNgrg512P",
          "AWeEpV2ASCkVmcpK7htwWCqztmKMNdsmquKMa7y96Wif",
          "22ps6VsrEnCwEfGX4nkFV2xz4ohpvF5aTVtSg5FcwGRn"
        ],
        "lastPoolPriceX64": "6841151606851928973"
      },
      {
        "poolId": "3NeUgARDmFgnKtkJLqUcEUNCfknFCcGsFfMJCtx6bAgx",
        "inputMint": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
        "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "feeMint": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
        "feeRate": 1,
        "feeAmount": "1376",
        "remainingAccounts": [
          "CxPCSxEmvkTyd6tqpVcZv2QscGrzkZKBmH7R9Bs9wocT",
          "9iD8oCrLQFNd1sbhYZg2awLrsZu4f1AAZG6bHuJkLXEx",
          "32D4WyeYS7irtnGpVS2VYja5H8uUpc8zF24kd15oFD2o"
        ],
        "lastPoolPriceX64": "18455174383562030500"
      }
    ]
  }
}

Endpoints

https://transaction-v1.raydium.io/transaction/...

Path
Description

/compute/swap-base-in

Specify exact input amount

/compute/swap-base-out

Specify exact output amount

Build the transaction (post)

Serialize transaction

POST https://transaction-v1.raydium.io/transaction/swap-base-in

Builds the transaction from quote.

Request body

Name
Type
Required
Description

swapResponse

object

Yes

Response from get quote

wallet

string

Yes

User's wallet public key

txVersion

string

Yes

Transaction version (V0 or LEGACY)

wrapSol

boolean

No

Wrap SOL to wSOL for input

unwrapSol

boolean

No

Unwrap wSOL to SOL for output

inputAccount

string

No

Input token account (omit if SOL)

outputAccount

string

No

Output token account (omit if SOL)

computeUnitPriceMicroLamports

string

No

Priority fee in micro-lamports

Response

Check Priority fees (optional)

GET https://api-v3.raydium.io/main/auto-fee

Full example

Install:

Setup:

⚠️ Don't use your main wallet private key for testing.

Get quote:

Serialize:

Deserialize and send:

Need help? Ask in #dev-chatarrow-up-right on Discord.

Last updated

Was this helpful?