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 — トークンプログラム内の演算がオーバーフローしました。数量が供給量や decimals で表せる上限を超えています。

スリッページ値が無効

Custom 6004 — スリッページパラメータ自体が拒否されました。0、負の値、またはプログラムの上限超過です。

プラットフォーム手数料アカウントの欠落

Custom 6003 — ルートが要求するプラットフォーム手数料アカウントが渡されず、実行前にスワップが拒否されました。

ルートの計算が無効

Custom 6002 — プログラム内部の計算がルートを拒否しました。極小額、極端な価格影響、ほぼ流動性のないプールが典型です。

入力/出力インデックスが無効

Custom 6006 — ルートがアカウント一覧に存在しないトークン位置を参照しました。市場の問題ではなく、ルート自体の不正です。