仮想通貨のガス代は失敗すると返金される?|送信前エラーと実行失敗の違い
仮想通貨の取引に「失敗」と表示されても、ガス代の扱いは一律ではありません。Ethereumでは、ブロックに取り込まれて実行された取引は、失敗しても消費分の費用がかかります。一方、送信前で止まった操作や、上限のうち使わなかった分は、同じ意味での「返金」ではありません。
今回の資料確認:2026-10-05 JST
この記事の目次
読む前に:対象と前提
この記事は、Ethereumの通常の取引を中心に、ガス代の使用分と未使用分を調べる方に向けています。計算は通常のEIP-1559取引の架空例です。別のチェーン・L2・ガス代を代わりに払うサービス・取引所の出金手数料には、それぞれの公式案内を照合してください。
仮想通貨の取引が失敗したとき、ガス代は返金される?
まず分けたいのは、実行に使った費用が取り消されることと、上限のうち使わなかった分が残ることです。Ethereumの実行ガス代は処理に対する支払いなので、取引の結果が失敗でも消費分はかかります。MetaMaskも、通常のネットワークのガス代を同社が受け取って返金する仕組みではないと説明しています。MetaMask:失敗した取引にもガス代がかかる理由
たとえば、スワップが失敗して受取トークンが増えなかったのに、ETHだけ減ったというケースはあり得ます。ただし残高の差だけでは、その減少が当該取引のガス代なのか、別の承認取引やサービス利用料なのかまでは分かりません。取引ごとの記録で照合します。
費用の確認は、実行されたかから
同じ「失敗」表示でも、ガス代の扱いは違う
- 送信前で止まった
署名を拒否した・送信前の検査で止まった。
未送信と確認できれば、その操作のオンチェーンのガス代は発生しません。
- 送信したが、まだ未採用
Pending・Dropped。記録が見つからない場合は、採用状況を保留して照合します。
まだ実行されていない取引に、確定した実行ガス代はありません。後で採用される可能性は別に確認します。
- ブロック内で実行され、失敗した
公開記録にブロック番号とFailedがある。
消費分のガス代がかかります。未使用の余りと、失敗による費用の返金は別です。
正しいネットワークで、採用状況・状態・取引手数料を一緒に読みます。
この確認の前提になる送金・保管の仕組みは、暗号資産の基本:手数料を数字で考えるで確認できます。本稿では、失敗の段階と費用の内訳を詳しく見ていきます。
送信前エラーとPendingは、実行後の失敗とどう違う?
ウォレットやアプリの「失敗」は、送信前の検査、通信、実行後のエラーなどをまとめて表示していることがあります。表示名だけで費用を決めず、チェーン上の状態に対応させましょう。
比較表は横にスクロールできます。
| 確認した状態 | 実行ガス代の扱い | 次に見ること |
|---|---|---|
| 送信前で中止・検査エラー | 未送信と確認できれば、その操作のオンチェーン費用は発生しない | 送信履歴、通信結果、別取引の有無 |
| Pending(採用待ち) | まだ実行されていなければ、実行費用は未確定 | 正しいチェーンの記録、同じ送信順番号の取引 |
| Dropped(保留一覧から除外) | その取引がブロックに採用されていなければ、実行ガス代は発生していない | 再配信・置換・後の採用がないか |
| ブロック内でFailed | 実行に消費した分を支払う。余りは失敗の補償とは別 | 取引手数料、gas used、実単価、エラー説明 |
TxHash/TxIDは取引を識別するIDで、IDがあることと、ブロックで実行されたことは別です。Pendingには実行結果の明細であるreceiptがまだありません。また、Droppedの取引は、後に再配信されてPendingへ戻ることもあります。「記録が見つからない」だけで未送信や永久失敗と決めつけないでください。Ethereum:取引receiptの仕様、Etherscan:Droppedと置換の説明
RevertとOut of gasで、消費するガスはどう変わる?
Revertは、処理を戻しても消費済みの費用は残る
Revertは、コントラクトが実行を止めて、その実行範囲の変更を取り消す処理です。たとえばアプリの条件を満たせなかった場合に起こり得ます。通常、そこまでに使ったガスは費用になりますが、Revertそのものが残りをすべて使い切るわけではありません。EIP-140:Revertと残りガスの扱い
通常の取引全体がRevertした場合、その取引内の送金やスワップの変更は取り消されます。ただし、先に成功していた別取引のトークン承認や、別段階の入金まで取り消される意味ではありません。
Out of gasは、単価ではなく実行できる量の不足
Out of gasは、処理に使えるガス量を使い果たした状態です。取引全体の実行がガス不足で終わる通常のケースでは、与えたガス枠を消費して失敗します。ガス単価を上げることと、ガス量の上限を増やすことは別なので、単価だけを上げても量の不足は直りません。Ethereum:ガスリミットと実行中のガス不足
一方、コントラクト内部の一部の呼出しだけがガス不足になった場合、消費範囲はその呼出しに割り当てた枠によります。外側がエラーを処理することもあるため、「Out of gasという文字があるなら必ず取引全体の上限を消費」とは言えません。エラー理由、実行内容、確定した使用量を合わせて確認します。EIP-150:内部呼出しへのガス割当て
公開記録のstatusが0(失敗)という情報だけでは、Revertとガス不足などの原因を判別できません。明細のエラー説明で分からなければ、アプリの公式窓口へ取引IDを添えて確認します。
ガス代の上限と実支出は、いくら違う?
ガスリミット(gas limit)は使ってよい量の上限、最大単価(max fee per gas)は1単位あたり払ってよい価格の上限です。使用量(gas used)と実単価(effective gas price)は、実行後の記録で読む値です。通常のEIP-1559取引では、費用上限は「gas limit × 最大単価」、確定した実行費用は「明細のgas used × 実単価」で比べられます。送信時には、実支出より大きい費用上限を賄う残高が必要になることがあります。EIP-1559:費用上限と未使用分の処理
以下はEthereumの通常取引における架空の2例です。1 gwei=0.000000001 ETH、円換算は1 ETH=300,000円を仮定します。送金額、サービス利用料、L2独自費用を含まず、EVM内のgas refundは0とします。実際の使用量や現在の相場を予測するものではありません。
例1:途中でRevertし、60,000ガスを使った場合
gas limitを150,000、最大単価を40 gweiとします。実行時の基本料金は20 gwei、優先手数料は2 gweiで、実単価は22 gwei。明細のgas usedが60,000なら、費用は次のとおりです。
- 費用上限:150,000 × 40 × 10⁻⁹=0.006 ETH(1,800円)
- 実支出:60,000 × 22 × 10⁻⁹=0.00132 ETH(396円)
- 上限との差:0.006 − 0.00132=0.00468 ETH(1,404円)
架空のRevert取引・費用だけの分解
上限0.006 ETHのうち、実支出は0.00132 ETH
送信時の費用上限
150,000 gas × 40 gwei
0.006 ETH
量の上限 × 単価の上限。実際に全部払うという意味ではありません。
確定した費用
60,000 gas × 22 gwei
0.00132 ETH
明細の使用量 × 実際の単価。失敗しても消費分は支出です。
上限から使わなかった分
0.006 − 0.00132
0.00468 ETH
使用量の余り0.00198 ETH + 単価上限の余裕0.00270 ETH。
費用上限と実支出の差です。支出0.00132 ETHに加えて、同額をもう一度控除・返戻処理しません。
差額を分けるなら、未使用の90,000ガスを実単価で評価した0.00198 ETHと、上限150,000ガスに対する単価差18 gweiの0.00270 ETHで、合計0.00468 ETHです。これは費用上限から使わなかった分の計算です。「失敗したから実支出396円も戻った」という意味ではありません。別の返金取引が必ず表示されるとも限りません。
例2:取引全体がOut of gasで100,000ガスを使い切った場合
gas limitは100,000、最大単価40 gwei、実単価22 gweiとします。取引全体のガス不足で枠を使い切り、明細のgas usedも100,000だった架空例です。
- 費用上限:100,000 × 40 × 10⁻⁹=0.004 ETH(1,200円)
- 実支出:100,000 × 22 × 10⁻⁹=0.00220 ETH(660円)
- 上限との差:0.004 − 0.00220=0.00180 ETH(540円)
この例では未使用ガス量は0です。それでも、最大単価40 gweiと実単価22 gweiの差による余裕は残ります。ガス量を全部使うことと、設定した最大費用を全部使うことは同じではありません。
資料に出てくる「gas refund」は、返金申請とは別の仕組み
EVMの技術資料では、特定の保存データの変更などによって、実行後のガス計算を調整する仕組みもgas refundと呼びます。適用条件と上限があり、利用者が失敗の返金を請求する制度ではありません。確定したreceiptのgas usedから実費を計算したら、この調整を自分でさらに引かないようにします。EIP-3529:計算上のgas refundと上限
取引履歴で、失敗と支払ったガス代を確認する順番
- ネットワークと取引IDを合わせる。ウォレットや出金元の履歴から、使ったネットワークとTxHashを保存し、そのネットワークの公式資料が案内するエクスプローラーで開きます。通常の公開履歴を見るだけなら接続や署名は必要ありません。MetaMask:公開履歴の確認方法
- ブロックに取り込まれたかを見る。Pendingなら実行後の失敗と分けます。見つからない場合はチェーン、ID、送信状態、置換先を確認します。
- 状態とエラー説明を読む。Success/Failed、ブロック番号、表示される理由を記録します。Failedだけでガス不足とは決めません。Successでも、目的のスワップではなく承認取引の成功という場合があります。
- 取引手数料を明細で確認する。Ethereumの通常取引ではgas usedと実単価を見て、取引手数料と照合します。ブロック内の累計を示すcumulative gas usedや、送信前の推定額を実費と取り違えないようにします。
- 別取引と別料金を分ける。承認、スワップ、ブリッジ、再送は取引IDごとに記録します。アプリ利用料、取引所の出金手数料も、ネットワークの実行ガス代と別に確認します。
L2では、Ethereumへデータを載せるL1データ費用などが加わることがあります。たとえばOP Stackの公式資料は実行費用、L1データ費用、設定に応じたoperator feeを分けています。上のEthereum用の式だけで、すべてのL2の総費用を計算しないでください。Optimism:取引費用の構成
問い合わせるときは、公式サイトからたどった窓口に、ネットワーク、TxHash、操作日時、アプリ名、表示されたエラーを必要な範囲で共有します。取引IDから公開の資産履歴が結び付くため、SNSに履歴全体を載せる必要はありません。秘密鍵・復元フレーズは渡さず、「返金のため」と案内された不明な接続や署名も行いません。Ethereum:秘密情報とサポート詐欺への対策
再送・Speed up・Cancelをすると、ガス代はまたかかる?
実行後にFailedとなった取引を、原因を直して別取引として再送すると、新しい取引が実行されれば、その分の費用も発生します。最初の失敗分が新しい費用に充当されるわけではありません。
一方、Pending中のSpeed upは、同じ送信順番号(nonce)を使って、より高い費用設定の取引へ置き換える方法です。Cancelも、通常は同じnonceの別取引を先に採用してもらう方法です。同じアカウント・同じnonceの元取引と置換取引が、確定した同じチェーンの履歴で両方実行されるわけではありません。置換を試しただけで元取引と二重の実行ガス代になるとは限らず、採用された取引に費用がかかります。Cancelは無料の取引取消しではありません。MetaMask:Pending取引のSpeed upとCancel
元取引が先に採用されることもあり、置換・取消しの成功は保証されません。すでに確定した取引をCancelで巻き戻すこともできません。原因や採用状況が分からないまま、別nonceで同じ操作を繰り返すと、両方が実行される可能性があります。まず元取引と置換先を確認しましょう。
Revertを直すにはアプリのエラー理由を、ガス不足を直すには実行量の見積もりを確認します。単価・量の上限・スワップ条件を一度に変えると原因が分かりにくくなります。設定の変更前に公式の説明を確認し、同じ失敗の反復を避けます。
ガス代がかかった失敗取引と返金のよくある質問
署名をキャンセルしただけでも、ガス代はかかりますか?
その操作が未送信と確認できれば、オンチェーンの実行ガス代はかかりません。ただし、先に送った承認などの別取引や、別のサービス利用料は独立して確認してください。
ガスリミットを高くすると、必ずその分だけ支払いますか?
通常のEthereum取引では、量の上限を増やしても、必ず全部を消費するわけではありません。明細の使用量と実単価で実費を確認します。上限を高くすることは、許容する最大負担を増やすことでもあり、失敗原因の解決を保証しません。
Failedなのにgas usedがgas limitより少ないのはなぜですか?
Revertなど、残りのガスを使い切らず停止する失敗があるためです。その差だけで原因は断定できません。状態、エラー理由、使用量を一緒に読みます。
Pendingが消えたら、無料で取り消せたと考えてよいですか?
表示が消えただけでは判断できません。Dropped、置換、表示の反映などを確認します。後から採用される可能性や、採用された置換取引の費用も見てください。
スワップ失敗なら、先に払った承認のガス代も戻りますか?
承認とスワップが別取引なら、後のスワップ失敗で先に実行された承認の費用が取り消されるわけではありません。それぞれの取引IDと手数料を記録します。
ウォレットやアプリに連絡すれば、使ったガス代は戻りますか?
通常のネットワーク実行費用が、失敗したという理由で自動返金される仕組みではありません。アプリ独自の補償やサービス利用料の扱いは、公式の条件を別に確認します。本稿では、個別サービスによる補償を保証していません。
取引がSuccessなのに受取口座へ反映されない場合は、失敗したガス代とは確認点が変わります。USDCが届かないときの確認順で送信記録と受取側の条件を照合してください。承認からアプリ利用までの流れは、DeFiの使い方:資産と収益の流れにまとめています。

コメントを残す