MetaMaskでUSDCを送金しようとして「残高不足」のエラーに直面したなら、原因はガス代のETHが足りないだけでなく、USDCの使用を許可する「承認(Approve)」が済んでいない可能性が高い。
なぜMetaMaskでUSDCが送れないのか

MetaMaskのような自己管理ウォレットでは、中央集権型取引所とは異なる仕組みでトランザクションが処理される。USDCはEthereumネットワーク上のトークンであり、送金やスワップにはネットワーク手数料(ガス代)としてETHが必須だ。しかし、ETHを十分に保有していてもエラーが出るケースがある。その多くは、ERC-20トークンに特有の「承認」プロセスをスキップしているためだ。
具体的には、MetaMaskで初めて特定のERC-20トークンを操作する場合、そのトークンを自身のアカウントから別のアドレスやスマートコントラクトが動かすことを許可する「Approve(アプルーブ / 承認)」という取引を事前に行わなければならない。この承認が未完了だと、十分なETHとUSDCを保持していても「残高不足」のようなエラーが出る。
USDCを送金するための正しい手順

エラーを解消し、確実にUSDCを送金するには、以下の2段階のトランザクションが必要になる。最初に承認を行い、その後に送金する流れだ。
USDCの承認(Approve)を実行する
承認とは、簡単に言えば「このUSDCを使える状態にする」許可設定だ。銀行口座で第三者に引き落としを許可する仕組みに似ている。この取引自体にもガス代がかかるので、ETHが十分にあることを確認してから進める。
- MetaMaskのアセット一覧でUSDCを選択する
- 「送信」をタップし、送金先アドレスや金額を入力する
- 確認画面に進むと、最初は「承認が必要です」といったメッセージが表示される
- ガス代を確認し、「承認」トランザクションを実行する
この承認が完了すると、改めて送金トランザクションを発行できるようになる。なお、同じ送金先に対して2回目以降の承認は不要なケースが多いが、金額の上限(allowance)を設定することもある。
承認後に送金を完了させる
承認トランザクションがブロックチェーンに取り込まれたら、続いて実際の送金を行う。MetaMask上で再度USDCを選択し、同じ送金先アドレスと金額を入力する。今度は承認ではなく「送信」のトランザクションが表示される。
- 送金内容を再確認する
- ガス代の見積もりを確認し、必要に応じて調整する
- 「確認」をタップして送金を実行する
送金が完了すると、MetaMaskのアクティビティタブに「送信済み」と表示され、数秒から数十秒で反映される。ネットワークが混雑している場合は時間がかかることがある。
それでも送金できない時の確認ポイント

承認を行ってもエラーが続く場合、以下の項目を順にチェックする。
ネットワークが正しく選択されているか
MetaMaskに誤ったネットワーク(例:Ethereum以外のチェーン)が設定されていると、USDCは正しく表示されず、送金も失敗する。MetaMaskの上部でネットワーク名をタップし、必ず「Ethereumメインネット」が選択されていることを確認する。USDCは複数のチェーンに存在するが、ここで扱うのはEthereumネットワーク上のUSDCだ。
ETH残高とガス代の見積もりを再確認する
承認と送金の2回分のトランザクションに必要なETHが用意されているかを確かめる。MetaMaskは自動でガス代を見積もるが、ネットワークの混雑時には予想より高騰する。ETH残高が心もとない場合は、少額を追加で購入または送金しておく。ガス代の支払いに使われるのはETHのみで、USDCでは代用できない。
過去の承認トランザクションが未完了で残っていないか
以前に発行した承認や送金がペンディング(保留中)のまま残っていると、新しいトランザクションがブロックに含まれにくくなることがある。アクティビティタブで「保留中」の取引がないか確かめ、ガス代が極端に低い場合は「キャンセル」や「スピードアップ」を試す。
よくある質問
自分が送金したアドレスにUSDCが届かないのはなぜか
相手先のアドレスがEthereumネットワーク上でUSDCを受け取れるか、取引所の場合は対応しているか確認する。間違ったネットワークに送ると資産が失われるケースもある。Etherscanでトランザクションのステータスを検索し、失敗していないか調べる。
承認に必要なETHはどれくらいか
取引のタイミングやネットワーク混雑度によって変動するが、承認トランザクションは通常の送金と同程度か少し安いガス代で済むことが多い。MetaMaskが提示する見積もりを目安に、余裕を持ってETHを準備する。
一度承認したUSDCを他のウォレットで使うにはどうすればいいか
承認は特定のスマートコントラクト(送金先や分散型アプリ)に対して行われる。異なるサービスや送金先を利用する場合は、改めて承認を実行する必要がある。ただし、秘密鍵やリカバリーフレーズを共有しない限り、承認したアドレスと同一のウォレットであれば承認状態は引き継がれる。
承認トランザクションを誤って拒否した場合はどうなるか
拒否しても資産が失われることはない。そのまま再度同じ手順で承認を試みるか、取引自体を最初からやり直せる。ガス代の消費も発生しないので安心して操作をやり直す。
この記事のポイント
- MetaMaskでUSDCが送れない原因はガス代のETH不足に加え、承認(Approve)が未完了であることが多い
- 送金には「承認」と「送信」の2段階のトランザクションが必要
- ネットワークの設定ミスやETH残高、保留中の取引もエラーの原因になる
- Etherscanで取引状況を確認し、トラブルシューティングに役立てる

「エミリーズ・クリプト・インサイダー」のリサーチ担当として、暗号資産の現場で日々生まれる疑問や悩みを丹念に追いかける。
Reddit や海外フォーラムに寄せられる声を読み解き、「初心者がつまずきやすいポイント」「経験者でも見落としがちな落とし穴
」を一つずつ記事として整理している。
専門的な話を誰もが理解できる言葉に置き換えることに全力を注ぐ。情報の正確さと読みやすさの両立を信条としている。
