# Pump.fun 一笔兑换扣了多少？核报价资产、费用与净收到

整理：链小知（AI 辅助）
资料核对日期：2026-10-12
引用地址：https://lianxiaozhi.com/tools/guides/pump-fun-trade-quote-fees-net-received
难度：进阶
核验方式：官方文档整理，未执行真实账户操作

按当前费表和固定交易版本核已有兑换记录，分清曲线、canonical池、custom pair及多跳，不把旧sol字段、最低输出或展示报价当实际到账。

## 使用工具
- [Pump.fun / PumpSwap](https://lianxiaozhi.com/tools/pump-fun) · [官方入口](https://pump.fun/)

## 前置条件
- 已有原交易状态、指令/事件解码、资产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和相应方法。文档说旧指令仍有效，并不证明当前网页或第三方平台已经升级；版本不明时不要套“首池只收一次”的费用规则。

核对结果：网络、程序、原指令版本及路径长度有依据，缺项逐项标未知。
依据：[Pump：固定10月8日版本总览](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/README.md)
依据：[Pump：V3输入、成本上限与失败](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/instructions/TRADE_V3.md)
依据：[PumpSwap：V2交易限额和费用事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/instructions/PUMP_SWAP_TRADE_V2.md)
依据：[Pump.fun：2026-10-08官方费用表](https://pump.fun/docs/fees)

## 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就不算显示金额。
依据：[Pump：V3输入、成本上限与失败](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/instructions/TRADE_V3.md)
依据：[Pump：固定IDL的迁移、Trade与PostComplete事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/idl/pump.json)
依据：[PumpSwap：固定Pool和买卖事件IDL](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/idl/pump_amm.json)

## 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单位、交易发生时间和记录版本对应；百分比仅用作核对，不宣称等于钱包总扣款。
依据：[Pump.fun：2026-10-08官方费用表](https://pump.fun/docs/fees)
依据：[PumpSwap：池身份与有效储备](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/PUMP_SWAP_README.md)
依据：[Pump：固定IDL的迁移、Trade与PostComplete事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/idl/pump.json)

## 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；若交易失败则不计为成功兑换，但网络/账户费用仍单独核原记录。

核对结果：原入参和事件/余额分别列，不把最大成本、最小输出或失败尝试当实际发送/接收。
依据：[Pump：V3输入、成本上限与失败](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/instructions/TRADE_V3.md)
依据：[PumpSwap：V2交易限额和费用事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/instructions/PUMP_SWAP_TRADE_V2.md)

## 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，不改字段名或猜两者一致。

核对结果：逐事件保留字段原名、资产与段落；无法确定费用包含关系时停止计算总费，保留原数字。
依据：[Pump：V3输入、成本上限与失败](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/instructions/TRADE_V3.md)
依据：[Pump：Synthetic Migration及分段事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/SYNTHETIC_MIGRATION.md)
依据：[Pump：固定IDL的迁移、Trade与PostComplete事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/idl/pump.json)
依据：[PumpSwap：V2交易限额和费用事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/instructions/PUMP_SWAP_TRADE_V2.md)
依据：[PumpSwap：固定Pool和买卖事件IDL](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/idl/pump_amm.json)

## 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各一次；未适配界面可能逐池收费，不能按一个池费率核全路线。

核对结果：用户侧接收账户与净变化可对应；只见事件、不见账户变化时标“事件金额已核，实际接收待核”。
依据：[PumpSwap：固定Pool和买卖事件IDL](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/idl/pump_amm.json)
依据：[PumpSwap：V2交易限额和费用事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/instructions/PUMP_SWAP_TRADE_V2.md)
依据：[Pump：V3输入、成本上限与失败](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/instructions/TRADE_V3.md)
依据：[Pump.fun：2026-10-08官方费用表](https://pump.fun/docs/fees)

## 7. 保存偏差和失败原因

保留当时展示费、原交易收费与读取时间的差异。官方明确展示可能不精确且费率可改，不能用今天表格覆盖历史实付，也不把滑点、价格冲击算成平台手续费。

没有对应版本/quote资产/接收记录，或只剩回滚日志时，写清缺证项；不要通过重新交易验证。Cashback指令、Holder Rewards资格与支付另有条件，持币或成功交易不等返款收到。

核对结果：能说明原输入、事件收费、用户净接收与未知项；没有把报价或奖励承诺作为到账凭证。
依据：[Pump.fun：2026-10-08官方费用表](https://pump.fun/docs/fees)
依据：[Pump：固定10月8日版本总览](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/README.md)
依据：[Pump：V3输入、成本上限与失败](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/instructions/TRADE_V3.md)

## 常见错误
- quote资产与被买卖基础币不同；fee可能在不同池的不同资产收取，不能未经换算直接求和。
- 旧README/global示例费率不是当前表；毕业费与兑换费不同，EVM桥费不套Solana公式。
- virtual_quote_reserves可负，不能只看Pool原始quote余额推价格或重复手算报价。

## 完成检查
- 形成按资产、指令、路径、时间拆开的原费用/限额/净接收核对表。
- 已声明缺失的decimals、费用包含关系或余额回执；本教程未执行报价、兑换或到账测试。

## 相关知识
- [滑点和价格冲击有什么区别？为什么成交价会变化](https://lianxiaozhi.com/learn/slippage-and-price-impact)
- [Solana 钱包地址、mint 与 Token Account 有什么区别？](https://lianxiaozhi.com/learn/solana-token-accounts)
- [Gas 怎么计算？交易失败为什么仍可能扣费](https://lianxiaozhi.com/learn/gas-and-failed-transactions)

## 官方依据
- [Pump.fun：2026-10-08官方费用表](https://pump.fun/docs/fees)
- [Pump：固定10月8日版本总览](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/README.md)
- [Pump：V3输入、成本上限与失败](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/instructions/TRADE_V3.md)
- [PumpSwap：V2交易限额和费用事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/instructions/PUMP_SWAP_TRADE_V2.md)
- [Pump：Synthetic Migration及分段事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/SYNTHETIC_MIGRATION.md)
- [Pump：固定IDL的迁移、Trade与PostComplete事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/idl/pump.json)
- [PumpSwap：固定Pool和买卖事件IDL](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/idl/pump_amm.json)
- [PumpSwap：池身份与有效储备](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/PUMP_SWAP_README.md)
