PumpFun绑定曲线:Devnet上所有卖出操作均报TooLittleSolReceived错误
Solana Devnet上PumpFun绑定曲线卖出失败问题(触发TooLittleSolReceived错误)
在Solana Devnet使用PumpFun代币绑定曲线时,所有卖出操作无论金额大小均失败,触发TooLittleSolReceived错误,但买入操作完全正常。怀疑是Devnet部署的PumpFun智能合约存在问题,求其他排查线索。
代币详情
- 铸币地址:
CzUJmMSucov47sFqAyv1Pw2uLqAWrTDjHk41GFn2M3HA - 网络:Solana Devnet
- 小数位数:6
- SDK:
@pump-fun/defikit(最新版本)
正常功能 ✅
买入操作 - 成功
npx tsx node_modules/@pump-fun/defikit/cli/bonding-curve/buy-cli.ts \ --amount 1.0 \ --slippage 1000 \ --input-token my-token.json \ --wallet treasury-wallet.json \ --fee-payer fee-payer-wallet.json
结果:
- ✅ 成功用1 SOL购入100枚MY_TOKEN代币
- ✅ 交易已确认:
2g8LHjTC2sTtT5MTiKzqSSVHsBfFq2nxtiWyjmNbbxCk4aPRGuhD7RtvJYkTLtrZb7JFudwEYu3HAEWA9qgTiT9i - ✅ 实际价格:1 MY_TOKEN = 0.01 SOL
异常功能 ❌
所有卖出操作 - 失败
# 测试1:卖出0.0001 MY_TOKEN(100个最小单位) npx tsx node_modules/@pump-fun/defikit/cli/bonding-curve/sell-cli.ts \ --amount 100 \ --slippage 1000 \ --input-token my-token.json \ --wallet treasury-wallet.json \ --fee-payer fee-payer-wallet.json # 测试2:卖出0.001 MY_TOKEN(1000个最小单位) npx tsx node_modules/@pump-fun/defikit/cli/bonding-curve/sell-cli.ts \ --amount 1000 \ --slippage 1000 \ --input-token my-token.json \ --wallet treasury-wallet.json \ --fee-payer fee-payer-wallet.json # 测试3:卖出0.01 MY_TOKEN(10000个最小单位) npx tsx node_modules/@pump-fun/defikit/cli/bonding-curve/sell-cli.ts \ --amount 10000 \ --slippage 1000 \ --input-token my-token.json \ --wallet treasury-wallet.json \ --fee-payer fee-payer-wallet.json
所有测试均出现相同错误:
Transaction failed: Simulation failed. Message: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x1773. Logs: [ "Program log: Instruction: GetFees", "Program pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ consumed 3119 of 170692 compute units", "Program return: pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ AAAAAAAAAABfAAAAAAAAAB4AAAAAAAAA", "Program pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ success", "Program log: AnchorError thrown in programs/pump/src/lib.rs:509. Error Code: TooLittleSolReceived. Error Number: 6003. Error Message: slippage: Too little SOL received to sell the given amount of tokens..", "Program log: Left: 0", "Program log: Right: 1000", "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P consumed 37385 of 200000 compute units", "Program return: 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P AAAAAAAAAABfAAAAAAAAAB4AAAAAAAAA", "Program 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P failed: custom program error: 0x1773" ]
错误分析
- 错误代码:
TooLittleSolReceived(6003) - Left: 0 = 实际收到0 lamports的SOL
- Right: 1000 = 合约要求最低收到1000 lamports(0.000001 SOL)
- 核心问题:所有卖出操作的SOL返回量为0,低于合约设定的最低阈值
绑定曲线状态
// 已成功获取PDAs const bondingCurve = "77ZczXBqDL63hZ6wGJpEWvohrJ7iW1joaPPFRLhabdDM"; const globalPDA = "4wTV1YmiEkRvAtNtsSGPtUrqRYQMe5SKy2uB4Jjaxnjf"; const creatorVault = "72ZnbPGyFHR1Bz1pmVK4cgWNRUT9pCcapNiiUcWKWs3fkST17C"; // 毕业状态 const isGraduated = false; // 仍处于绑定曲线阶段
关键观察
- 行为不对称:买入操作完全正常,卖出操作全部失败
- 与金额无关:即使卖出10000个最小单位(0.01 MY_TOKEN)也失败
- 错误一致:所有卖出尝试均触发相同错误代码和信息
- 添加流动性后仍失败:买入1 SOL价值的代币后,卖出操作依旧失败
- 最低阈值矛盾:合约要求最低输出1000 lamports,但实际返回量为0
待解答问题
- 这是预期行为吗? PumpFun绑定曲线是否允许买入但拒绝所有卖出?
- 错误6003的具体原因?
TooLittleSolReceived错误到底代表什么? - 绑定曲线状态排查:有没有办法检查绑定曲线是否处于“卖出禁用”状态?
- 最低阈值疑问:为何大额卖出也只能得到0 SOL,而合约仍要求1000 lamports的最低值?
- 流动性逻辑疑问:买入代币后,难道不应该增加卖出端的流动性吗?
环境信息
- Solana网络:Devnet
- 钱包状态:拥有足够的MY_TOKEN代币和SOL余额
已尝试的解决方案
- ✅ 提高滑点容忍度(1000基点=10%)
- ✅ 尝试不同卖出金额(100、1000、10000个最小单位)
- ✅ 验证钱包拥有足够的MY_TOKEN代币
- ✅ 确认绑定曲线PDAs可正常访问
- ✅ 通过买入代币向曲线添加流动性
预期与实际行为
预期:可以将MY_TOKEN代币卖回绑定曲线以换取SOL
实际:所有卖出操作均失败,触发TooLittleSolReceived错误
标签:solana pumpfun bonding-curve defikit slippage tokens
附加背景:这是用于测试的Devnet代币。绑定曲线似乎处于完全禁用卖出的状态,形成了单向代币经济。
更新:即使买入1 SOL也无法解决问题
为验证“流动性不足导致TooLittleSolReceived错误”的假设,我进行了更大额的买入操作(1 SOL,是原总金额0.11 SOL的9倍)。但令人惊讶的是,大额买入后,所有卖出操作仍触发相同错误。这说明PumpFun绑定曲线对流动性的要求远高于预期——即使实际储备中有1 SOL也不足以支持卖出操作。绑定曲线公式受虚拟储备(30000 SOL)主导,实际储备需要达到更大规模(可能总交易量达10-100+ SOL)才能显著影响代币价格并实现成功的卖出交易。这表明TooLittleSolReceived错误不仅与初始小额买入有关,还与绑定曲线机制本身的基础流动性要求有关。
内容的提问来源于stack exchange,提问作者navalsaini
相关产品推荐
相关产品推荐

