Solanaのウォレット・トークンアカウント・mintを見分ける方法
トークンアカウントのアドレス、mint、所有者はそれぞれ役割が異なります。項目の対応表を使い、Solanaで調べているレコードの種類を確認しましょう。
Solanaのトークンアカウントには、トークン所有者である権限主体について、1種類のトークンの数量が記録されます。そのアドレスは、トークンを識別するmintとは異なります。 通常のウォレットの場合、この権限主体は選択したウォレットアカウントの公開アドレスです。エクスプローラーにはプログラム所有者も表示されることがありますが、これは別の役割です。
トークンのレコードに見慣れないアドレスや、Ownerという名前の項目が2つ出てきたら、このガイドを使ってください。トークンアカウント、現在の権限主体、mint、管理プログラムの関係を小さな記録にまとめます。2026年11月10日に確認した資料に基づく、読み取りだけの確認手順です。ウォレット接続も署名も必要ありません。
アドレスの見た目ではなく、レコードを確認する
Solanaのアカウント資料では、公開鍵をアドレスとするアカウントが説明されています。見覚えのある形式のアドレスでも、その中のデータが何を表すかは分かりません。Mainnet BetaやDevnetなど、対象のクラスターでアカウントの種類と項目を確認してください。
トークンの概要では、それぞれの役割が区別されています。
- Mint M はトークンを識別し、供給量や小数桁数などの共通データを保持します。
- トークンアカウントT はそのmintの数量と、トークン所有者である権限主体を記録します。
- 権限主体A は、そのトークン所有者として記録されたアドレスです。ウォレットアカウントはよくある例ですが、すべての権限主体が通常の個人用ウォレットとは限りません。
Ethereumと比較したい場合は、ウォレットアドレスとトークンコントラクトの違いでEVMのケースを説明しています。Solanaでは、別に存在するトークンアカウントのレコードも識別する必要があります。
2つのOwner欄を分けて読む
トークンアカウントでは、トークンデータ内のownerはトークン操作の権限主体を指します。アカウント自体のownerは、それを管理するToken ProgramまたはToken Extension Programです。Solanaのトークンアカウント資料では、この2つを明確に区別しています。
下の対応表は、資料にある解析済みレスポンスのトークンアカウント1件を使っています。エクスプローラーでは項目名が異なる場合があります。各文字は説明用の記号であり、実在するアドレスや、実際の残高を調べた結果ではありません。
| 返された1件の中の項目 | 意味 |
|---|---|
pubkey |
トークンアカウントのアドレスT |
account.owner |
管理するトークンプログラムP |
account.data.parsed.type |
この解析済みトークンアカウントではaccount |
account.data.parsed.info.mint |
トークンのmint M |
account.data.parsed.info.owner |
現在のトークン所有者である権限主体A |
account.data.parsed.info.tokenAmount |
Tについて報告された数量 |
Pを自分のウォレットアドレスと読むと、ownerの2つの意味を混同します。Mをウォレットアドレスと読むと、選んでいるのは資産の識別子です。どちらでも、保有量を調べたい権限主体を特定したことにはなりません。
ATAは標準のアカウントであり、一覧全体ではない
関連トークンアカウント(ATA)は、ウォレット、トークンプログラム、mintの組み合わせに対する標準のトークンアカウントです。この3つの入力からアドレスが決まります。作成されたアカウントはそのトークンプログラムに属します。Associated Token Programがプログラム所有者になるわけではありません。
トークンの概要には、1つの権限主体が同じmintについて複数のトークンアカウントを持てることも記載されています。したがって、ATAを見つけただけでは、すべてのアカウントを見つけたとはいえません。アドレスの導出や過去のトランザクションだけから推測せず、現在記録されている権限主体を確認してください。
より広く一覧を調べるには、getTokenAccountsByOwnerで権限主体を指定し、mintまたはプログラムで絞り込んだアカウントを取得できます。プログラムで絞り込むと、その問い合わせの対象は選択したプログラムに限定されます。これは取得結果の範囲を確認する方法であり、1回の問い合わせでSolanaの全ポジションを網羅できるという意味ではありません。
識別結果を1つの記録にまとめる
- 確認する対象を決める。 クラスターと、調べたい権限主体の公開アドレス全体を控えます。特定の資産を調べる場合は、発行元の公式資料で確認した対象のmintも別に控えてください。
- そのアカウントを確認する。 信頼できるエクスプローラーか、読み取り専用のアカウント確認ツールを使います。デコードされたレコードがトークンアカウントかmintかを確認してください。種類を取得できなければ、分類は未確定のままにします。mintであれば、アドレスをM、種類をmintとして記録します。次の2つの手順はトークンアカウントに適用します。
- 項目を照合する。 トークンアカウントの場合、現在のトークン所有者である権限主体とmintを、確認したい値と比較します。管理プログラムは別に記録してください。省略された表示ではなく、完全なアドレス同士を比較します。
- 確認結果を残す。 クラスター、デコードされた種類、T、A、M、P、報告された数量、レスポンスのスロットまたは確認時刻を記録します。結果は「識別済み」「不一致」「未確定」のいずれかにします。不一致とは、レコードが選択した権限主体または資産と一致しないという意味であり、その原因までは分かりません。
アカウントが存在しない場合と、読み取りに失敗した場合は別の結果です。getAccountInfoのリファレンスでは、指定したコミットメントでアカウントが存在しない場合、result.valueはnullになると定めています。それだけでは、その権限主体に属する他のアカウントについては何も分かりません。エラーや読み取れないレスポンスの場合、この確認結果は未確定です。
Owlioにアドレスを追加するときは、追跡したいウォレットアカウントの公開アドレスを使ってください。アドレス形式のチェックでは、入力がウォレットの権限主体、mint、トークンアカウントのどれなのかは判定できず、すべての保有資産を取得できる保証もありません。今回確認した項目の記録を残してください。各アドレスが一致していても表示されるポートフォリオに差がある場合は、ポートフォリオ残高が合わない場合のガイドで、対応範囲とデータの鮮度を確認できます。
よくある質問
mintアドレスで自分のトークン残高が分かりますか?
mintはトークンを識別し、供給量などの共通データを保持します。保有量は、トークン所有者である権限主体に対応するトークンアカウントに記録されます。mintの供給量は、その権限主体の保有量ではありません。
ATAのアドレスが分かれば、そのアカウントの存在も確認できますか?
いいえ。ATAのアドレスは、アカウントが存在する前でもウォレットアドレス、トークンプログラム、mintから導出できます。対象のクラスターで現在のアカウントデータを確認してください。また、ATAが存在しなくても、同じ権限主体とmintに対応する別のトークンアカウントが存在する可能性はあります。
記録されたトークン所有者から、誰が資金を操作できるか分かりますか?
その項目が示すのはオンチェーンの権限主体です。個人の身元を示すものでも、あなたがその権限主体を操作できる証明でもありません。委任先やトークン拡張機能によって権限が変わる場合があります。アカウントの識別だけでは、送金権限や資金を使用できるかどうかを完全には確認できません。