Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
本页内容由 AI 自动翻译,所有内容以英文版本为准。查看英文版 →
什么是交易 API?
Raydium 交易 API(Route V2)是一种服务器端服务,可以构建序列化的 Solana 交换交易,而无需客户端维护 RPC 连接或集成整个 Raydium SDK。这大大简化了以下场景的集成:- 无法运行本地 RPC 客户端的 Web 前端
- 资源受限的移动应用
- 无界面交易机器人
- 聚合器和钱包提供商
工作流概览
交易 API 将流程分为两个阶段:1. 计算阶段:获取报价
调用/compute/swap-base-in 或 /compute/swap-base-out 根据当前池状态接收预期的交换输出(或所需输入)。此端点是只读的,不需要任何签名:
- 预期输出金额
- 路由细目(使用了哪些池和流动性来源)
- 价格影响
2. 交易阶段:构建并签名
获得计算响应后,将其(连同钱包和配置)传递给/transaction/swap-base-in 或 /transaction/swap-base-out:
- 一个 Base64 编码的版本化交易,已准备好签名
- 地址查找表地址(仅当 txVersion=V0 时)
- 解码交易
- 使用用户的密钥对进行签名
- 通过任何 Solana RPC 广播
- 等待确认
计算端点
GET /compute/swap-base-in
用例:用户指定输入金额,我们计算输出。
必需查询参数:
inputMint– 你要发送的代币的铸币地址outputMint– 你想要的代币的铸币地址amount– 输入金额(最小单位 lamports)slippageBps– 最大可接受滑点(基点,0–10000)txVersion–V0或LEGACY
referrerBps– 如果你有推荐人权限,收取为推荐人费用的输出基点数
GET /compute/swap-base-out
用例:用户指定所需输出,我们计算所需输入。
必需查询参数:
inputMint、outputMint、amount(所需输出)、slippageBps、txVersion
交易端点
POST /transaction/swap-base-in
为固定输入金额构建交易。
必需请求体:
wallet– 你的签名钱包地址swapResponse– 完整的计算响应对象txVersion– 交易版本computeUnitPriceMicroLamports– 优先费(微 lamports)
wrapSol– 如果为 true,为输入包装原生 SOLunwrapSol– 如果为 true,在输出中将 WSOL 解包为 SOLinputAccount– 输入的代币账户(如不包装 SOL 则必需)outputAccount– 输出的代币账户nonceInfo– 离线签名用的持久 noncejitoInfo– Jito MEV 保护捆绑参数referrerWallet– 推荐人钱包用于费用收集
POST /transaction/swap-base-out
为固定输出金额构建交易。
与 base-in 的参数相同,除了:
referrerInfo字段目前已注释(尚未实现)
响应信封
所有端点都返回标准信封:success 为 false,msg 包含错误代码(例如 REQ_WALLET_ERROR、REQ_SLIPPAGE_BPS_ERROR)。
交易响应结构
成功的交易响应如下:集成示例
以下是伪代码中的典型流程:关键参数说明
txVersion
- V0:现代 Solana 交易,带地址查找表(ALT)。序列化大小更小,费用更低。
- LEGACY:ALT 前的交易格式。较大,但适用于所有 RPC 端点。
computeUnitPriceMicroLamports
优先费用以加快区块包含。设置为 0 表示无优先费用,或设置为更高的值(例如 1000)以在拥堵的网络中竞争。单位为每计算单位的微 lamports。
slippageBps
最大滑点容限(基点)。100 = 1%,50 = 0.5%。
- 对于大多数稳定的交换,使用较低值(例如 25–50 bps)
- 对于波动或低流动性的交易对,增加滑点
wrapSol 和 unwrapSol
- wrapSol:如果为
true,API 会将你的原生 SOL 包装为 WSOL。不需要inputAccount。 - unwrapSol:如果为
true,API 会在输出中将 WSOL 解包回原生 SOL。不需要outputAccount。
false,你必须提供显式的代币账户。
网络端点
| 网络 | Mainnet | Devnet |
|---|---|---|
| 主机 | transaction-v1.raydium.io | transaction-v1-devnet.raydium.io |
| 协议 | HTTPS | HTTPS |
错误代码
常见错误信息:| 代码 | 含义 |
|---|---|
REQ_SLIPPAGE_BPS_ERROR | 滑点无效或超出范围 |
REQ_INPUT_MINT_ERROR | 输入铸币地址无效 |
REQ_OUTPUT_MINT_ERROR | 输出铸币地址无效 |
REQ_AMOUNT_ERROR | 金额不是有效数字 |
REQ_TX_VERSION_ERROR | txVersion 必须是 V0 或 LEGACY |
REQ_WALLET_ERROR | 钱包地址无效 |
REQ_INPUT_ACCOUT_ERROR | 输入代币账户缺失或无效 |
REQ_OUTPUT_ACCOUT_ERROR | 输出代币账户缺失或无效 |
UNKNOWN_ERROR | 服务器端错误;检查你的请求参数 |


