Trade 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 demo.

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 (lamports)

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

Endpoint
Description

/compute/swap-base-in

Specify exact input amount

/compute/swap-base-out

Specify exact output amount (slippage applies to input)


Serialize transaction

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

Builds the transaction from a 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


Priority fees

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

Returns recommended priority fees based on recent network activity.

Response

json

Tier
Description

vh

Very high

h

High

m

Medium

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-chat on Discord.

Last updated

Was this helpful?