什麼是 OpenSea API?
作者 Alchemy Team
NFT 簡介
NFT,即非同質化代幣,是區塊鏈上可證明具有唯一性的數位項目。自問世以來,這個資產類別已擴展到包含圖片、影片、音訊格式的收藏品、遊戲道具、數位藝術、活動門票、網域名稱,甚至實體資產的所有權紀錄。而其應用場景仍在持續增加。
NFT 最常與 Ethereum 區塊鏈連結在一起,主要依賴 ERC-721 及 ERC-1155 代幣標準;若以後者為基礎建構,還能實現半同質化——也就是代幣在鑄造時可交換/同質化,但一經兌換即變為不可交換/非同質化的特性。半同質化代幣的例子包括演唱會門票、禮券和優惠券。近來也有人談論「靈魂綁定」(soulbound)NFT,這類代幣一經取得便不可轉讓,可用於驗證個人身分、確認活動出席,以及在去中心化組織(DAO)中持有分散式、以參與度為基礎的治理權。Soulbound NFT 的目的,是讓 NFT 領域跳脫目前因二級市場可交易性而主導一切的社交訊號與財務誘因。
與此同時,NFT 買賣市場持續成長,已成為 Web3 領域中規模龐大的一環,2021 年底交易量已突破 410 億美元,開發者也紛紛湧入這個領域,在這個獨特的資產類別上進行建構。
對應用程式開發者與智慧合約開發者而言,NFT 都提供了獨特的機會。無論你所建構的專案是否需要直接與區塊鏈互動,一項重要需求就是能夠存取 NFT 生態系的索引,取得關於所有權、收藏集與事件的詳細資訊。對智慧合約開發者而言,同樣重要的是能透過支援 NFT 買賣的功能,建構原生的 NFT 市場。
OpenSea 作為 NFT 及其他數位資產領先的點對點市場,透過其 API 及 SDK 滿足了這些關鍵開發者需求——這套工具組易於整合與使用,目前已是大多數處理 NFT 的主流 app 的核心支柱。但市場如此大一部分依賴這樣一個集中式系統,並非沒有問題,尤其是 OpenSea 平台近期屢屢出現可靠性問題,而 OpenSea API 也存在數個可行的替代方案。
什麼是 OpenSea?
OpenSea 是一個橫向的點對點數位商品市場,讓使用者能夠買賣及拍賣 NFT、稀有數位項目和加密收藏品。對開發者而言,OpenSea 為 NFT 領域的應用程式提供廣泛的整合與工具。他們索引並提供規模最大的 NFT 資料集(自最早的專案上架以來便已存在),並作為熱門收藏集與專案的二級市場。 OpenSea 支援多種廣泛使用的代幣與鏈,並持續積極擴充這份清單。他們同時支援 ERC-721 非同質化代幣與 ERC-1155 半同質化代幣,是一個多鏈平台,除 Ethereum 外,也為 Polygon 及 Klaytn 提供工具支援。 除了市場本身,OpenSea 的 API 平台也支撐著第三方工具,其 REST API 是 Web3 社群中多個大型專案的核心支柱,例如 MetaMask、Coinbase Wallet 及 Rainbow 等。
OpenSea 的開發平台
OpenSea 的開發者工具由一個 REST API 及一個 Software Development Kit(SDK)組成。REST API 讓開發者能存取並顯示 NFT 的中繼資料(metadata),而 SDK 則建構於 API 之上,讓開發者能進行直接與區塊鏈互動的開發,例如透過數位資產的買賣來建立 NFT 市場。OpenSea 開發平台提供了數項關鍵價值。
透過 API 進行應用程式開發方面:
- 提供簡單直接的流程,可在前端展示 NFT 與收藏集。
- 存取 OpenSea 資料庫中每項資產與收藏集的交易、所有權及其他詳細資訊的中繼資料。
- 能夠監控任何使用者錢包的 NFT 交易,並取得任何使用者資產的資訊。
- 強大的資料管理工具,包含依類別的篩選與統計功能。
- OpenSea 提供完整的文件,讓開發者能輕鬆上手使用其 API。
透過 SDK 進行智慧合約互動方面:
- 透過 OpenSea 的交易合約,接觸到此領域中規模最大的收藏家及賣家社群。
- 能夠建構讀寫區塊鏈的電商功能,而無需自行部署合約。
- 建構具備多種功能與付款結構的原生 NFT 買賣市場。
- OpenSea 透過 Royalty Registry 提供內建的、跨平台標準化的版稅支援。
- OpenSea 的 SDK 文件會定期更新,以符合最新的 Solidity 標準。
1. API 工具
OpenSea API 為 OpenSea 平台上以下已建立索引的模型提供端點:資產(單一 ERC-721/ERC-1155 代幣)、NFT 收藏集、事件、訂單、帳戶,以及資產合約。作為 SDK 功能的一部分,orders API 支援 NFT 訂單的取得(GET)與提交(POST)。OpenSea 同時提供 Mainnet 及 Testnet(透過 Ethereum Rinkeby 網路)API 的存取,讓開發者能在不花費真實金錢的情況下進行建構與測試。
部分 API 端點(orders 及 events)受到 OpenSea 的存取限制以防止濫用。若要使用這些端點進行開發,可向 OpenSea developer portal 申請 API key。
接下來,我們將更深入探討 OpenSea 的 API 模型,說明各模型的範圍與功能,下方也提供了常用端點與 API 呼叫的說明。
1. Contracts
Contract 是部署在 Ethereum 網路上的智慧合約,與單一擁有者帳戶相關聯。當預先設定的條款與條件成立時,合約會自動執行——在 OpenSea 的情境中,合約存在於某個 NFT 收藏集的買方與賣方之間,用於執行交易。
2. Assets
Asset 代表由某個合約所產生的個別代幣。它們可由一個或多個帳戶持有,並包含關於該資產的中繼資料,包括資產的 ID、擁有者、名稱及所屬合約,以及媒體(該資產所代表的圖片 URL)與創作者定義的特徵。OpenSea 以 asset 來指稱 NFT。
3. Orders
Order 是帳戶提交的買入/賣出資產意向,存在於鏈下,並有其類型:出價(bid)或要價(ask)。它也包含在鏈上與 NFT 進行配對所需的中繼資料。一筆 order 有兩個參與者:maker,即透過宣告出售或出價/買入某項目的意向,來提供流動性並在銷售中作為先行動者的一方;以及 taker,即透過購買或接受出價,來使用流動性並在銷售中作為第二行動者的一方。Order 可在特定收藏集內進行綑綁。
4. Events
Event 代表某項資產的狀態變化,包括轉移、銷售、鑄造等鏈上事件,以及出價與上架等鏈下事件。Event 可以是私密的。
5. Accounts
Account 透過使用者的錢包地址及相關聯的使用者名稱,代表 OpenSea 市場上的使用者。他們可持有一項或多項資產,並在 order 中扮演 maker 或 taker 的角色。
6. Collections
Collection 是一個或多個合約中資產的分組。它們包含版稅資訊及社群連結等中繼資料,並有一位或多位授權編輯者。Collection 完全存在於鏈下,並與版稅及描述等中繼資料相關聯。一些熱門的 NFT collection 包括 Bored Ape Yacht Club、CryptoPunks 及 Crypto Coven。
一些常用的端點與 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 key 標頭(X-API-KEY: {KEY})。
-
GET /orders
- 取得訂單清單,可透過訂單類型或特定 maker 或 taker 等篩選選項進行調整。
你可以在此處找到完整的 OpenSea API 呼叫與端點清單。
2. SDK 工具
OpenSea 的 SDK 工具是一個 npm 套件,適合想在應用程式中建構電商功能的網頁開發者使用。透過 SDK 的 JavaScript 函式庫,你可以建構用於 NFT 買賣的原生市場,無需部署智慧合約或後端訂單簿。
OpenSea 的 SDK 以我們上面探討過的 REST API 為基礎,並使用 Web3.js(一個常用於 EVM 互動的套件)來支援與區塊鏈的互動,以建立與執行 NFT 訂單。
SDK 支援的功能包括取得資產、發出出價、建立上架與販售項目、執行群眾銷售(crowdsale)、取得訂單、購買項目、接受出價,以及轉移項目或代幣(贈與)。
它同時提供一組進階功能,包括排程未來的上架、代其他使用者購買項目、批次轉移 NFT、建立 NFT 綑綁組合、以 ERC-20 代幣取代 Ether 作為付款方式、建立私密拍賣、與 OpenSea 分享銷售手續費,以及監聽事件。
它易於設定(透過 npm install),並與 OpenSea 的交易系統原生整合,可直接建立與執行買賣訂單。
你可以在此處安裝並探索 OpenSea JavaScript SDK 函式庫的功能。
社群採用情況與觀點
OpenSea 的開發平台已在整個 Web3 社群中獲得廣泛採用,被整合進 Coinbase Wallet、MetaMask、Rainbow、3Box、Opera Wallet、Trust Wallet、Editorial、Balance、CryptoGoods 等產品,最近則是 Twitter,在其新增 NFT 頭像支援功能時也採用了 OpenSea。
市場幾乎全面依賴 OpenSea 這套集中式 API 索引,已被證實會帶來問題。近幾週來,OpenSea 經歷了一連串「資料庫中斷」事件,導致多項依賴 OpenSea API 的服務無法顯示 NFT。儘管這並不影響底層代幣或區塊鏈本身,但在 OpenSea 中斷期間,所有依賴 NFT 資料的面向使用者服務都會持續停擺。
這些中斷事件也引發了更多討論,關於 NFT 領域乃至整個 Web3 生態系中服務去中心化不足的問題。就此而言,目前已有幾個專案正致力於實現不同程度的 NFT 索引去中心化,但市場上尚未出現完全去中心化的參與者。
無論如何,近期事件顯示,開發者在決定是否使用 OpenSea 之前,應考慮所有主要的 NFT API 提供者。
OpenSea 的替代方案
除了 OpenSea 之外,下方詳細介紹了幾個最廣泛使用、功能最完整的 NFT API。值得注意的是,目前並沒有任何服務能提供與 OpenSea SDK 相當的功能,用於建立 NFT 市場及其相關功能。
1. Alchemy NFT API
Alchemy 是一個 Web3 開發基礎設施平台,近期宣布推出其 NFT API,讓開發者能以與 OpenSea 相似的方式,存取 ERC-721 與 ERC-1155 兩種標準的 NFT 中繼資料。目前它支援存取多條區塊鏈上 NFT 的中繼資料、查詢 NFT 的擁有者,以及即時資訊更新等功能。Alchemy 的 API 已在 Ethereum、Polygon 及 Flow 的 Mainnet 上提供,並計劃支援其他鏈,首先是 Solana 及 Avalanche,同時也提供 Ethereum 及 Polygon 的 Testnet 支援。目前它已支撐著 Adobe Behance、Shopify、Dapper Labs 及 SuperRare 等 NFT 平台。
你可以在此處閱讀更多關於 Alchemy NFT API 的資訊,並在此處找到相關文件。
2. NFT port
另一個 NFT API 提供者是 NFTPort,一個 NFT 基礎設施平台,支援以下功能:
- 在 Polygon 鏈上鑄造 NFT。
- 部署與 OpenSea 相容的合約,支援動態 NFT,並計劃支援程式化的版稅管理。
- 即時索引與快取 NFT 資料,包括鏈上交易/訂單資料。
- 更進階的 API,包括多鏈 NFT 搜尋、NFT 推薦,以及仿冒 NFT 偵測。
你可以在此處閱讀更多關於 NFTPort 的資訊,並在此處找到相關文件。
3. Uniswap token lists
對於偏好完全去中心化 NFT 資料索引的開發者而言,Uniswap 的 Token Lists 介於 OpenSea 那種集中化程度,與由網路上個別使用者自行輸入至錢包中、個人整理的 NFT 收藏集之間,形成一種折衷方案。透過 Uniswap 的解決方案,社群可以共同上架 NFT 收藏集,藉此建立去中心化,並為索引過程增添信任度。
你可以在此處閱讀更多關於 Uniswap 進一步去中心化 NFT 介面的嘗試,並在此處建立自己的代幣清單。
4. 完全去中心化的索引……即將實現?
針對近期 OpenSea 的中斷事件,MetaMask 的創辦人之一 Dan Finlay 在此處描述了一些替代集中依賴 OpenSea 的方案。
在他的文章中,他主張:「更好的解決方案,是將資產偵測變成一種以客戶端為中心的同意行為。」
透過 EIP-747,MetaMask 已經能讓網站向使用者的錢包建議自訂資產,使錢包本身成為資產的索引,不需要任何中央伺服器。看來 MetaMask 打算將此功能擴展至 NFT,藉此建立一套完全去中心化、同時也能提升效能的系統。
隨著越來越多這類 NFT API 進入市場,開發者能獲得更多選擇——不僅是在最適合自己與其專案的去中心化程度上,也在選擇這些服務的提供者上,進而減少市場整體性的中斷事件。
結語
OpenSea 的 NFT 開發者平台功能強大、完整,且易於部署與使用。無論開發者是否希望直接與智慧合約互動,它都為想進入 NFT 領域的開發者提供了廣泛的資料讀寫功能。它是 NFT API 服務市場的領先提供者,而且確實名副其實。
雖然 OpenSea 的 API 本身相對可靠,但整個產業對其工具的廣泛依賴意味著,一旦它出現故障(如近幾週所發生的),將會拖垮大部分的 NFT 市場。為了充分降低這個領域的風險,開發者應持續探索多種去中心化與集中化的選項,作為建構專案的基礎,而基礎設施提供者也應致力於追上並與 OpenSea 這套強大的功能集競爭。
無論開發者選擇哪一種 API,隨著這個資產類別周遭的生態系與工具持續成長,NFT 領域正快速邁向廣泛採用與持續創新。現在正是成為 Web3 開發者的最佳時機!
相關總覽

打造區塊鏈魔法
Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。


