ウォレットの承認(Approve)って何を許してるの?

出典: Revoke.cash 公式サイト(2026-10-14 時点)
先月の夜、初めて Uniswap で USDC を ETH に替えました。Arbitrum で、38.6 USDC。ほんの試しです。
「Approve USDC」を押したら、ウォレットの小さな窓に、見たことのない桁の数字が出ました。1157920… で始まって、数字が 70 桁以上ずらっと続くやつです。意味が分からないまま「承認」。続けて署名の窓が出て、また押して、最後にスワップの確認。3 回ボタンを押して、ETH は無事に届きました。
届いたのに、気持ち悪さが残りました。替えたのは 38 ドル分なのに、財布ごと預けた感じ。あの数字は何だったのか。この記事は、それを自分で調べて、自分の承認を消すところまでの話です。スワップの画面そのものは、Uniswap の始め方の記事に載せています。
「接続」「承認」「署名」は別もの
ウォレットの窓は、だいたいこの 3 種類のどれかです。見た目が似ているので、最初はぜんぶ「はい」を押す作業に見えます。中身はまったく違います。
| 窓 | 何を許すか | お金は動く? | ガス代 | あとに残るもの |
|---|---|---|---|---|
| 接続(Connect) | サイトが自分のアドレスを見る | 動かない | なし | 切ればそれ以上は見られない(承認は残る) |
| 承認(Approve) | 相手のコントラクト(サイトのものや Permit2 など)が、自分のトークンを「上限まで」動かす | この時点では動かない | かかる | チェーンに記録され、消すまで残る |
| 署名(Sign) | 文章に自分の鍵でサインする。中身しだい | 中身しだい | なし | 中身しだい(下で書きます) |
承認は、自分のトークンを動かす権利を、ある相手に、ある上限まで渡す操作です。トークンの出入りはその場では起きません。相手が「動かしたい」と言ったときに、上限の範囲で動かせる。そういう前渡しの権利です。
この権利はチェーンに書き込まれるので、ガス代もかかります。承認はトークンごとに別で、USDC を承認したなら動かせるのは USDC だけです。わたしが見た 70 桁超の数字は、この「上限」でした。上限なし、という意味の最大値です。

サイトとの接続を切れば、消えるんじゃないの?

切れるのは「アドレスを見る権利」だけです。承認はチェーンに残ります。

え、別のパソコンから見ても残ってるってこと?
残っています。どの端末から見ても、消すまでずっとです。
承認の窓で見る 3 か所
押す前に見るのは、誰に・どのトークン・いくらまで、の 3 つだけです。誰に、はたいていそのサイトのコントラクトか Permit2 のアドレスで、Arbiscan や Etherscan で引くと名前の札が付いているかで確かめられます。この 3 つが読めれば、あとは「その額を預けてもいい相手か」の判断になります。
いくらまで、の欄は自分で書き換えられます。MetaMask では「使用上限」という欄に、サイトの提案額のほか、自分の額を入れられます。サイトの提案額はたいてい大きく、実質「上限なし」になることが多い、と MetaMask のサポートページにあります。
サイトが大きい額を勧めるのは、次のスワップで承認をやり直す手間とガス代が省けるからです。

出典: MetaMask サポート(2026-10-14 時点の画面)
わたしはいま、置いてある額が大きいトークンだけ、使う分をきっちり入れるようにしています。38.6 USDC を替えるなら 38.6。残高が数ドルで、これから増やす予定もないトークンなら、上限なしのままでかまわない。あとで買い足すと、その分にも上限なしが効くので、そこだけは気にしています。

毎回ぴったり入れるの、めんどくさくない?

めんどうです。しかも次のスワップでまた承認のガス代がかかります。

それでも入れるんだ…
それでも、38 ドルのために財布ごと預けるよりは安いと思っています。預けている額の分だけ、気を使う範囲を決めている感じです。
署名だけでも抜かれる
わたしが 2 回目に押した「署名」の窓。あれは Uniswap の Permit2 という仕組みでした。最初にトークンごとの承認を Permit2 に 1 回だけ取り、その先は署名で「誰に・いくら・いつまで」を伝えます。署名にガス代はかからず、Uniswap のアプリでは 30 日ほどで切れます(Uniswap サポート「What is a Permit2 approval?」)。
便利です。承認を毎回やり直さなくていい。

出典: Uniswap サポート(2026-10-14 時点の画面)
便利ということは、署名ひとつで、承認と同じだけの権利を渡せるということでもあります。ここが詐欺サイトの狙い目です。「ログインのための署名です」という顔をした窓に Permit の中身が入っていれば、サインした瞬間に、そのトークンを動かす権利が相手に渡ります。Permit2 に上限なしの承認が残っていると、偽サイトで Permit2 の署名を 1 回取られるだけで USDC を動かされます。ガス代がかからないので、押した感触も軽い。
Scam Sniffer のまとめでは、2025 年にフィッシングサイトでウォレットを抜かれた被害は 約 8,400 万ドル・10 万人あまり でした(Scam Sniffer の年次レポート)。主な手口は Permit の署名です。前年より減ってはいますが、1 件で数百万ドルが消えた例も入っています。
署名の窓で見るところ
文章の中に「Permit」「spender」「amount」「deadline」のような語があれば、トークンを動かす許可の可能性が高いです。逆に、この語が無ければ安全、というわけでもありません。わたしは、相手が使っているサイトの公式コントラクトで、額と期限に納得できたときだけ押す、と決めています。読めない窓は押さない。
残った承認を見に行く
承認が消えずに残るなら、どこかで一覧が見られるはずです。わたしは Revoke.cash を使いました。もとは個人の開発者が作った、見る・消すが無料の一覧サイトです。自分のアドレスを入れると、チェーンごとの承認が一覧になります。ウォレットを接続しなくても、見るだけはできます。

出典: Revoke.cash(2026-10-14 時点の画面)
自分のアドレスを Arbitrum で見ました。USDC の行に Permit2 のコントラクト、上限なし、と出ています。あの夜の承認です。「取り消す」(Revoke)を押すと、上限を 0 にする承認がもう 1 回送られます。サイト自体の手数料は無料で、ガス代は Arbitrum なので数円でした。
- 1.
公式の URL を開く
アドレス欄に revoke.cash と手で打って開き、ブックマークしておく。検索広告や DM のリンクからは入らない(偽サイトは事故のたびに出てくる)
- 2.
アドレスを入れてチェーンを選ぶ
承認はチェーンごとに別。Arbitrum で消しても Ethereum のは残る
- 3.
上限なしの行を探す
残高の大きいトークンから見る。相手がいま使っているサイトなら残してよい
- 4.
消すときだけ接続して「取り消す」を押す
上限 0 の承認が送られ、ガス代がかかる。窓に取り消し以外の署名や送金が出たら押さない
取り消しは「これから」を止めるだけです。すでに動かされたあとで消しても、戻ってはきません。だから順番は、押す前に上限を見る、が先。消すのはあとの掃除です。鍵そのものをどこに置くかは、ハードウェアウォレットの選び方に分けて書きました。
結局、あの夜の承認は消して、次のスワップのときにそのとき替える分だけで取り直しました。ガス代は 2 回分かかりましたが、「財布ごと預けた感じ」は消えたので、わたしにはそのほうが安いです。次は、署名の窓が出るたびに中身を読んでから押すようにしています。
価格・条件は 2026-10-14 時点。
本記事は一般的な情報の提供を目的としたもので、特定のサービスの利用や投資を勧めるものではありません。承認や署名の操作は資産の喪失につながることがあり、ウォレットやサイトの画面・仕様は変わることがあります。公式を名乗る偽サイトや DM に注意し、シードフレーズは誰にも入力しないでください。操作は自己責任で、不安がある場合は公式サポートや専門家にご相談ください。



