Skip to main content

你将构建什么

学完本教程,你就能用代码实现:
  • Zap-In(单币入池):找到一个池子,只用一种代币(SOL)添加流动性
  • Zap-Out(一键出池):把流动性提取回你的钱包
不需要任何智能合约知识:LP Agent 通过简单的 REST API 帮你搞定一切。
LP Agent 为 zap-in 和 zap-out 都内置了基于 Jito bundle 的交易上链服务。相比直接通过 RPC 提交交易,上链成功率明显更高:而且免费使用。

工作原理

Zap-In 流程

向 Meteora 池子添加流动性分为 4 步:
什么是 “zap-in”? 你只需要提供 SOL,API 会在添加流动性之前自动把它兑换(swap)成两种代币的正确比例。不需要先手动买币。

Zap-Out 流程

提取流动性的流程也差不多:

理解关键概念

开始写代码之前,先了解几个关键概念:

前置条件

  • 一个 LP Agent API key(在 API Dashboard 获取)
  • 一个 Solana 钱包 keypair
  • Node.js >= 18

分步教程:Zap-In

第 1 步:初始化

先配置好 API 客户端和钱包:

第 2 步:发现池子

浏览可用的池子,按你的条件筛选。API 会按你选定的指标返回排好序的池子。
返回内容: 一个池子列表,包含地址、交易对、TVL、交易量和协议类型。API 同时支持 Meteora DLMM 和 DAMM V2 池子:同一套代码两种都能用。

第 3 步:获取池子信息并设定区间

拉取池子的当前状态,找到 active bin(当前价格所在的位置)。你要围绕这个 bin 放置流动性。
如何选择区间: 越宽 = 越不容易超出区间,但手续费 APR 越低。越窄 = 手续费越高,但需要更频繁地再平衡。建议从每边 30-70 个 bin 开始。

第 4 步:生成 Zap-In 交易

告诉 API 你想存入多少 SOL。它会生成未签名的交易,把你的 SOL 兑换成正确的代币比例,然后添加流动性。
已经持有两种代币?改用 mode: "normal",并用 amountX 和 amountY 代替 inputSOL,就能跳过兑换这一步。
返回内容: Base64 编码的未签名交易,分成兑换交易(用来转换 SOL)和添加流动性交易两类,另外还有新仓位的元数据。

第 5 步:签名并上链

用你的钱包签名这些交易,然后通过 LP Agent 的 Jito 上链接口提交。
就这么简单! 你的流动性已经生效,开始赚取手续费了。

分步教程:Zap-Out

第 1 步:查找你的当前仓位

查询你的钱包,列出所有当前 LP 仓位。
返回内容: 每个仓位都包含加密 ID(提取时要用)、当前价值、盈亏(PnL)、是否在区间内,以及代币详情。

第 2 步:获取报价(可选)

提取之前,先预览你能收到多少。API 会给出不同输出选项的报价。

第 3 步:生成 Zap-Out 交易

选择提取多少,以及想收到哪种代币。
输出选项:

第 4 步:签名并上链

始终使用 landing-decrease-tx 接口,不要直接通过 RPC 提交交易。LP Agent 的 Jito 集成上链成功率高得多,而且完全免费。

参考

策略类型

常见错误

小贴士

  • 交易上链:始终使用 LP Agent 的上链接口,不要直接走 RPC。通过 Jito 成功率更高:而且免费。
  • DAMM V2 池子:zap-in 和 zap-out 都会自动识别池子类型。同一套代码适用于 DLMM 和 DAMM V2。
  • 部分 Zap-Out:把 bps 设为小于 10000 的值,就只提取一部分(例如 5000 = 50%)。

完整脚本

下面把上面所有内容合成一个可以直接复制粘贴的脚本:

下一步