在 Solana 上做 swap,你会用 DEX 聚合器。聚合器把"我想 swap X 换 Y"变成跨多 DEX 的最佳路由,自动处理本来会是你问题的路由复杂性。Jupiter 是主导选择,但不是唯一,用哪个看你优化什么。
这篇覆盖 Solana DEX 聚合器景观:谁有竞争力、各自擅长什么、聚合器选择怎么影响你应用的行为。
DEX 聚合器做什么
基础:聚合器跨多个 DEX 和路由路径搜索你 swap 的最佳输出。组件:
- Quote API——给一个对子和金额、返回带预期输出的最佳路由
- 路由引擎——搜索可能路径的空间
- DEX 集成——所有主要 Solana DEX 的预搭连接
- 交易构造——给选出的路由搭准备签名的交易
聚合器处理复杂性。你的应用只指定"swap X 换 Y",拿回交易。
值得知道的聚合器
Jupiter。 主导聚合器。强路由、广 DEX 覆盖、成熟 API。大多数搭建者的默认。
1inch。 原以太坊优先,现在多链含 Solana。比 Jupiter 在 Solana 上不那么成熟但仍可信。
直接 DEX 集成。 技术上不算聚合器,但值得提:一些具体用例直接走 DEX(Raydium、Orca)能比走聚合器快。权衡是你自己处理路由。
OpenBook(原 Serum)。 订单簿 DEX 而不是 AMM。不同模型;想要订单簿的交易者相关。
95% 的用例,Jupiter 就是对的答案。例外是有具体的高频或专门化需求。
Jupiter 为什么在 Solana 上主导
Jupiter 优势:
全面 DEX 覆盖。 集成了大多数 Solana DEX——Raydium、Orca、Meteora、Lifinity、Phoenix 等。其他聚合器通常覆盖更窄。
强路由质量。 他们的搜索算法找有竞争力的路由,包含简单聚合器漏掉的多跳路径。
成熟 API。 Quote 和 swap API 稳定、文档好、易集成。
版本化交易/ALT。 用现代 Solana 交易功能,让单笔交易能含更多账户。
持续改善。 活跃团队不断加功能和集成。
大多数 Solana 应用做 swap,Jupiter 是阻力最小路径,而且通常给最好的结果。
什么时候不该用 Jupiter
直接集成胜过聚合的几个情况:
可预测的单对子 swap。 总在 Raydium 上 swap SOL → USDC,直接走、跳过 Jupiter 路由层。省几百毫秒。
自定义路由逻辑。 你对 Jupiter 漏掉的路由有具体理论、能实现自定义路由。罕见但存在。
具体 DEX 功能。 一些功能(Orca 上的集中流动性 LP 管理、PsyOptions 上的期权)要直接集成。聚合器不暴露。
延迟极端的应用。 亚 100ms 反应式机器人要直接构造。Jupiter API 调用加延迟。
大多数应用,这些都不适用。用 Jupiter。
你的 RPC 怎么影响 Jupiter swap
常见误解:"我用 Jupiter;swap 质量是 Jupiter 给的。"错。
Jupiter 构造交易。你通过 RPC 提交。 RPC 影响:
- 交易多快上链——更快 RPC = 更好 fill(价格还没移动)
- 会不会被夹——Anti-MEV RPC = 比预期更紧的 fill;非 MEV 保护 RPC = 被夹税
- 拥堵下能不能上链——SWQoS 感知 RPC = 负载下也能上链
通过坏 RPC 提交的好 Jupiter 路由给你坏 fill。Jupiter 配写优化的 RPC。
路由质量对比
要直接对比聚合器,你要:
- 挑一个代表性的 swap 对子集合
- 同对子和金额从每个聚合器拿 quote
- 对比预期输出
主要对子上差别通常很小(每个都通过同样的大池子路由)。Niche 对子上差别更大(覆盖不同)。
Jupiter 在覆盖上通常赢;主要对子上,其他聚合器路由质量有竞争力。
DEX 覆盖对比
Jupiter 集成的 DEX(部分列表、会随时间变):
- Raydium(AMM v4 和 CLMM)
- Orca(Whirlpool 集中流动性)
- Meteora(DLMM、Dynamic AMM、Stable Pool)
- Lifinity(主动 AMM)
- Phoenix(订单簿)
- Saber(稳定币)
- 很多其他
更小的聚合器通常好覆盖前 3-5 个 DEX;长尾覆盖差。
长尾代币上 Jupiter 通常有更好路由。顶部对子的主要 swap,所有可信聚合器相似。
集成成本
Jupiter API 集成。 从"我没用过"到"我有能跑的 swap"大概 30-60 分钟。Quote → swap → 提交。文档好。
直接 DEX 集成。 看 DEX,几小时到几天。你处理路由、账户管理、指令构造。
自定义聚合器(自己写)。 几天到几周。除非有非常具体的需求,通常不值得。
大多数搭建者,光看集成成本 Jupiter 就赢。
这周可以做什么
集成聚合器:
- 没具体理由不用 Jupiter 就用。 95% 情况的默认。
- 配 Anti-MEV 写 RPC。 Jupiter 好路由被夹就浪费了。
- 设
dynamicComputeUnitLimit: true。 Jupiter 路由可能要不同 CU。 - 用
dynamicSlippage: true。 让 Jupiter 基于路由特征挑滑点。 - 端到端测集成。 Quote → swap → 签 → 提交 → 确认。每步验证。
- 搭每笔签名级别的遥测。 跟踪哪些 swap 上链了、设了什么滑点、fill 对比预期。
Jupiter 提交侧试一下 BoltTx
Jupiter 给路由、BoltTx 给提交:
import { Connection, VersionedTransaction } from "@solana/web3.js";
const connection = new Connection(
"https://bolttx.io/?api-key=YOUR_API_KEY",
"processed"
);
const tx = VersionedTransaction.deserialize(swapTransactionBuf);
tx.sign([wallet]);
const signature = await connection.sendTransaction(tx, {
skipPreflight: true,
maxRetries: 0,
});
原生 Anti-MEV 路由保证 Jupiter 算出来的好路由,不会在提交环节被三明治夹掉。免费档注册——读服务商配你自己挑的。
常见问题
该总用 Jupiter 吗? 大多数情况是。例外是具体高频或专门需求。
Jupiter 收费吗? Jupiter API 本身免费。你付的是实际 DEX swap 费 + 链上 priority fee,用 Jito 的话再加一笔 Jito tip。
1inch 在 Solana 上怎么样? 比 Jupiter 在 Solana 上不那么成熟。用 1inch 的跨链团队合理;Solana 优先 app,Jupiter 仍更好。
能缓存 Jupiter quote 吗? 非时间敏感能。延迟敏感的机器人要 fetch 新的。
dynamicSlippage 是什么、该用吗?
是——让 Jupiter 基于路由挑滑点容差、通常比你固定值好。