L2 Gas Tracker
2026-09-13 · By L2 Gas Tracker Research

BaseまたはArbitrumでのトランザクションが失敗した理由(それでもガス代は支払われます)

Failed transaction error on a Base network swap with the gas fee still deducted

失敗したからといって、無料というわけではありません

皆がいずれ気づくことになる、意外なルールをご紹介します。ネットワークは、トランザクションの「結果」ではなく、「実行された作業」に対して手数料を課します。つまり、あなたのトランザクションは実行され、コントラクトもリバートする直前まで処理が進みました。そのすべての計算リソースは、実際に支払われた手数料によって賄われています。スワップが完了しなかったからといって、手数料が返金されることはありません。L2における朗報は以下の通りです:BaseやArbitrum上で失敗したトランザクションのコストは、通常、数ミリセント(0.001ドル)から数セント程度ですが、同一の失敗がEthereumメインネットで発生した場合、 routinely 2ドルから20ドルもの手数料が消費されます。L2は失敗の痛みを完全に取り除いたわけではありませんが、失敗を「手頃なコストで許容できる」ものに変えました。

私は自身の失敗回数を常時カウントしています。先四半期に3回発生したリバートの総コストは、約$0.03でした。本ガイドの真摯な姿勢とは——「決して失敗しない」(これは不可能です)ではなく、「稀にしか失敗せず、かつそのコストは極めて低く、失敗した際には原因を正確に把握できる」——というものです。

実際に遭遇する5つのエラー

エラー発生原因対処法
スリッページの上限超過見積もりと実行の間に価格が許容範囲を超えて変動したため — 市場のボラティリティ、あるいは流動性の薄いプールが原因です。契約は、ユーザーを守るためにリバートします。通常は0.5–1%のスリッページで十分ですが、マクロイベント発生日には2%まで許容できます。ただし、それ以上に緩く設定するとサンドイッチ攻撃を招くため、推奨されません。
出力金額不足スワップによる返金額が、ユーザーが指定した最低金額を下回る場合に発生します。これはスリッページと同じ系統のエラーであり、流動性の極めて薄いプールにおけるステーブルコイン同士の取引でよく見られます。より流動性の高いプールを利用するか、ボラティリティが落ち着くまで待ってください。
承認(Approval)の欠如初めてそのトークンを取引する際、まず「Approve」トランザクションを実行する必要があります。これを省略してスワップを試みると、コントラクト呼び出しはリバートします。まず承認(Approve)を行い、その後でスワップを実行してください — この「2回のトランザクション」の手順については、私の「ERC-20承認手数料の仕組み解説」記事をご参照ください。
ガス代用のETH不足ウォレットにUSDCは保有していますが、ネイティブETHが不足しているため、トランザクション自体が正常にブロードキャストできません。これは初心者ユーザーが最も頻繁に遭遇するエラーです。チェーン上に$5~$10相当のETHを常備しておいてください。「L2でのガス代に必要なETH量ガイド」に、具体的な計算方法が記載されています。
課税トークンによるリバート転送時に自動的に課税が発生するトークンは、AMMが依拠する「正確な残高計算」を破壊します。このため、スワップは確実に、毎回リバートします。対処法はありません — 別のトークンをご利用ください。

このリストに「ネットワークが壊れている」という項目が含まれていないことにお気づきでしょうか。BaseやArbitrumのようなチェーンレベルの本格的な障害は非常に稀であり、他の5つのエラーを確認し終える頃には、そのような原因を疑う必要はほとんどありません。

永遠に保留中:なぜあなたのトランザクションが「止まっている」ように見えるのか(実際にはそうではないことが多い)

『永遠に保留中』という焦りは、ほぼ常に表示上の問題です。BaseおよびArbitrumは通常の運用において、数秒ごとにブロックを生成し、メモリープールによる待機領域はありません——トランザクションは迅速に確定するか、あるいは即座に失敗します。したがって、5分以上もローディングスピナーが回り続けている場合、大抵は以下の2つのいずれかの原因です:① お使いのウォレットが接続しているRPCエンドポイントがチェーンの最新状態より遅れており、② (稀に発生する高負荷時において)シーケンサーキューが混雑しており、本当に数分間待たされている(つまり、完全に『止まっている』わけではない)ということです。

あらゆる推測を一瞬で終わらせる診断法:ウォレットからトランザクションハッシュをコピーし、Baseの場合はBasescan、Arbitrumの場合はArbiscanに貼り付けてください。ブロック・エクスプローラーは事実を示す唯一の情報源です——『Success(成功)』と表示されていれば、単にウォレットがまだ更新されていないだけです(ネットワークを一度切り替えて戻す、またはページを再読み込みしてください);『Reverted(リバート)』と表示されていれば、ガス代は支払われていますが、以下で説明するような理由により失敗しています;もし該当するトランザクションがエクスプローラー上にまったく存在しない場合、それはトランザクションがチェーンに到達しておらず、何の費用も発生していません。エクスプローラーで10秒調べるだけで、更新ボタンを1時間押し続ける不安をすべて解消できます。

エクスプローラー上でリバートを地元のプロのように読み取る

エクスプローラーがリバートを確認した後、トランザクション詳細ページには、どの種類のリバートが発生したかが表示されます。「Out of gas(ガス不足)」は、トランザクションのガスリミットが実行しようとした処理に対して低すぎたことを意味します——ウォレットのデフォルト設定では稀ですが、誰かが高度な設定を手動で編集した場合にはよく見られます。「INSUFFICIENT_OUTPUT_AMOUNT」やスリッページ関連の文字列は、上記の失敗ケース#1に該当します。「TRANSFER_FAILED」というエラーがトークン送金時に表示された場合、それは課税トークン(tax token)または一時停止中のコントラクトである可能性が高いです。また、理由文字列(reason string)が一切表示されない単純なリバートは、通常、承認(approval)が不足しているか、あるいはコントラクトがオンチェーン上の状態を理由にその呼び出しを拒否したことを示しています。

これらのエラーを開発者のようにデコードする必要はありません——上記のリストと、よく見られるエラー文字列をパターンマッチングさせれば、90%のケースを解決できます。重要なのは習慣です:再試行する前に、必ずリバート内容を確認すること。ETHが不足しているために5回連続で再試行しても、$0.01の問題が$0.05の損失とイライラに変わってしまうだけです。

この問題のほとんどを防ぐための事前チェックリスト

スマートウォレットを活用して複数の操作を1つのトランザクションにまとめる(バッチ処理)ことで、失敗のリスクも低減されます。これは現在Base上で進行中の「スマートウォレットへの移行」の一環です。また、より広範なコスト削減策(取引タイミングの工夫、バッチ処理、承認の適切な管理など)については、「L2におけるガス料金削減ガイド」をご参照ください。

実際に失敗したスワップが私にかかったコスト(実際のトランザクション履歴)

これは、あるボラティルな火曜日の実際の事例です。抽象的な警告は忘れられがちですが、現実の数字で示すと印象に残ります。私はCPI発表時に、スリッページ0.5%でUSDC→ETHのスワップを試みました。しかしトランザクションは失敗し、手数料として$0.008が課金されました。それでも意地になって、同じ設定で再試行しました。再び失敗し、今度は$0.009が課金されました。そこでスリッページを2%に広げたところ、即座に実行されました。ただし、このときの実行価格は、当初の見積もりより0.4%悪くなっており、$600の取引では約$2.40の「コスト」となりました。一方、失敗による手数料合計は2セント未満でした。つまり、忍耐力を欠いたことが、2ドル以上もの損失を招いたのです。

これが2026年のL2における失敗の経済的実態です。失敗時に消費されるガス代は、ほとんど無視できるノイズに過ぎませんが、行動上のミス——不適切なスリッページ設定、承認の忘れ、ガス残高の不足——は、依然として実際の取引コストに直結します。これらの習慣を正せば、失敗は「丸め誤差の丸め誤差」程度の微小なコストで済むようになります。不安なときは、「スワップ総コストの内訳詳細」をご参照ください。そこには、取引で実際にどこにお金が使われているのかが明確に示されています(ヒント:実質的なコストはプール手数料であり、ガス代ではありません)。

低手数料でBase / Arbitrumで取引

L2ネットワークでswap、bridge、取引するための信頼できるプラットフォームを選択してください。

アフィリエイトリンク — 追加費用なしでコミッションを得る場合があります。