Skip to main content

提供流动性 (V3)

V3 允许 LP 将流动性集中在特定价格范围内,以获得更高的资本效率。每个头寸都是一个具有唯一参数的 NFT。

创建头寸

1. 选择池参数

  • 代币对:两种代币
  • 手续费等级:0.01%、0.05%、0.3% 或 1%(参阅 手续费等级
  • 价格范围[tickLower, tickUpper](参阅 Ticks 与范围

2. 获取当前池状态

3. 计算 Tick 范围

将你期望的价格范围对齐到池的 tick 间距:

4. 授权代币

5. 铸造头寸

token0 的地址必须小于 token1。调用前请先排序。

使用原生 KAS

如果其中一个代币是 KAS,将其作为 value 发送,而不是授权 WKAS:

增加流动性

向现有头寸(相同 tick 范围)追加更多代币:

领取手续费

领取累积的交易手续费:

移除流动性

1. 减少流动性

2. 提取代币

减少流动性后,代币由 Position Manager 持有。调用 collect() 来提取:

3. 销毁 NFT(可选)

移除所有流动性并领取所有代币/手续费后:

单边头寸

你可以创建完全在当前价格之上或之下的头寸:

要点

  • 每个头寸都是一个 NFT — 跟踪 tokenId 以进行后续操作
  • 手续费必须主动领取(不会自动复利)
  • 超出范围的头寸不会赚取手续费,直到价格重新进入范围
  • 范围越窄 = 资本效率越高,但需要更积极的管理
  • 使用 Position Manager 上的 multicall() 可以在一笔交易中批量执行减少流动性 + 领取