You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Auction House CLI执行sell指令挂单NFT交易失败问题咨询

Solana Devnet Auction House CLI 挂单NFT报错解决方案

问题场景

在Solana开发网执行如下命令尝试通过Auction House CLI挂单出售NFT:

ts-node src/auction-house-cli.ts sell \
  -k /Users/wizard/.config/solana/devnet.json \
  -ah 7sghryHrhZ48DKAt8jCtaZGcX9DioVzykwAeqQhwstKn \
  --buy-price 1 \
  --mint DJPcJZkmpazb75Eu2moXjt8dfE2sTqxeZAWH6fYEFu4Q \
  --token-size 1

执行后返回报错:

wallet public key: 6SNzXuypAYyC7U41c4J6i7X5XGe9J6fG2w3iZPpoJgAV
Using cluster devnet
Rejected via websocket { InstructionError: [ 0, { Custom: 1 } ] }
Timeout Error caught {
  err: { InstructionError: [ 0, [Object] ] },
  slot: 145039789,
  confirmations: 0
}
/Users/wizard/metaplex-folder/metaplex/js/packages/cli/src/helpers/transactions.ts:136
            throw new Error(
                  ^
Error: Transaction failed: Transfer 897840 lamports to the new account
    at sendSignedTransaction (/Users/wizard/metaplex-folder/metaplex/js/packages/cli/src/helpers/transactions.ts:136:19)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async sendTransactionWithRetryWithKeypair (/Users/wizard/metaplex-folder/metaplex/js/packages/cli/src/helpers/transactions.ts:59:26)
    at async Command.<anonymous> (/Users/wizard/metaplex-folder/metaplex/js/packages/cli/src/auction-house-cli.ts:329:5)

已知前提:钱包6SNzXuypAYyC7U41c4J6i7X5XGe9J6fG2w3iZPpoJgAV持有目标NFT,用户主观判断余额足够支付交易手续费。

故障根因

报错里的两个核心信息可以直接定位问题:

  • Custom: 1是Solana系统程序的标准错误码,对应余额不足
  • Transfer 897840 lamports to the new account里的897840 lamports,正好是Solana链上165字节大小的代币账户所需的租金豁免最低押金。

挂单出售时,Auction House需要生成一个专属托管代币账户来锁仓待出售的NFT,创建这个账户的租金押金需要从卖家钱包临时扣除(后续取消挂单/交易完成关闭托管账户时,押金会原路退回)。旧版Metaplex CLI的费用计算逻辑有缺陷,只会提示用户预留几千lamports的交易签名费,不会提示用户预留这笔托管账户的租金,很多用户只留了刚好够付手续费的余额,就会触发这个转账失败的错误。
少数情况是传入的Auction House地址不属于devnet环境,派生的账户路径异常,触发无效的租金转账逻辑。

修复步骤

  • 先查询钱包实际可用的devnet SOL余额,不要主观判断余额足够:
    solana balance 6SNzXuypAYyC7U41c4J6i7X5XGe9J6fG2w3iZPpoJgAV --url devnet
    
  • 如果余额低于0.002 SOL,先领devnet空投或者转至少0.01 SOL到钱包,覆盖托管账户租金+交易签名费即可,不要只留几千lamports的手续费额度。
  • 确认传入的Auction House地址7sghryHrhZ48DKAt8jCtaZGcX9DioVzykwAeqQhwstKn是devnet环境下部署的有效实例,不要混用主网/测试网的Auction House地址。
  • 如果余额足够还是报错,更新本地Metaplex仓库代码到最新版本,修复旧版CLI的费用计算bug:
    cd /Users/wizard/metaplex-folder/metaplex/js
    git pull
    yarn install && yarn build
    
  • 重新执行最开始的sell挂单命令即可。

内容的提问来源于stack exchange,提问作者technotechkid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 02:54:24