Tx Doctor / Solana 错误库

Solana 错误库

每条都讲清楚:这个错误是什么意思、由哪个程序抛出、以及让它消失的具体步骤。

诊断我的交易

滑点超出允许范围

Custom 6001 — 价格波动超过了你允许的滑点,路由拒绝成交并取消了这笔交易。没有发生兑换,代币也没有移动。

代币余额不足

Token 0x1 — 代币账户里的代币不足以完成转账,或者这笔数量已被同一交易里更早的指令花掉。

SOL 不足以支付手续费

InsufficientFundsForFee — 付费账户里的 SOL 不够支付网络手续费,也不够支付交易新建账户所需的租金。

找不到区块哈希(已过期)

BlockhashNotFound — 交易引用的近期区块哈希已经过期,网络拒绝处理。这是超时,不是资金出了问题。

代币账户被冻结

Token 0x11 — 代币发行方冻结了这个代币账户,在发行方解冻前,该账户无法收发这个代币。

代币账户所有者不匹配

Token 0x4 — 这个代币账户属于另一个钱包,而不是签名者,程序因此拒绝移动代币。

账户未初始化或不存在

AccountNotFound — 交易需要的某个账户在链上还不存在,程序无法读写它。

交易已被处理

AlreadyProcessed — 这笔已签名交易之前就提交并处理过了。通常是重复提交,而不是新的失败。

计算预算超限

ProgramFailedToComplete — 交易在完成前用尽了计算单元,程序中途被中止。

自定义程序错误(未知错误码)

Custom ... — 某个程序用它自己定义、只有它的开发者才知道的错误码拒绝了这笔交易。失败前后的日志通常能看出原因。

网络太忙,交易未被纳入

AccountInUse — 区块或账户被挤爆,交易被丢弃。链上什么都没发生。

签名验证失败

SignatureFailure — 交易上的签名与消息不匹配:钱包签的字节和提交的字节不是同一份。

交易格式错误或不受支持

SanitizeFailure — 节点无法解析这笔交易:结构不合法,或者使用了端点不支持的版本。

SOL 不足以支付租金

InsufficientFundsForRent — 创建或充值账户后会让其余额低于免租金下限,网络因此拒绝了这笔交易。

账户会低于免租金门槛

Token 0x0 — 代币账户会被取到免租金门槛以下,代币程序不允许。

Mint 不匹配

Token 0x3 — 代币账户持有的 mint 与指令预期的不同——通常是传入了过期或错误的账户。

账户状态无效

Token 0xd — 账户存在,但不处于程序可操作的状态——例如未初始化或已关闭的代币账户。

代币计算溢出

Token 0xe — 代币程序内部的算术溢出了——数量超过该代币的供应量,或超过精度能表示的上限。

滑点参数无效

Custom 6004 — 滑点参数本身被拒绝了:为 0、为负数,或超过程序允许的上限。

缺少平台费账户

Custom 6003 — 路由需要一个平台费账户但没有传入,兑换在执行前就被拒绝了。

路由计算无效

Custom 6002 — 程序内部运算拒绝了这条路由——通常是数量极小、价格冲击极端,或池子几乎没有流动性。

输入或输出索引无效

Custom 6006 — 路由引用了账户列表里不存在的代币位置——这是路由本身畸形,不是市场问题。