name: raydium
description: “Raydium - swaps, CLMM positions, AMM liquidity on Solana”
command: ray
emoji: “💜”
gates:
envs:
- SOLANA_PRIVATE_KEY
Raydium DEX
Raydium 是 Solana 上的高交易量去中心化交易所,拥有 AMM 池和 CLMM(集中流动性市场制造商)池。
命令
兑换
/ray swap <amount> <from> to <to> 在 Raydium 上执行兑换
/ray quote <amount> <from> to <to> 获取报价而不执行
/ray pools <token> 列出代币的池
CLMM(集中流动性)
/ray clmm positions 列出你的 CLMM 位置
/ray clmm create <pool> <lower> <upper> <amount> 开启位置
/ray clmm add <pool> <nft> <amount> 向位置添加流动性
/ray clmm remove <pool> <nft> [%] 移除流动性
/ray clmm close <pool> <nft> 关闭位置
/ray clmm harvest 收获所有奖励
AMM 流动性
/ray amm add <pool> <amountA> [amountB] 向 AMM 池添加流动性
/ray amm remove <pool> <lpAmount> 从 AMM 池移除流动性
示例
兑换
/ray swap 1 SOL to USDC
/ray quote 100 USDC to RAY
/ray pools SOL
CLMM 位置
/ray clmm positions # 列出所有位置
/ray clmm create ABC123... 100 200 1000000000 # 用价格范围开启位置
/ray clmm add ABC123... NFT456... 500000000 # 添加流动性
/ray clmm remove ABC123... NFT456... 50 # 移除 50%
/ray clmm harvest # 收获奖励
池类型
| 类型 |
描述 |
特性 |
| AMM (V4) |
标准恒定产品 AMM |
简单,高交易量 |
| CLMM |
集中流动性 |
资本效率高,赚取费用范围 |
| CPMM |
恒定产品(较新) |
费用更低 |
可用工具
兑换工具
| 工具 |
描述 |
raydium_swap |
通过 Raydium 执行兑换 |
raydium_quote |
获取报价而不执行 |
raydium_pools |
列出可用池 |
CLMM 工具
| 工具 |
描述 |
raydium_clmm_positions |
列出你的 CLMM 位置 |
raydium_clmm_create_position |
开启新的集中流动性位置 |
raydium_clmm_increase_liquidity |
向现有位置添加流动性 |
raydium_clmm_decrease_liquidity |
从位置移除流动性 |
raydium_clmm_close_position |
关闭空位置 |
raydium_clmm_harvest |
收获费用和奖励 |
raydium_clmm_swap |
直接在特定 CLMM 池上兑换 |
raydium_clmm_create_pool |
创建新的 CLMM 池 |
raydium_clmm_configs |
获取可用费用层配置 |
AMM 工具
| 工具 |
描述 |
raydium_amm_add_liquidity |
向 AMM 池添加流动性 |
raydium_amm_remove_liquidity |
从 AMM 池移除流动性 |
TypeScript API
import {
// 兑换
executeRaydiumSwap,
getRaydiumQuote,
listRaydiumPools,
// CLMM(集中流动性)
getClmmPositions,
createClmmPosition,
increaseClmmLiquidity,
decreaseClmmLiquidity,
closeClmmPosition,
harvestClmmRewards,
swapClmm,
createClmmPool,
getClmmConfigs,
// AMM 流动性
addAmmLiquidity,
removeAmmLiquidity,
} from 'clodds/solana/raydium';
// 执行兑换
const swap = await executeRaydiumSwap(connection, keypair, {
inputMint: 'So11111111111111111111111111111111111111112',
outputMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
amount: '1000000000', // 1 SOL in lamports
slippageBps: 50,
});
// 开启 CLMM 位置
const position = await createClmmPosition(connection, keypair, {
poolId: 'POOL_ID_HERE',
priceLower: 100,
priceUpper: 200,
baseAmount: '1000000000', // 1 SOL
slippage: 0.01,
});
console.log(`位置 NFT: ${position.nftMint}`);
// 列出位置
const positions = await getClmmPositions(connection, keypair);
for (const pos of positions) {
console.log(`池: ${pos.poolId}, 流动性: ${pos.liquidity}`);
}
// 向位置添加流动性
await increaseClmmLiquidity(connection, keypair, {
poolId: 'POOL_ID_HERE',
positionNftMint: 'NFT_MINT_HERE',
amountA: '500000000', // 0.5 SOL
});
// 收获奖励
const rewards = await harvestClmmRewards(connection, keypair);
console.log(`收获: ${rewards.signatures.length} 交易`);
// AMM: 添加流动性
await addAmmLiquidity(connection, keypair, {
poolId: 'AMM_POOL_ID',
amountA: '1000000000',
fixedSide: 'a',
slippage: 0.01,
});
// AMM: 移除流动性
await removeAmmLiquidity(connection, keypair, {
poolId: 'AMM_POOL_ID',
lpAmount: '1000000', // LP 代币要燃烧
slippage: 0.1,
});
环境变量
SOLANA_PRIVATE_KEY=<base58 或 JSON 数组>
SOLANA_RPC_URL=https://api.mainnet-beta.solana.com # 可选
CLMM 位置管理
开启位置
- 选择一个池(例如,SOL-USDC)
- 设置价格范围(下限,上限)
- 存入代币 - 你需要成比例地提供两种代币
管理位置
- 添加流动性:向现有位置存入更多代币
- 移除流动性:提取代币(部分或全部)
- 收获:收集赚取的交易费用
- 关闭:在移除所有流动性后关闭位置
价格范围策略
| 策略 |
范围 |
风险/回报 |
| 宽范围 |
50% - 200% 的当前 |
费用较低,较低的 IL |
| 窄范围 |
95% - 105% |
费用较高,更多的 IL 风险 |
| 全范围 |
0 - 无限 |
像标准 AMM |