NFTの保有者を確認する方法: ERC-721とERC-1155
NFTの画像やコレクションの保有数だけでは、特定のトークンの保有者は分かりません。規格に合った読み取り専用の照会を選びましょう。
存在するERC-721トークンの現在の記録上の保有者を知るには、正しいコレクションのコントラクトでownerOf(tokenId)を読み取ります。ERC-1155ではbalanceOf(account, id)を使い、そのIDの単位をアカウントがいくつ持つか調べます。 この2つは問いが異なります。ERC-1155では、同じ種別の単位が複数のアカウントに分かれて存在できます。
まずネットワーク、コレクションのコントラクトアドレス全体、トークンIDをそろえます。使い慣れたエクスプローラーやコントラクト読み取りツールで調べる間も、この3つをセットで扱ってください。画像やコレクション名、NFTの総保有数が一致するだけでは、特定のトークンの保有を確認できません。
この記事で確認するのは公開されたトークンの記録です。アドレスの背後にいる人物の身元、作品の真贋や価格、預かりサービスに対するあなたの権利を証明するものではありません。手順に送金やウォレット接続は含まれません。
トークン規格に合う照会を選ぶ
ERC-721のインターフェースには、アカウント単位の保有数と個別トークンの照会があります。ERC-1155の標準インターフェースでは、アカウントとトークン種別のIDを一緒に指定します。
| 規格と読み取りメソッド | 入力する情報 | 結果の意味 |
|---|---|---|
ERC-721 ownerOf(tokenId) |
トークンID1つ | 存在するそのトークンの保有アドレス |
ERC-721 balanceOf(account) |
アカウントアドレス1つ | そのコントラクトのNFTの保有数 |
ERC-1155 balanceOf(account, id) |
アカウントとトークン種別のID | そのIDの単位の保有数 |
仮のERC-721コレクションに、IDが42と43のトークンがあるとします。アカウントAは42を、アカウントBは43を保有しています。どちらの保有数も1です。保有数だけでは42をどちらが持つか分かりませんが、IDを指定した照会なら分かります。
次に、これとは別の仮のERC-1155コントラクトを考えます。アカウントAはID 42を3単位、アカウントBは2単位持っています。同じ時点で、両方の残高が正になります。アカウントAをID 42の唯一の所有者と呼ぶと、Bの保有分を見落とします。これらは読み取り方を説明する例で、実在するコレクションの照会結果ではありません。
一致を信用する前にコレクションとIDを特定する
トークンIDは特定のコントラクトに属します。あるコレクションのID 42は、別のコレクションのID 42を指しません。ERC-721の識別子の規則では、チェーン上のコントラクトとIDの組を説明しています。IDが連番になっているとは限りません。
信頼できる経路からコレクションの公式デプロイ情報を探すか、既知のトランザクション記録を使い、ネットワークとコントラクトアドレス全体を確認します。模倣コントラクトも、見慣れた名前や画像を使えます。そのコピーが標準らしい関数の応答を返しても、目的のコレクションである証拠にはなりません。
IDは名前から推測せず、アイテムの詳細から取得し、値を正確に保ちます。一方の画面が16進数、もう一方が10進数なら、同じ整数を表すことを確認してから比較してください。コントラクトアドレスはコレクションを特定し、アカウントアドレスは調べる保有者を表します。詳しくはウォレットアドレスとコントラクトの違いを参照してください。
身に覚えのないアイテムでは、説明欄のリンクを操作する前に迷惑NFTの安全確認ガイドを確認しましょう。受け取りを促すリンクをたどらなくても、すでに信頼している経路から公開記録を調べられます。
読み取り専用で確認し、結果を残す
次の手順は公開記録の調べ方を示したものです。この記事のために実際のウォレットで試したものではありません。メソッドの一次資料は2026年10月24日に確認しました。
- 識別情報をすべて記録します。 ネットワーク、コレクションのコントラクト、正確なトークンIDを控えます。特定のウォレットを調べる場合は、アカウントアドレスも加えます。
- 規格を確認し、公開の読み取りメソッドを選びます。 信頼するエクスプローラーのコントラクト詳細と検証済みインターフェースを使います。表示名はツールによって異なります。ERC-721ならIDを指定して
ownerOf、ERC-1155ならアカウントとIDを指定してbalanceOfを使います。インターフェースがない、または非対応なら調査が必要です。別の規格だと決めつけないでください。 - 現在の状態を読み取り、観測時点を記録します。 返されたアドレスまたは単位数を保存し、取得できる場合はブロック番号も残します。可能なら同じブロックで比較します。最新状態を別々に照会すると、照会の間に転送が起こる可能性があります。
- 結果が示す範囲を正しく読み取ります。 ERC-721では、返されたアドレス全体を目的のアカウントと比較します。ERC-1155の正の数はそのアカウントに記録された単位を示し、有効なゼロの応答はその時点でそこに単位がないことを示します。どちらも他の全保有者を列挙するものではありません。
- 失敗や取得不能は不明として残します。 エラーや取得できなかった結果を記録に残します。トークンが存在しないと結論づける前に、ID、コントラクト、ネットワーク、読み取りツールを確認してください。照会失敗を残高ゼロに置き換えてはいけません。
OpenZeppelinのERC721リファレンスでは、公開メソッドownerOfの対象は存在するトークンでなければなりません。そのため、存在しないIDやバーン済みのIDでは、保有者を返さず失敗する場合があります。その失敗だけでは、IDの入力ミス、コントラクトの選択違い、無効なトークンのどれが原因か判定できません。
この公開関数を、名前がアンダースコアで始まる内部用の補助関数と混同しないでください。確認するのは文書化された公開インターフェースです。これらの読み取りに署名、承認、リカバリーフレーズは不要です。保有者を表示するだけなのに要求するサイトでは、その操作を中止してください。
記録された保有者がコントラクトの場合
NFTはコントラクトアカウントでも保有できます。そのため、保有者の照会で返るアドレスは、署名に使うあなたのウォレットではなく、保管庫、エスクロー、ステーキングの仕組みなどのサービスに属する場合があります。それだけでは経済的な権利の帰属や、アイテムを回収できるかは決まりません。
自分でNFTをサービスへ預けた場合は、そのサービスの公式記録と既知の入庫トランザクションを確認します。自分のアカウントの請求権を、正確なコレクションとIDに結び付けてください。ウォレットのギャラリーを期待した画像に合わせるためだけに、資産を転送したり引き出したりしないでください。
流動性ポジションでは、保有者の確認で分かるのは、どのアドレスがNFTを持つかだけです。Uniswap v3のNFTガイドでは、元のポジションの資産と手数料を調べる別の作業を説明しています。NFTの保有アドレスだけでは、どちらの金額も分かりません。
サムネイルではなく、特定した保有記録で確認を終える
OpenZeppelinのERC1155リファレンスは、結果を、アカウントが保有する特定の種別の単位数として説明しています。その数量をアカウントとIDとともに残してください。ERC-721のような単一所有者の表示に置き換えたり、無関係なERC-20の小数桁の尺度で割ったりしないでください。
ネットワーク、コントラクト、トークンID、規格、返された保有者またはアカウント別の単位数、観測ブロックまたは時刻がそろえば、記録は完了です。記録上の保有者がサービスのコントラクトなら、預かりに関する注記も加えます。必須項目が解決しない場合、その保有状況は未確認と記してください。
ギャラリーは一覧を見るのに便利です。この記録が答えるのは、選んだコントラクトがその特定のトークンについて何を報告しているかという、より限定された問いです。コレクションの認証、転送権限の付与、人物の特定、売却価格の計算をするものではありません。
よくある質問
ERC-721の残高が1なら、そのウォレットが目的のNFTを持っているといえますか?
いいえ。balanceOfは、そのコントラクトのNFTをアカウントが何個持つかを返します。特定のトークンについて現在記録されている保有者を知るには、トークンIDを指定してownerOfを使います。ネットワークとコレクションのコントラクトも一致させてください。
同じERC-1155のトークンIDを複数のウォレットが保有できますか?
はい。ERC-1155のIDには複数の単位が存在できます。balanceOfはアカウントとIDを受け取り、その種別の単位をそのアカウントがいくつ持つか返します。正の結果が出ても、唯一の保有者であるとは限りません。
保有者を調べるためにウォレットの接続や署名は必要ですか?
この公開の読み取り専用照会に、ウォレットの署名、承認、リカバリーフレーズは不要です。結果が示すのは記録された保有状況であり、アドレスを管理する人物や、預かりサービスに対する別の請求権ではありません。