Meteora 的 DLMM (Dynamic Liquidity Market Maker)是对传统 AMM 的一次重大进化。它的核心理念源自 Trader Joe 的Liquidity Book,但针对 Solana 的高频特性进行了深度优化。
如果说 Uniswap V3 是“在一段尺子上洒水”,那么 DLMM 就是“把钱放进一个个精确的盒子里”。以下是其算法的详细拆解:
核心机制:离散价格箱 (Price Bins)
传统 AMM 是连续的曲线,而 DLMM 将价格区间划分为无数个离散的“箱子” (Bins)。
零滑点成交:在每一个特定的 Bin 内部,价格是固定的。只要交易量没有耗尽这个 Bin 里的资金,交易就是零滑点(Zero Slippage)。
价格移动:当一个 Bin 的资金被买光/卖光,价格才会跳到下一个 Bin。这种“阶梯式”结构让大额交易在深流动性区间的摩擦力极小。
核心竞争力:动态手续费 (Dynamic Fees)
这是 DLMM “打败”无常损失(IL)的杀手锏。它的手续费不是固定的(如 0.3%),而是由两部分组成:
TotalFee=BaseFee+VariableFee
基础费率 (Base Fee):池子设定的最低费率。
可变费率 (Variable Fee):算法会实时监测波动率 (Volatility)。
三种经典的流动性布局 (Liquidity Shapes)
DLMM 允许你像画图一样布置你的资金,这对于你关注的“新币种”至关重要:
| 布局模式 | 图形特征 | 适用场景 |
| Spot (点状) | 均匀分布在区间内 | 最通用。 类似 Uniswap V3,适合日常波动。 |
| Curve (曲线) | 资金集中在中间,两边递减 | 防波动。 适合你想在当前价格附近获得最大收益,同时不想在价格稍有偏移时就出界。 |
| Bid-Ask (买卖价) | 资金分布在两头,中间留空 | 暴利模式。 适合波动极大的新币。它不赌价格稳,而是赌价格“上窜下跳”,通过吃掉两端的高额手续费来获利。 |
为什么适合“起步期新币”?
对于流通量刚起步的项目:
保护深度:开发者可以利用DLMM Launch Pool。它自带“绑定曲线 (Bonding Curve)”,能确保新币在开盘时不会因为一笔几百美金的单子就暴涨暴跌 90%。
吸引真实 LP:相比在 Raydium 这种被动挨打(被套利者收割 IL)的池子,专业的做市商更愿意去 DLMM,因为他们可以通过精准的 Bin 配置和动态费率来对冲风险。
JUP 路由偏好:Solana 最大的聚合器Jupiter非常喜欢 DLMM,因为零滑点的 Bin 意味着在报价时极具优势,从而能引导更多的交易量进入 DLMM 池。
潜在风险
管理成本:如果你设定的区间太窄,一旦价格跳出所有 Bins,你将不再赚取任何手续费,且仓位变成 100% 的单边资产。
空 Bin 攻击:虽然罕见,但在极低流动性下,攻击者可能通过快速小额交易使价格跳过某些 Bin 造成数据扭曲。
聚合器选择流动池的因素
在 Solana 这种由聚合器(主要是Jupiter)统治生态的市场中,你的直觉是对的:费率(Fee)和滑点(Slippage)是决定交易流向的生死线。
1. 聚合器(Jupiter)的路由逻辑:看的是“总代价”
Jupiter 在帮用户找最优路径时,计算公式不是 Fee,而是:
User Get=Input Amount−Fee−Slippage (Price Impact)
即使你的手续费是 1.0%(高于 pump.fun 的 0.25%):
对于小额交易(例如 0.1 SOL):此时滑点微乎其微,费率就成了决定性因素。此时 Jupiter 的确会优先路由去费率更低的 pump.fun。
2. DLMM 的“零滑点箱子”优势
这就是为什么我建议你用 DLMM 而不是 Raydium 标准池:
Bin 内部零滑点:在 DLMM 的每一个价格箱(Bin)内部,交易是零滑点的。
这意味着在同一个价格点,你的 1.0% 费率池子可能比 pump.fun 的 0.25% 费率 + 0.9% 隐形滑点还要划算。对于 Jupiter 这种高精度的路由算法,它能算清这笔账。
3. 币种所处的阶段很关键
如果该币还在 pump.fun 的绑定曲线上:大部分流量会被强行锁在 pump.fun 内部。你在 Meteora 开池,主要吸引的是那些由于 pump.fun 深度不足而寻求更优价格的大户。
如果已经“毕业”(即迁移到了 Raydium/Meteora):这时候 pump.fun 的交易就停止了。你的竞争对手变成了 Raydium 上的标准池(通常费率 0.25%-0.3%)。此时如果你设 1.0%,你必须保证你的流动性足够集中(箱子叠得够厚),否则流量会流向 Raydium。
4. 动态费率(Variable Fee)的妙处
在 Meteora DLMM 中,你设置的是Base Fee(基础费率)。
你可以将 Base Fee 设为0.2%(略低于 pump.fun 以抢夺流量)。
当剧烈波动(有人砸盘或拉盘)时,DLMM 会自动叠加Variable Fee(可能加到 1% 或更高)。
逻辑:平稳时,你靠低费率和 Jupiter 路由抢流量;暴动时,你靠动态费率保护自己不被无常损失(IL)亏死。
操作建议:
策略性定价:如果你想抢流量,建议将Base Fee设在0.2% - 0.25%。
堆叠深度:使用Spot或Curve模式,将资金密集堆在当前价格附近。只要你的“有效深度”比 pump.fun 好,Jupiter 就会把大单导给你。
监控路由:你可以在开池后,去 Jupiter 官网上输入交易对,展开 "Route" 详情,亲眼看看它有没有走你的 Meteora 池子。
一句话总结:费率高一点不怕,怕的是深度差。在 Web3 交易中,深度产生的低滑点往往能覆盖高出的费率。
Bins 是如何划分的? (数学逻辑)
DLMM 不像 Uniswap 那样使用平滑的曲线,而是使用等比例递增的离散区间。
Bin Step (步长):这是划分 Bins 的核心参数,单位是Basis Points (bp, 万分之一)。
计算公式:每一个 Bin 的价格是前一个 Bin 的 1+Bin Step 倍。
Pricenext=Pricecurrent×(1+Bin Step×0.0001)
直观理解:如果你设置 Bin Step 为100,意味着每相邻两个箱子之间的价格差距是1%。
为什么要分这么细?因为在同一个 Bin 内部交易是零滑点的。Bin 划分得越细(Step 越小),你对价格的控制就越精准,但价格也更容易跳出你的单个 Bin。
仓位是如何分配的? (策略形态)
当你往池子里投钱时,Meteora 提供了三种预设的“形状”来分配你的资金到这些 Bins 里:
A. Spot (点状分布) —— 均匀分配
逻辑:假设你选择了 100 个 Bins,你的资金会被平均分成 100 份,每个箱子里的金额一模一样。
场景:适合你无法判断方向,只想在一段较宽的价格范围内稳稳地赚手续费。
B. Curve (曲线分布) —— 集中分布
逻辑:资金呈“正态分布”排列。当前价格附近的 Bins 分配最多的资金,越往两边资金越少。
场景:适合震荡行情。因为大部分成交都发生在当前价附近,把重金压在这里可以极大提升资本效率,赚取更多手续费。
C. Bid-Ask (买卖价差分布) —— 两极分布
逻辑:资金呈“U型”排列。当前价附近的 Bins 几乎没钱,大量的钱分布在离当前价较远的上下两端。
场景:专门博取“大波动”。你赌的是价格会猛涨或猛跌。这种分配方式在价格剧烈拉升或砸盘时,能瞬间捕捉到极高的动态手续费。
一个仓位的生命周期示例
假设你为CoinA/SOL建立了一个Spot仓位,价格区间是 0.0008 到 0.0012:
初始状态:你的钱被切成了几十块,塞进了这之间的每一个小箱子里。
价格波动:如果价格从 0.0010 涨到 0.0011,它会穿过中间的几个 Bins。
超出范围:如果价格涨到 0.0013(超出了你的上限),你所有的 Bins 都变成了左侧 Bin。
操作建议
新币 CoinA:建议先用Curve模式,Bin Step 设在20-50。这样既有足够的深度应对小幅震荡,又能在价格跑太远前给你留出反应时间。
非对称测试:如果你只想“低吸”,你可以手动在界面上拉动条形图,只把资金(SOL)填满左侧(低价)的 Bins,而不给右侧提供任何 CoinA。
Bin 是你的“网”,Bin Step 决定了网眼的疏密,而分配策略(Spot/Curve/Bid-Ask)决定了你在哪些位置布置了更多的“网丝”。
总结
DLMM 是将“主动管理”引入了流动性提供过程。对于你这样的 Web3 开发者和投资者,DLMM 提供了一个像“编程”一样管理资产收益的机会。