Pump.fun 一笔兑换扣了多少?核报价资产、费用与净收到
链小知 · 进阶 · 核验 · 依官方文档整理
按当前费表和固定交易版本核已有兑换记录,分清曲线、canonical池、custom pair及多跳,不把旧sol字段、最低输出或展示报价当实际到账。
开始前准备
- 已有原交易状态、指令/事件解码、资产mint与decimals、发送和接收账户前后余额记录,以及当时界面报价/费用记录;仅使用脱敏副本。
- 限定Solana曲线V3或PumpSwap V2记录,旧指令需要对应版本证据。费表核验日2026-10-12、正文更新2026-10-08,不追溯套给历史交易。
1. 先按场所、版本和路径归档
记录原交易是Pump曲线buy_v3/sell_v3、PumpSwap buy_v2/sell_v2,还是其他指令。保留mint、pool、quote_mint以及单池/多池路线;同名buy_v2在两个程序中不同,先看program再看方法名。
阅读固定10月8日README和相应方法。文档说旧指令仍有效,并不证明当前网页或第三方平台已经升级;版本不明时不要套“首池只收一次”的费用规则。
检查结果:网络、程序、原指令版本及路径长度有依据,缺项逐项标未知。
2. 按资产本身换算原始单位
曲线V3的amount是基础币最小单位,max_sol_cost/min_sol_output虽然保留sol名称,其实是quote基本单位;SOL配对为lamports,USDC或其他quote按该mint的实际decimals。
从已有mint/建池记录读取decimals;CreatePoolEvent提供base_mint_decimals/quote_mint_decimals。整数金额先保留为精确字符串,再按10的decimals次方换算,不能给所有币统一六位或九位。
检查结果:每个金额均附mint、原整数、decimals与显示单位;没有decimals就不算显示金额。
3. 选择当时适用的官方费表
当前SOL/USDC curve总费1.25%(creator0.300%、protocol0.95%、LP0%);已毕业canonical池分别按SOL与USDC市值表。该页市值定义为quote价格乘10亿tokens,不拿另一页面的流通市值直接选档。
non-canonical池表为总0.3%;custom pair不套SOL/USDC阶梯,Holder Rewards custom pair用发行时设定的holder rate替代creator列。若原记录只有币名/市值没有报价资产、canonical身份或奖励设置,费率仍待核。
检查结果:费用表分支、quote单位、交易发生时间和记录版本对应;百分比仅用作核对,不宣称等于钱包总扣款。
4. 把限额与成交结果分开
曲线buy_v3的max_sol_cost包括两段买入的protocol/creator费用,exact quote的spendable_quote_in含费、min_tokens_out是输出下限;sell_v3的min_sol_output为扣protocol/creator后最低quote。PumpSwap V2 buy最大quote含全部费,sell最低quote为扣全部费后。
这些参数是允许条件,不是成交结果。Mayhem exactquote partial_fill=true会跳过min_tokens_out,cashback币不能直接套curveV3/SwapV2;若交易失败则不计为成功兑换,但网络/账户费用仍单独核原记录。
检查结果:原入参和事件/余额分别列,不把最大成本、最小输出或失败尝试当实际发送/接收。
5. 检查事件的费用去向和分段
曲线V3 fee_recipient为零key表示protocol费留curve,不代表免费;PumpSwap V2零protocol recipient同样表示留pool。buyback在交易中支付,creator/holder与LP分别记录,不将名称相近或包含关系未明的费用直接重复相加。
曲线完成买入若有PostCompleteBuyEvent,TradeEvent仅曲线段,需同时核base_out/quote_in和额外段费用;两段用曲线费表。固定IDL有TradeEvent.quote_amount与旧sol_amount,不改字段名或猜两者一致。
检查结果:逐事件保留字段原名、资产与段落;无法确定费用包含关系时停止计算总费,保留原数字。
6. 对回实际净接收和额外费用
PumpSwap BuyEvent区分quote_amount_in与user_quote_amount_in,SellEvent区分quote_amount_out与user_quote_amount_out,不能用池侧金额代替用户侧净额。最后仍要对同一成功交易的接收Token Account及余额变化,SOL与wSOL包装/解包也要分资产账户。
把实际网络费、优先费、账户创建/补租和第三方界面收费另列,迁移若触发还有SOL费用。多跳当前Pump界面首池protocol、末池creator/holder及LP各一次;未适配界面可能逐池收费,不能按一个池费率核全路线。
检查结果:用户侧接收账户与净变化可对应;只见事件、不见账户变化时标“事件金额已核,实际接收待核”。
7. 保存偏差和失败原因
保留当时展示费、原交易收费与读取时间的差异。官方明确展示可能不精确且费率可改,不能用今天表格覆盖历史实付,也不把滑点、价格冲击算成平台手续费。
没有对应版本/quote资产/接收记录,或只剩回滚日志时,写清缺证项;不要通过重新交易验证。Cashback指令、Holder Rewards资格与支付另有条件,持币或成功交易不等返款收到。
检查结果:能说明原输入、事件收费、用户净接收与未知项;没有把报价或奖励承诺作为到账凭证。
怎样确认完成
- 形成按资产、指令、路径、时间拆开的原费用/限额/净接收核对表。
- 已声明缺失的decimals、费用包含关系或余额回执;本教程未执行报价、兑换或到账测试。
常见错误与边界
- quote资产与被买卖基础币不同;fee可能在不同池的不同资产收取,不能未经换算直接求和。
- 旧README/global示例费率不是当前表;毕业费与兑换费不同,EVM桥费不套Solana公式。
- virtual_quote_reserves可负,不能只看Pool原始quote余额推价格或重复手算报价。