# Pump.fun 曲线显示完成，怎样核对实际迁移池？

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

用已有曲线、交易日志和Pool记录，区分Complete、Synthetic Migration与真实PumpSwap池；不会把指数0或毕业标记当迁移完成。

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

## 前置条件
- 已有同一Solana网络的mint、Pump曲线解码记录、相关交易日志与可能的PumpSwap Pool数据；记录获取时间、slot和解码器/指令版本，不提供秘密。
- 相关数据缺失时只标待核，不为核对而触发买卖或migrate。本教程静读官方文档，未查询链或验证用户记录。

## 1. 锁定 mint、网络和程序

把已有记录的mint与网络写在核对表，确认曲线属于Pump程序6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P，Pool若存在则属于PumpSwap程序pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA。文档同时列Mainnet和Devnet，地址相同不能替代网络检查。

分别保留基础币mint与quote_mint。曲线默认零quote_mint表示SOL配对，而新交易传入wrapped SOL mint；不要把钱包地址、mint、曲线地址和池地址混成一个对象。

核对结果：网络、两个程序角色、mint与数据时间均明确；名称相同或地址后缀相似不算核对完成。
依据：[Pump：曲线完成与旧迁移说明](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/PUMP_PROGRAM_README.md)
依据：[PumpSwap：池身份与有效储备](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/PUMP_SWAP_README.md)
依据：[Pump：V3输入、成本上限与失败](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/instructions/TRADE_V3.md)

## 2. 读取曲线完成状态

查看已有曲线的complete与real_token_reserves；官方完成条件为complete=true且真实可售token已耗尽。账户字段新旧长度不同，先确认解码器对应固定IDL，勿把字段未展示当已完成。

记录quote_mint、is_mayhem_mode及post_complete_base_out/post_complete_quote_in是否存在。后两字段在旧完成币或没有合成段时为0，零值不能单独证明没有迁移。

核对结果：完成标记和真实储备来自同一时点的曲线记录；缺字段或不同slot无法互相验证时保留未知。
依据：[Pump：曲线完成与旧迁移说明](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/PUMP_PROGRAM_README.md)
依据：[Pump：固定IDL的迁移、Trade与PostComplete事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/idl/pump.json)
依据：[Pump：Synthetic Migration及分段事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/SYNTHETIC_MIGRATION.md)

## 3. 区分合成买入与池真正创建

若原买入采用buy_v3或buy_exact_quote_in_v3，按同一成功交易中的TradeEvent、CompleteEvent、PostCompleteBuyEvent检查曲线段和额外段。合成段先按待迁移储备成交，当时Pool可以尚不存在。

只有越过曲线余量的那笔符合该规则；之后curve上的买卖会以BondingCurveComplete失败直至迁移。Mayhem不使用合成迁移，旧v2/legacy也不能套此结论。

核对结果：把“曲线完成”“合成段已发生”“Pool已创建”列为三个状态；仅CompleteEvent不得勾选第三项。
依据：[Pump：Synthetic Migration及分段事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/SYNTHETIC_MIGRATION.md)
依据：[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)

## 4. 对上真实迁移事件

在已有后续成功交易记录中找migrate/migrate_v2及CompletePumpAmmMigrationEvent，将mint、bonding_curve、quote_mint、pool逐一对回前面的记录；SOL配对按曲线零quote_mint与新指令wrapped SOL的约定比较，不要求两个表示字面相等。固定IDL的migrate_v2将Pool绑定到index0、pool_authority、base_mint与quote_mint。

迁移事件的sol_amount虽然保留旧字段名，IDL注释说明它是该曲线quoteMint金额，不应一律显示为SOL。日志只来自失败尝试、解码字段缺失或尚无后续记录时，停在待核状态。

核对结果：已有成功迁移记录中的pool与同mint/quote曲线能够对应；没有事件不能把等待写成失败或已迁移。
依据：[Pump：固定IDL的迁移、Trade与PostComplete事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/idl/pump.json)
依据：[Pump：曲线完成与旧迁移说明](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/PUMP_PROGRAM_README.md)
依据：[Pump：Synthetic Migration及分段事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/SYNTHETIC_MIGRATION.md)

## 5. 核 Pool 的身份和两侧资产

读取已有Pool的index、creator、base_mint、quote_mint及两vault，确认与迁移交易pool相同。普通create_pool也允许自建池，index=0本身不充分证明是该币canonical pool。

migrate_v2的pool_authority在Pump程序按pool-authority/base_mint派生，再用于PumpSwap的pool/index0/creator/base/quote组合。比较已保存解码/派生结果即可；不要仅凭同名池或流动性数值选择。

核对结果：迁移pool、Pool账户、base/quote及vault一致；若只是另一个同币池，明确标为未证canonical。
依据：[Pump：固定IDL的迁移、Trade与PostComplete事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/idl/pump.json)
依据：[PumpSwap：池身份与有效储备](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/PUMP_SWAP_README.md)
依据：[PumpSwap：固定Pool和买卖事件IDL](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/idl/pump_amm.json)

## 6. 保留最终记录和仍未确认的结果

保存完成曲线slot、迁移交易状态与Pool读取slot，不把不同时间的储备强行相等。合成买入后的真实Pool按剩余储备打开，不能套“必须等于合成买入前储备”的检查。

官方描述迁移所得LP销毁，但Pool.lp_supply与直接burn存在不同口径；毕业、LP销毁和可卖出/可提现余额分开。持币到账仍须同交易的接收账户和余额变化记录，不能由迁移事件代替。

核对结果：可分别说明哪个状态有证据、哪个待核；不把LP/迁移或账户数据当安全、收益或实际接收保证。
依据：[Pump：Synthetic Migration及分段事件](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/SYNTHETIC_MIGRATION.md)
依据：[Pump：曲线完成与旧迁移说明](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/PUMP_PROGRAM_README.md)
依据：[PumpSwap：池身份与有效储备](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/PUMP_SWAP_README.md)
依据：[PumpSwap：固定Pool和买卖事件IDL](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/idl/pump_amm.json)

## 常见错误
- 旧Raydium withdraw已禁用，旧教程不能代替当前PumpSwap路线。
- 同一mint可有多个池，canonical身份不能由名称、index0或池余额单项推出。

## 完成检查
- 形成网络/mint/curve/迁移pool/资产/读取时点的对应表，明确Complete与实际迁移证据。
- 仅完成记录核对；未触发迁移，也未验收任何资金接收或程序部署。

## 相关知识
- [Bonding curve 与毕业是什么？完成曲线后还要核对迁移](https://lianxiaozhi.com/learn/bonding-curve-and-graduation)
- [如何核对 Meme 币？先确认链、合约地址和交易池](https://lianxiaozhi.com/learn/meme-token-identity)
- [Solana 钱包地址、mint 与 Token Account 有什么区别？](https://lianxiaozhi.com/learn/solana-token-accounts)

## 官方依据
- [Pump：曲线完成与旧迁移说明](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/PUMP_PROGRAM_README.md)
- [PumpSwap：池身份与有效储备](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/docs/PUMP_SWAP_README.md)
- [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：固定Pool和买卖事件IDL](https://raw.githubusercontent.com/pump-fun/pump-public-docs/2293f9a66c654e9fe82dc5e8f4618538f24bb35f/idl/pump_amm.json)
