Raydium Protocol - Complete Integration Guide The definitive guide for integrating Raydium - Solana's leading AMM and liquidity infrastructure powering DeFi since 2021. What is Raydium? Raydium is a decentralized exchange on Solana providing: Token Swapping - Fast, cheap swaps via smart routing across all pool types Liquidity Provision - Earn trading fees and rewards by providing liquidity Token Launches - LaunchLab for permissionless token launches with bonding curves Perpetual Trading - Leverage trading on crypto assets Key Statistics Most widely integrated liquidity infrastructure on Solana 35,000+ tokens launched via LaunchLab (2025) Multiple pool types for different use cases Core Products Pool Types Type Description Best For CLMM Concentrated Liquidity Market Maker Professional LPs, stablecoin pairs, active management CPMM Constant Product (x*y=k) with Token22 New token launches, simple integrations AMM V4 Classic AMM + OpenBook CLOB Existing markets, hybrid liquidity Additional Features LaunchLab - Permissionless token launches with bonding curves Farms - Yield farming and staking rewards Burn & Earn - Permanent liquidity locking Trade API - HTTP API for swap routing API Overview 1. SDK (TypeScript) Package: @raydium-io/raydium-sdk-v2 For programmatic integration with full control over pools, positions, and transactions. 2. Trade API (HTTP) Base URL: https://transaction-v1.raydium.io For swap routing - get quotes and serialized transactions via HTTP. 3. Data API Base URL: https://api-v3.raydium.io For pool data, token lists, farm info, and configurations. Quick Start Installation npm install @raydium-io/raydium-sdk-v2
or
yarn
add
@raydium-io/raydium-sdk-v2
Basic Setup
import
{
Raydium
}
from
'@raydium-io/raydium-sdk-v2'
;
import
{
Connection
,
Keypair
}
from
'@solana/web3.js'
;
import
bs58
from
'bs58'
;
// Setup connection and wallet
const
connection
=
new
Connection
(
'https://api.mainnet-beta.solana.com'
)
;
const
owner
=
Keypair
.
fromSecretKey
(
bs58
.
decode
(
'YOUR_SECRET_KEY'
)
)
;
// Initialize SDK
const
raydium
=
await
Raydium
.
load
(
{
connection
,
owner
,
cluster
:
'mainnet'
,
disableLoadToken
:
false
,
// Load token list
}
)
;
// Access token data
const
tokenList
=
raydium
.
token
.
tokenList
;
const
tokenMap
=
raydium
.
token
.
tokenMap
;
// Access account data
const
tokenAccounts
=
raydium
.
account
.
tokenAccounts
;
Pool Types
CLMM (Concentrated Liquidity)
Allows LPs to concentrate liquidity in specific price ranges for higher capital efficiency.
// Fetch CLMM pool
const
poolId
=
'POOL_ID_HERE'
;
const
poolInfo
=
await
raydium
.
clmm
.
getPoolInfoFromRpc
(
poolId
)
;
// Or from API (mainnet only)
const
poolData
=
await
raydium
.
api
.
fetchPoolById
(
{
ids
:
poolId
}
)
;
CPMM (Constant Product)
Simplified AMM without OpenBook market requirement, supports Token22.
// Fetch CPMM pool
const
cpmmPool
=
await
raydium
.
cpmm
.
getPoolInfoFromRpc
(
poolId
)
;
AMM (Legacy)
Classic AMM integrated with OpenBook central limit order book.
// Fetch AMM pool
const
ammPool
=
await
raydium
.
liquidity
.
getPoolInfoFromRpc
(
{
poolId
}
)
;
Core Operations
Swap
import
{
CurveCalculator
}
from
'@raydium-io/raydium-sdk-v2'
;
// Calculate swap
const
{
amountOut
,
fee
}
=
CurveCalculator
.
swapBaseInput
(
{
poolInfo
,
amountIn
:
1000000n
,
// lamports
mintIn
:
inputMint
,
mintOut
:
outputMint
,
}
)
;
// Execute CPMM swap
const
{
execute
}
=
await
raydium
.
cpmm
.
swap
(
{
poolInfo
,
inputAmount
:
1000000n
,
inputMint
,
slippage
:
0.01
,
// 1%
txVersion
:
'V0'
,
}
)
;
await
execute
(
{
sendAndConfirm
:
true
}
)
;
Add Liquidity
// CPMM deposit
const
{
execute
}
=
await
raydium
.
cpmm
.
addLiquidity
(
{
poolInfo
,
inputAmount
:
1000000n
,
baseIn
:
true
,
slippage
:
0.01
,
}
)
;
await
execute
(
{
sendAndConfirm
:
true
}
)
;
Create Pool
// Create CPMM pool
const
{
execute
}
=
await
raydium
.
cpmm
.
createPool
(
{
mintA
,
mintB
,
mintAAmount
:
1000000n
,
mintBAmount
:
1000000n
,
startTime
:
new
BN
(
0
)
,
feeConfig
,
// from API
txVersion
:
'V0'
,
}
)
;
const
{
txId
}
=
await
execute
(
{
sendAndConfirm
:
true
}
)
;
Program IDs
Program
Mainnet
Devnet
AMM
675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8
DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav
CLMM
CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK
devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH
CPMM
CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C
CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW
API Endpoints
// Mainnet API
const
API_URL
=
'https://api-v3.raydium.io'
;
// Devnet API
const
DEVNET_API
=
'https://api-v3.raydium.io/main/'
;
// Common endpoints
const
endpoints
=
{
tokenList
:
'/mint/list'
,
poolList
:
'/pools/info/list'
,
poolById
:
'/pools/info/ids'
,
farmList
:
'/farms/info/list'
,
clmmConfigs
:
'/clmm/configs'
,
}
;
Transaction Options
const
{
execute
}
=
await
raydium
.
cpmm
.
swap
(
{
poolInfo
,
inputAmount
,
inputMint
,
slippage
:
0.01
,
txVersion
:
'V0'
,
// or 'LEGACY'
computeBudgetConfig
:
{
units
:
600000
,
microLamports
:
100000
,
// priority fee
}
,
}
)
;
// Execute with options
const
{
txId
}
=
await
execute
(
{
sendAndConfirm
:
true
,
skipPreflight
:
true
,
}
)
;
console
.
log
(
https://solscan.io/tx/
${
txId
}
)
;
Key Features
Feature
CLMM
CPMM
AMM
Concentrated Liquidity
Yes
No
No
Token22 Support
Limited
Yes
No
OpenBook Required
No
No
Yes
Custom Price Ranges
Yes
No
No
LP NFT Positions
Yes
No
No
LaunchLab (New)
LaunchLab simplifies token launches on Solana with customizable bonding curves:
// Create token with bonding curve via LaunchLab
const
{
execute
}
=
await
raydium
.
launchLab
.
createToken
(
{
name
:
"My Token"
,
symbol
:
"MTK"
,
uri
:
"https://arweave.net/metadata.json"
,
initialSupply
:
1_000_000_000n
,
bondingCurve
:
"linear"
,
// or "exponential"
graduationThreshold
:
85_000_000_000n
,
// 85 SOL
txVersion
:
"V0"
,
}
)
;
const
{
txId
}
=
await
execute
(
{
sendAndConfirm
:
true
}
)
;
Bonding Curve Migration
Tokens automatically migrate to AMM pools once they hit the graduation threshold (default: 85 SOL). Creators earn 10% of trading fees post-migration.
Key Milestones (2025)
35,000+
tokens launched via LaunchLab
Orb Explorer
launched for on-chain analytics
V3 Protocol (Coming)
Raydium V3 introduces a hybrid liquidity model combining:
AMM pools with OpenBook's decentralized order book
Access to
40% more liquidity
across Solana DeFi
Enhanced capital efficiency for LPs
Resources
SDK
:
https://github.com/raydium-io/raydium-sdk-V2
Demos
:
https://github.com/raydium-io/raydium-sdk-V2-demo
IDL
:
https://github.com/raydium-io/raydium-idl
CLMM Program
:
https://github.com/raydium-io/raydium-clmm
CPMM Program
:
https://github.com/raydium-io/raydium-cp-swap
AMM Program
:
https://github.com/raydium-io/raydium-amm
CPI Examples
:
https://github.com/raydium-io/raydium-cpi
Skill Structure
raydium/
├── SKILL.md # This file - complete integration guide
├── resources/
│ ├── sdk-api-reference.md # Complete SDK API
│ ├── trade-api.md # HTTP Trade API reference
│ ├── program-ids.md # All program addresses
│ ├── pool-types.md # Pool type comparison
│ ├── launchlab.md # LaunchLab documentation
│ └── github-repos.md # GitHub repositories reference
├── examples/
│ ├── swap/README.md # Token swap examples
│ ├── clmm-pool/README.md # CLMM pool creation
│ ├── clmm-position/README.md # CLMM position management
│ ├── cpmm-pool/README.md # CPMM pool operations
│ ├── liquidity/README.md # Liquidity management
│ ├── farming/README.md # Farming and staking
│ └── launchlab/README.md # LaunchLab token launches
├── templates/
│ └── raydium-setup.ts # SDK setup template
└── docs/
├── clmm-guide.md # CLMM deep dive
└── troubleshooting.md # Common issues
GitHub Repositories
Repository
Description
raydium-sdk-V2
TypeScript SDK
raydium-sdk-V2-demo
SDK examples
raydium-clmm
CLMM program (Rust)
raydium-cp-swap
CPMM program (Rust)
raydium-amm
AMM V4 program (Rust)
raydium-cpi
CPI integration examples
raydium-idl
IDL definitions