---
title: "OpenSea APIとは?"
description: "OpenSeaのAPIの概要、仕組み、そしてAlchemyのNFT APIなどの代替手段について解説します。"
---

## NFTの概要

NFT、すなわち[非代替性トークン](https://opensea.io/blog/guides/non-fungible-tokens/)は、証明可能な形で一意性を持つブロックチェーン上のデジタルアイテムです。誕生以来、このアセットクラスは画像・動画・音声形式のコレクティブル、ゲームアイテム、デジタルアート、イベントチケット、ドメイン名、さらには物理的資産の所有権記録にまで拡大してきました。そしてそのユースケースは今も[拡大を続けています](https://www.web3.university/article/nft-use-cases)。

多くの場合Ethereumブロックチェーンに紐づくNFTは、[ERC-721 & ERC-1155](https://www.web3.university/article/comparing-erc-721-to-erc-1155)トークン規格に依拠しています。後者を用いて構築する場合、[準代替性](https://www.cnbctv18.com/cryptocurrency/what-semi-fungible-tokens-are-and-how-they-are-different-from-nfts-12001832.htm)——ミント時には交換可能/代替性を持つが、償還時に交換不可能/非代替性となるトークンを作成する能力——が可能になります。準代替性トークンの例としては、コンサートチケット、ギフト券、クーポンなどが挙げられます。最近では、取得後に譲渡不可能となる「ソウルバウンド」NFTについても議論されており、これにより個人が本人確認を行ったり、イベントへの参加を証明したり、[分散型組織](https://ethereum.org/en/dao/)（[DAO](https://www.alchemy.com/dapps/top/daos)）における参加ベースの分散型ガバナンス権を保持したりすることが可能になります。[Soulbound](https://www.alchemy.com/dapps/soulbound) NFTは、現在セカンダリーマーケットでの取引可能性によって支配的となっている社会的シグナリングや金銭的インセンティブを超えて、NFT領域を拡張する役割を果たすことになるでしょう。

一方、NFTの売買市場はWeb3領域において突出した部分へと成長を続けており、2021年末時点で取引量は410億ドルを超えています。開発者たちは、このユニークなアセットクラスの上に何かを構築しようと、この領域に集まってきています。

NFTは、アプリケーション開発者とスマートコントラクト開発者の双方にとってユニークな機会を提供します。構築するプロジェクトがブロックチェーンと直接インターフェースする必要があるかどうかにかかわらず、重要な要件となるのは、所有権・コレクション・イベントに関する詳細情報を含むNFTエコシステムのインデックスにアクセスできることです。スマートコントラクト開発者にとって同様に重要なのは、NFTの売買を可能にする機能を通じてネイティブなNFTマーケットプレイスを構築できる能力です。

NFTおよびその他のデジタルアセットのための主要なピアツーピアマーケットプレイスであるOpenSeaは、[API](https://docs.opensea.io/reference/api-overview) & [SDK](https://github.com/ProjectOpenSea/opensea-js/blob/master/README.md)を通じてこれらの主要な開発者要件を満たしています。これは統合と利用が容易なツールセットであり、今日NFTを扱う主流の[アプリ](https://www.alchemy.com/dapps/top/defi-dapps)の大半にとって既に基盤となっています。しかし、市場のこれほど大きな部分がこのような中央集権的なシステムに依存していることには問題がないわけではありません。特に[OpenSea](https://www.alchemy.com/dapps/opensea)のプラットフォームは最近信頼性の問題に直面しており、OpenSeaのAPIには実用的な代替手段がいくつか存在します。

## OpenSeaとは

OpenSeaは、デジタル商品のための水平型ピアツーピアマーケットプレイスとして機能し、ユーザーがNFT、レアなデジタルアイテム、暗号資産コレクティブルを売買・オークションできるようにします。開発者向けには、OpenSeaはNFT領域のアプリのための広範な統合とツールを提供しています。彼らは最初のプロジェクトが上場された当初から存在しているため、最大のNFTデータセットをインデックス化・提供し、人気のコレクションやプロジェクトのセカンダリーマーケットとして機能しています。

OpenSeaは広く使われているトークンやチェーンを数多くサポートしており、そのリストを積極的に拡大しています。ERC-721非代替性トークンとERC-1155準代替性トークンの両方をサポートし、マルチチェーンプラットフォームとして、Ethereumに加えてPolygonおよびKlaytn向けのツールを提供しています。

マーケットプレイスに加えて、OpenSeaのAPIプラットフォームはサードパーティのツールを支えており、そのREST APIは[MetaMask](https://www.alchemy.com/dapps/metamask)、[Coinbase Wallet](https://www.alchemy.com/dapps/coinbase-wallet)、[Rainbow](https://www.alchemy.com/dapps/rainbow-wallet)など、Web3コミュニティにおける多数の大規模プロジェクトの基盤となっています。

## OpenSeaの開発プラットフォーム

OpenSeaの開発者向けツールは、開発者がNFTに関するメタデータにアクセス・表示できるようにするREST APIと、APIの上に構築され、デジタルアセットの売買によるNFTマーケットプレイスの構築など、ブロックチェーンと直接インターフェースする開発を可能にするSoftware Development Kit（SDK）から構成されています。OpenSeaの開発プラットフォームは、いくつかの重要な付加価値を提供します。

API経由のアプリケーション開発に関しては：

1. フロントエンド上でNFTやコレクションを表示するための簡単なプロセス。
1. OpenSeaのデータベース内の各アセット・コレクションに関する取引、所有権、その他の詳細についてのメタデータへのアクセス。
1. 任意のユーザーのウォレットにおけるNFT取引を監視し、任意のユーザーのアセットに関する情報を取得する機能。
1. カテゴリ別のフィルタリングと統計を含む、強力なデータ管理ツール。
1. OpenSeaは包括的な[ドキュメント](https://docs.opensea.io/reference/api-overview)を提供しており、APIの利用を容易に開始できます。

**そしてSDK経由のスマートコントラクトとのインタラクションに関しては：**

1. OpenSeaの取引所コントラクトを通じた、この領域における最大のコレクター・売り手コミュニティへのアクセス。
1. 独自のコントラクトをデプロイすることなく、ブロックチェーンへの読み書きを行うeコマース機能を構築する能力。
1. 幅広い機能と支払い構造を備えた、NFTの売買のためのネイティブなマーケットプレイスの構築。
1. OpenSeaは、Royalty Registryを通じてプラットフォーム間で標準化された組み込みのロイヤリティサポートを提供しています。
1. OpenSeaの[SDKドキュメント](https://github.com/ProjectOpenSea/opensea-js/blob/master/README.md)は、最新のSolidity規格への準拠のため定期的に更新されています。

## 1. APIツール

OpenSea APIは、OpenSeaプラットフォーム上でインデックス化された以下のモデルに対するエンドポイントを提供します：アセット（個々のERC-721/ERC-1155トークン）、NFTコレクション、イベント、注文、アカウント、アセットコントラクト。SDK機能の一部として、注文APIはNFT注文の取得（GET）と送信（POST）を可能にします。OpenSeaはメインネットとテストネット（Ethereum Rinkebyネットワーク経由）の両方のAPIへのアクセスを提供しており、開発者は実際の資金を使わずに構築・テストできます。

一部のAPIエンドポイント（注文とイベント）は、悪用を防ぐためOpenSeaによってゲート制御されています。これらのエンドポイントを利用して構築するには、[OpenSea developer portal](https://docs.opensea.io/)からAPIキーをリクエストできます。

次に、OpenSeaのAPIモデルをより詳しく見ていき、それぞれの範囲と機能について説明します。よく使われるエンドポイントとAPI呼び出しも以下に記載します。

### 1. Contracts

コントラクトは、Ethereumネットワーク上にデプロイされたスマートコントラクトです。単一のオーナーアカウントに紐づけられます。コントラクトは、あらかじめ定められた条件が満たされたときに自動的に実行されます——OpenSeaの場合、これはNFTコレクションの買い手と売り手の間に存在し、取引の実行に使用されます。

## 2. Assets

アセットは、コントラクトから生成される個々のトークンを表します。1つまたは複数のアカウントによって所有される可能性があり、各アセットに関するメタデータを含みます。このデータには、アセットのID、所有者、名前、それが含まれるコントラクトに関する情報のほか、メディア（アセットが表すイメージのURL）や作成者定義の特性が含まれます。アセットとは、OpenSeaがNFTを指す際に用いる呼称です。

### 3. Orders

注文とは、アカウントが送信するアセットの売買意思です。オフチェーンに存在し、タイプ（bidまたはask）を持ちます。また、オンチェーン上のNFTとマッチさせるために必要なメタデータも含まれます。注文には2つの参加者がいます：**メーカー**——アイテムの売却または買い/入札の意思を宣言することで流動性を生み出し、取引における最初の行動者となる者——と、テイカー——アイテムを購入するか入札を受け入れることで流動性を取得し、取引における2番目の行動者となる者です。注文は特定のコレクション内でバンドルすることができます。

### 4. Events

イベントは、アセットにおける状態変化を表します。転送、販売、ミントなどのオンチェーンイベントと、入札や出品などのオフチェーンイベントがあります。イベントは非公開にすることもできます。

### 5. Accounts

アカウントは、ウォレットアドレスと関連するユーザー名を通じてOpenSeaマーケットプレイス上のユーザーを表します。1つまたは複数のアセットを所有でき、注文においてメーカーまたはテイカーとして機能します。

### 6. Collections

コレクションは、1つまたは複数のコントラクト内のアセットのグルーピングです。ロイヤリティ情報やソーシャルリンクなどのメタデータを含み、1人または複数の権限を持つ編集者がいます。コレクションは完全にオフチェーンで存在します。作成者ロイヤリティや説明文などのメタデータと関連付けられます。人気のNFTコレクションには[Bored Ape Yacht Club](https://opensea.io/collection/boredapeyachtclub)、[CryptoPunks](https://opensea.io/collection/cryptopunks)、[Crypto Coven](https://opensea.io/collection/cryptocoven)などがあります。

**よく使われるエンドポイントとAPI呼び出しには以下のようなものがあります：**

- GET /Assets フィルタリング条件（asset_contract_addressやcollection_slugなど）に基づいてトークンのリストを取得します
- GET /asset/:contract_address/:token_id
  - ERC-1155トークンの所有者リストやトークンに対するすべての未決済注文を含む、特定のトークンに関する詳細情報を取得します。

- GET /collections
  - コレクションのリストを取得します。asset_ownerなどのフィルタリングオプションもサポートします。

- GET /collections/:slug/stats
  - 最新のフロア価格を含む、特定のコレクションに関する統計情報を取得します。

- GET /events
  - フィルタに基づいてイベントのリストを取得します。
  - [APIキー](https://docs.opensea.io/reference/request-an-api-key)ヘッダー（X-API-KEY: \{KEY\}）が必要です。

- GET /orders
  - 注文のリストを取得します。注文タイプや特定のメーカー・テイカーなどのフィルタリングオプションで修正できます。

OpenSeaのAPI呼び出しとエンドポイントの完全なリストは[こちら](https://docs.opensea.io/reference/api-overview)から確認できます。

## 2. SDKツール

OpenSeaのSDKツールは、アプリケーションにeコマース機能を組み込みたいウェブ開発者向けに提供されているnpmパッケージです。SDKのJavaScriptライブラリを通じて、スマートコントラクトやバックエンドの注文簿をデプロイすることなく、NFTの売買のためのネイティブなマーケットプレイスを構築できます。

OpenSeaのSDKは、上記で説明したREST APIによって支えられており、NFT注文の作成と履行のためにブロックチェーンとのインタラクションを実現するために[Web3.js](https://www.alchemy.com/dapps/web3-js)（EVMとのインタラクションのための人気パッケージ）を採用しています。

このSDKは、アセットの取得、オファーの作成、出品と販売、クラウドセールの実行、注文の取得、アイテムの購入、オファーの受諾、アイテムやコインの転送（ギフト）といった機能をサポートしています。

また、将来の出品のスケジューリング、他のユーザーのためのアイテム購入、NFTの一括転送、NFTバンドルの作成、Etherの代わりにERC-20トークンを支払いとして使用すること、プライベートオークションの作成、OpenSeaとの販売手数料の共有、イベントのリッスンといった機能を含む高度な機能セットも提供しています。

セットアップは容易で（npm installを介して）、OpenSeaの取引所とネイティブに統合されており、売買注文を直接作成・履行できます。

OpenSeaのJavaScript SDKライブラリの機能は[こちら](https://github.com/ProjectOpenSea/opensea-js/blob/master/README.md)からインストール・確認できます。

## コミュニティでの採用と見解

OpenSeaの開発プラットフォームは、Web3コミュニティ全体で広く採用されてきました。Coinbase Wallet、MetaMask、Rainbow、3Box、Opera Wallet、Trust Wallet、Editorial、Balance、CryptoGoodsなどの製品に統合されており、最近ではNFTプロフィール写真のサポートを追加した[Twitter](https://help.twitter.com/en/using-twitter/twitter-blue-fragments-folder/nft)にも統合されました。

このほぼ市場全体にわたるOpenSeaの中央集権的なAPIインデックスへの依存は、問題があることが判明しています。ここ数週間、OpenSeaは一連の「[データベース障害](https://status.opensea.io/)」を経験しており、その結果、OpenSeaのAPIに依存する複数のサービスがNFTを表示できなくなりました。これは基盤となるトークンやブロックチェーン自体には影響を与えませんが、NFTデータに依存するすべてのユーザー向けサービスは、OpenSeaの障害が続く間、持続的なダウンタイムに見舞われることになります。

こうした障害は、NFT領域全体、そしてより広いWeb3エコシステム全体におけるサービスの非分散化について、[さらなる議論](https://www.theverge.com/2022/2/2/22914081/open-sea-nft-marketplace-web3-fundraising-finzer-a16z)を呼び起こしています。この点について、NFTインデックスをさまざまなレベルで分散化することを目指すいくつかのプロジェクトが進行中ですが、現時点で市場に完全に分散化されたプレーヤーは存在していません。

いずれにせよ、最近の出来事は、開発者がOpenSeaを使用するかどうかを決定する前に、主要なNFT APIプロバイダーすべてを検討すべきであることを示しています。

## OpenSeaの代替手段

OpenSea以外にも、最も広く使われ機能が充実したNFT APIをいくつか以下に詳しく紹介します。現時点で、NFTマーケットプレイスとその関連機能の構築においてOpenSeaのSDKに相当するサービスは存在しないことに留意する必要があります。

### 1. Alchemy NFT API

Web3開発インフラプラットフォームであるAlchemyは、最近NFT APIのローンチを[発表しました](https://x.com/Alchemy/status/1489330992787726338)。これは、OpenSeaとほぼ同様の方法で、ERC-721とERC-1155の両方にわたるNFTメタデータへのアクセスを可能にします。現在、複数のブロックチェーン上のNFTに関するメタデータへのアクセス、NFTの所有者の特定、リアルタイムの情報更新などの機能をサポートしています。AlchemyのAPIは、Ethereum、Polygon、FlowのMainnet上で利用可能で、SolanaとAvalancheを皮切りに他のチェーンへの対応も予定されており、Test­netについてはEthereumとPolygonで利用可能です。現在、Adobe Behance、Shopify、[Dapper Labs](https://www.alchemy.com/dapps/dapper-labs)、[SuperRare](https://www.alchemy.com/dapps/superrare)などのNFTプラットフォームを支えています。

Alchemy NFT APIについて詳しくは[こちら](https://www.alchemy.com/nft-api)を、ドキュメントは[こちら](https://www.alchemy.com/docs/reference/nft-api-endpoints/nft-api-endpoints/nft-api-v-2-methods-older-version/get-nf-ts)をご覧ください。

### 2. NFT Port

もう一つのNFT APIプロバイダーは、NFTインフラプラットフォームであるNFTPortで、以下のような機能をサポートしています：

- Polygonチェーン上でのNFTのミント。
- 動的NFTに対応した、OpenSea互換のコントラクトのデプロイ、およびプログラム的なロイヤリティ管理の対応予定。
- オンチェーンの取引・注文データを伴う、NFTデータのライブインデックス化とキャッシュ。
- マルチチェーンNFT検索、NFTレコメンデーション、偽造NFTの検出を含む、より高度なAPI。

NFTPortについて詳しくは[こちら](https://www.nftport.xyz/)を、ドキュメントは[こちら](https://docs.nftport.xyz/docs/nftport/ZG9jOjE5MzA4MjIy-welcome-to-nft-port-the-stripe-for-nf-ts)をご覧ください。

### 3. Uniswap Token Lists

NFTデータのための完全に分散化されたインデックスというアイデアを好む開発者にとって、[Uniswap](https://www.alchemy.com/dapps/uniswap)のToken Listsは、OpenSeaレベルの中央集権と、ネットワークの個々のユーザーがウォレットに入力する個人でキュレーションされたNFTコレクションとの中間に位置します。Uniswapのソリューションでは、コミュニティが集まってNFTコレクションを一覧化することができ、分散化を実現しつつインデックス化プロセスへの信頼性を高めます。

NFTインターフェースをさらに分散化しようとするUniswapの試みについて詳しくは[こちら](https://uniswap.org/blog/token-lists?utm_source=thenewstack&utm_medium=website&utm_campaign=platform)を、独自のトークンリストを作成するには[こちら](https://tokenlists.org/)をご覧ください。

### 4. 完全な分散型インデックス化……近いうちに実現するか？

最近のOpenSea障害を受けて、MetaMaskの創業者の一人であるDan Finlayは、OpenSeaへの中央集権的な依存に対する代替手段をいくつか[こちら](https://medium.com/@danfinlay/what-moxie-missed-on-web3-wallets-8dc572e7f39b#:~:text=Viable%20Alternatives%20to-,the,-Centralized%20NFT%20Index)で説明しています。

その投稿の中で、彼は「より良い解決策は、アセット検出をクライアント中心の同意行為にすることだ」と主張しています。

[EIP-747](https://ethereum-magicians.org/t/eip-747-wallet-watchasset/1048)を通じて、MetaMaskはすでにサイトがユーザーのウォレットにカスタムアセットを提案できるようにしており、ウォレット自体がアセットのインデックスとなることで、中央サーバーを一切必要としません。MetaMaskは、この機能をNFTにも拡張し、パフォーマンスも向上させる完全に分散化されたシステムを構築することを意図しているようです。

このようなNFT APIが次々と市場に登場するにつれ、開発者はより多くの選択肢を得られるようになります——自分たちとそのプロジェクトに最適な分散化のレベルだけでなく、これらのサービスのプロバイダー選びについても選択肢が広がり、その結果、市場全体を巻き込む障害が減っていくことになります。

## 最後に

OpenSeaのNFT向け開発プラットフォームは、堅牢で機能が充実しており、デプロイと利用が容易です。スマートコントラクトと直接インターフェースすることを望むかどうかにかかわらず、NFT領域に参入しようとする開発者に対して、広範なデータの読み書き機能を提供します。それはNFT APIサービスの市場を主導するプロバイダーであり、それには十分な理由があります。

OpenSeaのAPI自体は比較的信頼性が高いものの、同社のツールへの広範な依存は、ここ数週間のようにそれが機能停止した場合、NFT市場の大部分を道連れにしてしまうことを意味します。このリスクを十分に軽減するためには、開発者はプロジェクトを構築する基盤として分散型・中央集権型の様々な選択肢を引き続き検討すべきであり、インフラプロバイダーはOpenSeaの強力な機能セットに匹敵し、対抗できるよう努めるべきです。

開発者がどのAPIを選択するかにかかわらず、NFT領域は、このアセットクラスを取り巻くエコシステムとツールが成長を続けるにつれ、広範な採用と持続的なイノベーションに向けて急速に進んでいます。Web3開発者として始めるには、今ほど良い時はありません。
