比特币 · 波场 · EVM · Solana —— 一个输入框
我的交易为什么失败了?
粘贴任意交易哈希、签名或区块浏览器链接。自动识别所在链,给出失败的程序或合约、解码后的错误,以及真正能解决问题的做法。
诊断是怎么做出来的
三步,没有黑箱。所有结论都来自验证节点实际记录的那笔交易。
定位出错的那条指令
失败交易里带着指令序号和错误类型。我们把这个序号还原成拒绝它的程序——System、SPL Token、Jupiter、Raydium、Pump.fun 等等。
解码错误码
自定义错误码是程序私有的:6001 在 Jupiter 上是滑点,在别的程序里可能是完全不同的意思。我们先把错误码对应到抛出它的程序,实在对不上再去读程序自己打的日志。
给解决办法,而不只是错误码
每条诊断最后都给出可执行的动作——调高滑点、补 SOL、重建代币账户、刷新报价——外加原始证据,让你自己也能核对结论。
一个输入框,覆盖九条链
不需要选网络,也就不会选错。输入格式决定属于哪一族,哈希会在该族的所有链上并行探测。
最常见的五类失败
每一行都链到完整说明:成因、解决清单,以及真实的日志样例。
| 你看到的 | 它的含义 | 快速处理 |
|---|---|---|
滑点超出允许范围custom program error 0x1771 |
价格波动超过了你设的滑点上限,所以兑换被取消,而不是按更差的价格成交。 | 稍微调高滑点,或减小交易金额。 |
SOL 不足以支付手续费InsufficientFundsForFee |
付手续费的账户没有 SOL 来支付网络费用和新账户租金。 | 往钱包转约 0.01 SOL 后重试。 |
找不到区块哈希(已过期)BlockhashNotFound |
交易等待时间超过了区块哈希约 60–90 秒的有效期,已经过期。 | 直接重试——钱包会用新的哈希重新签名。 |
代币余额不足custom program error 0x1 |
代币账户余额少于要转出的数量,或者两条指令花掉了同一笔余额。 | 刷新余额,用更小的数量重试。 |
代币账户被冻结custom program error 0x11 |
代币发行方冻结了这个账户,只有发行方能解冻。 | 联系发行方——其他人无法解除。 |
按链浏览错误库
每条都说明错误含义、由哪个程序或合约抛出,以及让它消失的具体步骤。
交易失败时,链上到底发生了什么
Solana 交易是原子的:所有指令要么全部成功,要么全部不生效。当某个程序拒绝一条指令时,运行时会把整笔交易回滚,但手续费照扣——因为验证节点已经完成了处理和打包的工作。这就是为什么一次失败的兑换会让你损失几千 lamports,而代币余额分文未动。
钱包里看到的错误只是最表层。底下其实有三种不同的信号,而且它们经常不一致:
- 运行时错误 —— 一个
InstructionError,带着失败指令的序号,以及内置名称(如InsufficientFunds)或程序定义码(如{"Custom": 6001})。 - 程序错误码 —— 每个程序发布自己的枚举。6001 在 Jupiter 上是滑点,在别的程序上可能是权限检查。用错误的程序去解码,会得到一个自信但错误的答案,这也是错误解释器最常见的 bug。
- 程序日志 —— 程序失败前打印的消息。这是最可靠的事实:
Program JUP6… failed: custom program error: 0x1771一行就同时给出了程序和错误码。
Tx Doctor 三条都读,然后才给结论。遇到没见过的错误码,它会直接说不知道,而不是猜,并且把原始日志给你,让你自己核对。
看起来像失败、其实不是失败的情况
有两个很常见的求助其实根本不是链上失败。第一,区块哈希过期:交易签名了但从未上链,所以它根本不存在,也没有任何资金移动。第二,钱包端的模拟警告:很多界面会在提交前模拟一次兑换,你看到的红色警告是预测,不是已经发生的结果。如果链上查不到这个签名,那就什么都没发生——可以放心重试。
常见问题
我的 Solana 交易为什么失败了?
大多数失败属于四类:兑换滑点超限、SOL 不足以付手续费或租金、代币账户被冻结或根本不存在、区块哈希过期。把签名贴到上面,就能看到是哪个程序拒绝了它、错误码是什么意思。
这个工具需要我的钱包或私钥吗?
不需要。它只用只读的 RPC 调用读取公开的链上数据,从不要求你连接钱包、签名或输入助记词。任何要求这些的都是骗局。
失败的交易也会扣手续费吗?
会。基础费和优先费照扣,因为交易在被回滚之前已经被打包并执行了。通常不到一分钱。
custom program error 0x1771 是什么意思?
0x1771 就是 6001,在 Jupiter 上表示滑点超出允许范围——价格超出了你的上限,路由宁可取消兑换,也不按更差的价格成交。
以太坊、Base、比特币和波场也能查吗?
能。0x 开头的哈希会并行查询 Ethereum、Base、Arbitrum One、OP Mainnet、Polygon 和 BNB Chain,并在真正执行它的那条链上解码;64 位哈希会同时查比特币和波场;base58 字符串走 Solana。
查不到这笔交易怎么办?
要么是几秒前刚提交,要么是在上链前就过期了,要么它发生在测试网。稍等再试,或者去区块浏览器里打开这个哈希。