Solanaでトークン権限を取り消す方法
2026年9月3日にRent情報を確認済み: この記事にあるアカウント単位の固定Rent額や受取額は、旧来の1バイトあたり6,960 lamports設定に基づく過去の例であり、現在の見積もりではありません。アカウントサイズ、有効なRent段階、以前の引き出し、操作手数料、ネットワーク費用によって結果は変わります。Solana Rent削減 2026を読み、ご自身のウォレットではリアルタイムのトランザクションプレビューを使用してください。
Ethereumでは権限の取り消しはよくあることで、無制限のERC-20承認により多くのウォレットから資産が失われてきました。Solanaにも同等の仕組みがありますが、動作が異なり、何が可能で何ができないかを理解する価値があります。
Solanaでトークン権限を取り消すには?
取り消しツールに接続します。所有するすべてのトークンアカウントをスキャンし、そこからトークンを移動することを許可したアドレスを表示して、それらの承認を一括で解除します。サービス手数料はありません。取り消しではrentを回収しないため、支払うのはネットワーク手数料だけです。CLIでは spl-token revoke <TOKEN_ACCOUNT_ADDRESS> を使います。
Solanaのデリゲートとは何か
Solanaで何かを承認すると、設定されるのは デリゲート 特定の1つのトークンアカウントに設定されます。その Approve 命令は、そのアカウントにデリゲートのアドレスと委任額の2つを記録します。
その後、デリゲートは再度の確認なしで、その1つのアカウントから委任額を上限として転送またはバーンできます。ほかのトークンアカウントには触れられず、委任額を超えることも、SOLを移動することもできません。
これは実際の権限であり、軽視すべきではありません。トークンアカウントに対する許可額を持つデリゲートは、そのトークンを移動できます。ただし、3つの構造的な理由から、影響範囲はEthereumの同等機能より明確に限定されています。
Solanaの承認がEthereumより限定的な理由
| Ethereumの承認 | Solanaデリゲート | |
|---|---|---|
| 範囲 | そのコントラクトで保有するすべてのトークン | 1つのトークンアカウント |
| 金額 | 無制限であることが多い | 自分で設定した固定上限 |
| 同時に複数 | はい、利用者ごとに蓄積される | いいえ — 各アカウントにつき1つのデリゲートのみ |
| 解除方法 | 明示的な取り消しトランザクション | 取り消しは、 またはアカウントの閉鎖 |
重要なのは3行目です。Ethereumでは承認が積み重なっていきます。同じトークンに対して多数のコントラクトに許可を与えることができ、それぞれが取り消されるまでひっそりと残り続けます。何年もDeFiを利用していると、忘れ去られた無制限の承認が大量に蓄積されます。これこそが、Ethereumでリボークツールが不可欠になった理由です。
Solanaでは、 各トークンアカウントが保持できるデリゲートは最大1つ。新しいものを設定すると、以前のものは上書きされます。蓄積される一覧はなく、トークンアカウントに現時点で存在するデリゲートは1つ、または存在しないかのどちらかです。
そのため、SolanaではEthereumほど取り消しツールを使う文化が発達しませんでした。リスクは実在しますが範囲が限定されており、通常のウォレット利用の中で自然に解消されます。
デリゲートが設定される場面
アカウント上のデリゲートの大半は悪意のあるものではなく、通常のSolana機能を実現する仕組みです。
- NFTマーケットプレイスへの出品。 NFTを出品すると、通常はマーケットプレイスのプログラムに権限が委任され、購入者が現れた時点で売却を実行できるようになります。出品中のNFTを取り下げるまでバーンできないのもこのためです。ウォレットがその資産に対する単独の権限を持たなくなっているからです。
- ステーキングおよびVaultプログラム。 プロトコルへの入金では、資産の管理権を移すのではなく、デリゲートを使用することがよくあります。
- プログラマブルNFT。 pNFTは、ロイヤリティを適用する仕組みの一環として、委任された権限により凍結状態で保持されます。
- 悪意のある承認。 実際に警戒すべきケースは、フィッシングサイトが請求手続きのように見えるトランザクションを提示し、署名した内容が実際には
Approveトークンに対する権限をデリゲートに渡すことです。
取り消しでは解除できないもの
ここまでの説明はすべて、 アカウント単位 デリゲートです。これは自分が所有するトークンアカウント上の項目なので、自分で解除できます。
Token-2022では、別のより強力な権限である永久デリゲートが導入されました。これは保有者のアカウントではなく、ミントに設定されます。永久デリゲートを持つミントでは、そのアドレスに、そのトークンを保有するすべてのアカウントに対する転送権限とバーン権限が上限なく付与され、保有者側では解除できません。これは自分が付与した権限ではなく、トークン自体の特性であるため、Revokeでもほかのどのツールでも変更できません。
一部の正規トークンは、これを意図的に使用しています。たとえば、回収手段を必要とする規制対象のステーブルコインなどです。しかしこれは、当社のツールを含むあらゆるSolana取り消しツールについて、正確に言えば対応範囲が 自分のアカウントで自ら許可した承認.
トークンのミントに永久デリゲートが設定されている場合、その影響をなくす唯一の方法は、そのトークンを保有しないことです。取り消しが正常に完了したからといって、その残高を誰も動かせないと判断する前に、エクスプローラーでミントを確認してください。
デリゲートが設定されているものを確認する方法
ウォレットにはこの情報が表示されません。PhantomとSolflareが表示するのは残高であり、各トークンアカウントのデリゲート欄ではありません。そのため、2年前に与えた承認は、日常的に使う画面上では見えません。
確認方法は3つあります。
- 取り消しツール。 ウォレットを接続すると、SPL TokenとToken-2022の両プログラムにまたがるすべてのトークンアカウントがスキャンされ、各デリゲート、対象のミント、許可額が一覧表示されます。スキャンは読み取り専用です。確認するだけなら署名も承認も必要ありません。
- ブロックエクスプローラー。 ウォレットアドレスを検索し、個々のトークンアカウントを開いて、デリゲート欄を確認します。設定されている場合は表示されます。1つのアカウントなら実行可能ですが、100個となると手間がかかります。
- その
spl-tokenCLI.spl-token account-info <TOKEN_ACCOUNT_ADDRESS>は、デリゲートと委任額を報告します。
デリゲートが見覚えのあるマーケットプレイスで、NFTが現在出品中なら、想定どおりです。出品を取り下げればデリゲートも解除されます。
許可額の列に注意してください。承認時には、実際に必要な額ではなく、設定可能な最大値が指定されることがよくあります。ツールでは無制限と表示されます。正規の出品では通常、正確に1つのNFTだけが委任されます。大量に保有しているトークンに無制限の許可が設定されている場合は、よく確認する価値があります。
取り消す方法
ツールから: sol-incinerator.com/revokeに接続し、一覧を確認して署名します。選択した項目は可能な限り少ない数のトランザクションにまとめられるため、古いデリゲートが30件あるウォレットでも、30回署名する必要はありません。
存在するのは 手数料なし。取り消してもrentは解放されないため、そこから差し引く手数料はありません。支払うのはネットワークのトランザクション手数料だけです。
CLIから: 特定のトークンアカウントに対して実行します。
spl-token revoke <TOKEN_ACCOUNT_ADDRESS>
これはSPL Tokenプログラムの Revoke 命令です。必要なのはトークンアカウントと、その所有者であるあなたの署名だけです。デリゲート欄を完全に消去します。部分的に失敗することはなく、残高にも影響しません。
ウォレットのUIから: 通常は間接的に対処します。最初にデリゲートを作成した操作をキャンセルするか、出品を取り下げます。NFTを出品したマーケットプレイスで出品を取り下げると、キャンセル命令の一環として、そのマーケットプレイスのデリゲートが削除されます。
出品中のNFTからマーケットプレイスのデリゲートを取り消すと、実質的に出品が取り下げられます。マーケットプレイスが売却を完了できなくなるためです。これは正しい動作ですが、出品を継続したい場合は、そのデリゲートを変更しないでください。
凍結アカウントのデリゲートを取り消せない理由
Solanaでは許可されていないためです。SPL Tokenプログラムは、凍結されたトークンアカウントに対する取り消しを拒否し、次を返します。 AccountFrozen — アカウントの凍結は、転送だけでなく権限の変更もブロックします。
これは見た目以上に重要です。凍結とデリゲート設定は併用されることが多いためです。プログラマブルNFTは、ロイヤリティを適用する仕組みの一環としてデリゲート付きの凍結状態で保持され、多くのステーキングプログラムも保有資産を凍結します。そのため、見つかる可能性が最も高いデリゲートほど、直接解除できないことがよくあります。
このツールでは、これらを一覧から除外しています。実際のところ、デリゲートが設定された凍結アカウントは通常、ロイヤリティを適用するpNFTや、意図的にステーキングした資産など、想定どおりに機能しているものであり、対処が必要なものではないためです。
どうしても解除したい場合、そのアカウントはまず 先に凍結解除される必要があります。凍結を解除するには、ステークを解除、出品を取り下げ、または凍結の原因となった操作を完了してください。解除されれば、デリゲートは通常どおり取り消せます。
バーンは回避策にはなりません。凍結アカウントは、取り消しを拒否するのと同じ理由でバーンも拒否します。凍結によって転送だけでなく操作自体がブロックされるため、資産が入ったままでは、バーンして凍結されたデリゲートを消すことはできません。凍結を解除できるのは凍結権限者だけです。
ツールがそのまま取り消しを試みないのには、実用上の理由があります。取り消しは可能な限り少ない数のトランザクションにまとめられるため、凍結アカウントが含まれると、同じトランザクションに入ったほかのデリゲートもすべて失敗します。凍結アカウントを除外することで、残りを正常に処理できます。
完全版:アカウントを閉じる
ここで見落とされがちな点があります。 デリゲートは、トークンアカウントに保存されるフィールドです。 アカウントがなければ、デリゲートも存在しません。
そのため、対象のトークンが、スパムトークン、消滅したミームコイン、署名を誘導してきた詐欺エアドロップなど、もともと不要なものであれば、バーンしてアカウントを閉じることで、副次的にデリゲートも完全に削除されます。これは権限を取り消すというより、その権限の対象自体を削除することです。また、単なる取り消しとは異なり、アカウントを閉じると、そのアカウントが保持していた ~0.00204 SOL rentデポジットが返還されます。
そのため、今後保持するつもりのないトークンについては、整理する方がより徹底した対応になります。
| 操作 | デリゲートを解除 | トークンを保持 | SOLが返還される |
|---|---|---|---|
| 取り消し | はい | はい | いいえ |
| バーンしてアカウントを閉じる | はい | いいえ | 0.002 SOL |
トークンを保持するなら取り消し、不要ならバーンしてアカウントを閉じます。
悪意のあるトランザクションに署名したと思われる場合、取り消しだけでは不十分です。デリゲートは攻撃者が取得した可能性のある権限の1つにすぎず、シードフレーズが漏洩していれば、オンチェーン上の操作では対処できません。まず価値のある資産を新しいウォレットへ移し、その後で侵害されたウォレットに対処してください。
現実的な脅威モデル
多くの人にとって、率直にまとめると次のようになります。後悔している署名があるならデリゲートを確認し、不要になった出品は取り下げ、悪意のある承認が付随しがちな不要トークンを整理してください。
Solanaの設計上、Ethereumウォレットのように、何年分もの無制限の承認が蓄積されることはありません。おそらく実際に です 抱えている可能性が高いのは、返還可能なデポジットを保持したまま放置された数百個のトークンアカウントです。これらには実際の金銭的価値があり、回収には約1分しかかかりません。
関連記事
よくある質問
Solanaでトークン権限を取り消すには?
デリゲートが設定されたトークンアカウントに対して、SPL TokenプログラムのRevoke命令を使用します。必要なのはトークンアカウントと、所有者であるあなたの署名だけです。コマンドラインでは、SPL-token revokeの後にトークンアカウントのアドレスを指定します。
Solanaのトークンアカウントにおけるデリゲートとは?
デリゲートとは、特定の1つのトークンアカウントから、設定された上限額までの転送またはバーンを許可したアドレスです。マーケットプレイスではNFTの出品に、ステーキングプログラムでは入金にデリゲートを使用します。各トークンアカウントに同時に設定できるデリゲートは1つだけです。
Solanaの承認はEthereumの承認と同じくらい危険ですか?
リスクの範囲はより限定的です。Solanaのデリゲートは、固定の上限額を持つ1つのトークンアカウントだけが対象です。また、新しいデリゲートを承認すると、古いものに追加されるのではなく置き換えられます。Ethereumの承認はトークンコントラクト単位で、多くの場合は無制限であり、期限なく蓄積されます。
トークンアカウントを閉じるとデリゲートも削除されますか?
はい、完全に削除されます。デリゲートはトークンアカウント自体に保存される項目なので、アカウントを閉じるとアカウントとともに消滅します。不要なトークンをバーンしてアカウントを閉じると、副次的にデリゲートも削除されます。
トークンアカウントにデリゲートが設定されているか確認するには?
ブロックエクスプローラーで自分のアドレスを検索し、個々のトークンアカウントを確認してください。デリゲートが設定されていれば、その欄が表示されます。SPL-token CLI でも確認でき、生のアカウントデータを表示するウォレットであれば同じ項目が表示されます。
凍結されたトークンアカウントのデリゲートを取り消せないのはなぜですか?
SPL Tokenプログラムは凍結アカウントに対する取り消しを拒否し、AccountFrozenエラーを返します。凍結は転送だけでなく権限の変更もブロックするためです。プログラマブルNFTやステーキング中の資産は、一般に凍結されています。デリゲートを解除するには、先にアカウントの凍結を解除する必要があります。凍結アカウントではバーンも拒否されるため、バーンで回避することはできません。
取り消しによってToken-2022の永久デリゲートを削除できますか?
いいえ。永久デリゲートはトークンアカウントではなくミントに設定され、そのトークンを保有するすべてのアカウントに対する転送およびバーン権限を与えます。これはトークン自体の特性なので、どの取り消し命令でも解除できません。その影響をなくす唯一の方法は、そのトークンを保有しないことです。
