
Horton Hears A Who!
Horton Hears A Who!Neutralizing a critical vulnerability in Wyvern Protocol — TL;DR — In Q1 of 2022, a security researcher reported a critical vulnerability in the Wyvern 2.2 smart contracts that powered OpenSea. The vulnerability was neutralized before it could be exploited, and users are no longer at risk. We awarded the vulnerability reporter a bug bounty. Historical blockchain logs provide no indication that the vulnerability was ever exploited in the wild. — The “Horton Principle” is a m...

Migrating to the Seaport protocol
Last week, we unpacked the early details of OpenSea’s new open-source protocol – Seaport – for the developer community. Seaport will become the foundation for OpenSea’s core products, unlocking a range of new use cases for creators, collectors, and the broader developer ecosystem. The protocol is non-custodial, non-upgradeable, and decentralized at its core — it belongs to the community first & foremost. And in that spirit, we’re inviting the community to join us in early testing via a $1M Co...

“Hello NFT World” Hackathon Recap
That’s a wrap! The Replit and OpenSea virtual hackathon “Hello NFT World” has ended! We’d also like to give a shoutout to our partners, DoraHacks, and Buildspace.Hello World meets web3 🖥️The Hello NFT World Hackathon encouraged the advancement of web3 by bringing together creators, artists, developers, and entrepreneurs as “BUIDLers” to create innovative web3 NFT Projects. Together, they pushed the boundaries of NFTs and surfaced new types of utility. Over the course of eight days, projects ...
Announcements and updates from the OpenSea Developer Platform. Stay in the loop on launches, updates, best practices, and more.

Horton Hears A Who!
Horton Hears A Who!Neutralizing a critical vulnerability in Wyvern Protocol — TL;DR — In Q1 of 2022, a security researcher reported a critical vulnerability in the Wyvern 2.2 smart contracts that powered OpenSea. The vulnerability was neutralized before it could be exploited, and users are no longer at risk. We awarded the vulnerability reporter a bug bounty. Historical blockchain logs provide no indication that the vulnerability was ever exploited in the wild. — The “Horton Principle” is a m...

Migrating to the Seaport protocol
Last week, we unpacked the early details of OpenSea’s new open-source protocol – Seaport – for the developer community. Seaport will become the foundation for OpenSea’s core products, unlocking a range of new use cases for creators, collectors, and the broader developer ecosystem. The protocol is non-custodial, non-upgradeable, and decentralized at its core — it belongs to the community first & foremost. And in that spirit, we’re inviting the community to join us in early testing via a $1M Co...

“Hello NFT World” Hackathon Recap
That’s a wrap! The Replit and OpenSea virtual hackathon “Hello NFT World” has ended! We’d also like to give a shoutout to our partners, DoraHacks, and Buildspace.Hello World meets web3 🖥️The Hello NFT World Hackathon encouraged the advancement of web3 by bringing together creators, artists, developers, and entrepreneurs as “BUIDLers” to create innovative web3 NFT Projects. Together, they pushed the boundaries of NFTs and surfaced new types of utility. Over the course of eight days, projects ...
Share Dialog
Share Dialog
Announcements and updates from the OpenSea Developer Platform. Stay in the loop on launches, updates, best practices, and more.
Today we’re launching a beta version the OpenSea Stream API, a new websocket-based service that enables developers to receive events as they occur across our marketplace.
With the massive growth in the NFT ecosystem, we know that it’s becoming increasingly challenging to rely solely on our REST APIs to stay up-to-date across a growing number of items and collections. The need to continuously poll these endpoints to refresh the data in your service can be resource-intensive and inefficient.
We’ve built the Stream API to better support a range of use cases that rely on dynamic data, such as price fluctuation, listings, bids, and ownership changes. Instead of polling for updates, you can subscribe to receive events as they occur - whether for specific collections or globally across the entire OpenSea marketplace.
The Stream API makes it easier to build many new features, such as:
A push notifications service that alerts people when they receive new bids on their listing
An activity feed that provides a timeline of sales of NFTs from a specific collection
A real-time dashboard that enables people to visualize and track key trends and metrics
A display of NFTs that have recently had their metadata updated. Examples of metadata updates include changes to title, description, and image.

With this beta launch, we’re providing a JavaScript SDK that provides a simple way to manage connections and individual subscribers to the Stream API and its various events. And as an example of what’s possible, we’ve also built a new tool that leverages the Stream API to automatically post updates to Discord which you can clone on GitHub.
We’re excited to get this beta version in the hands of the ecosystem and we’ll continue to iterate and improve upon the Stream API during beta period. To get started, check out our Stream API developer documentation which will walk through setup and using our SDK. Please let us know what you think and share your feedback, questions, and issues in our Developers channel in Discord.
We can’t wait to see what you build!
Do the events received from my subscriptions count towards any rate limits on my API key?
No, events are not counted towards any API rate limits.
What is the typical streaming rate that I should expect from the Stream API?
The streaming rate depends on a range of factors - from the amount of collections that you’re monitoring to the type and amount of events that you’re subscribed to. For instance, if you’re subscribed to receive bid events across all collections on OpenSea, you’ll be receiving messages at a significantly higher rate than you will for a subscription to order cancellations on a small collection.
Should I expect that some events can be received out of order?
You should be prepared to handle receipt of events out of order as we don’t guarantee delivery of events in the order that they occur. Payloads include the event_timestamp field, which represents the time at which the event occurred and is the most definitive resource in determining order. We also include a sent_at field that refers to the time at which we sent the message out through the websocket.
Is it possible for some events to be missing?
The Stream API is a best-effort delivery messaging system and messages that are not received due to connection errors will not be re-sent. So it’s possible that there can be missing messages if the socket connection is unstable.
What blockchains does the Stream API support?
The following blockchains are supported on Mainnet networks:
Ethereum
Polygon mainnet
Klaytn mainnet
Solana mainnet
The following blockchains are supported on Testnet networks:
Rinkeby
Polygon testnet (Mumbai)
Klaytn testnet (Baobab)
Today we’re launching a beta version the OpenSea Stream API, a new websocket-based service that enables developers to receive events as they occur across our marketplace.
With the massive growth in the NFT ecosystem, we know that it’s becoming increasingly challenging to rely solely on our REST APIs to stay up-to-date across a growing number of items and collections. The need to continuously poll these endpoints to refresh the data in your service can be resource-intensive and inefficient.
We’ve built the Stream API to better support a range of use cases that rely on dynamic data, such as price fluctuation, listings, bids, and ownership changes. Instead of polling for updates, you can subscribe to receive events as they occur - whether for specific collections or globally across the entire OpenSea marketplace.
The Stream API makes it easier to build many new features, such as:
A push notifications service that alerts people when they receive new bids on their listing
An activity feed that provides a timeline of sales of NFTs from a specific collection
A real-time dashboard that enables people to visualize and track key trends and metrics
A display of NFTs that have recently had their metadata updated. Examples of metadata updates include changes to title, description, and image.

With this beta launch, we’re providing a JavaScript SDK that provides a simple way to manage connections and individual subscribers to the Stream API and its various events. And as an example of what’s possible, we’ve also built a new tool that leverages the Stream API to automatically post updates to Discord which you can clone on GitHub.
We’re excited to get this beta version in the hands of the ecosystem and we’ll continue to iterate and improve upon the Stream API during beta period. To get started, check out our Stream API developer documentation which will walk through setup and using our SDK. Please let us know what you think and share your feedback, questions, and issues in our Developers channel in Discord.
We can’t wait to see what you build!
Do the events received from my subscriptions count towards any rate limits on my API key?
No, events are not counted towards any API rate limits.
What is the typical streaming rate that I should expect from the Stream API?
The streaming rate depends on a range of factors - from the amount of collections that you’re monitoring to the type and amount of events that you’re subscribed to. For instance, if you’re subscribed to receive bid events across all collections on OpenSea, you’ll be receiving messages at a significantly higher rate than you will for a subscription to order cancellations on a small collection.
Should I expect that some events can be received out of order?
You should be prepared to handle receipt of events out of order as we don’t guarantee delivery of events in the order that they occur. Payloads include the event_timestamp field, which represents the time at which the event occurred and is the most definitive resource in determining order. We also include a sent_at field that refers to the time at which we sent the message out through the websocket.
Is it possible for some events to be missing?
The Stream API is a best-effort delivery messaging system and messages that are not received due to connection errors will not be re-sent. So it’s possible that there can be missing messages if the socket connection is unstable.
What blockchains does the Stream API support?
The following blockchains are supported on Mainnet networks:
Ethereum
Polygon mainnet
Klaytn mainnet
Solana mainnet
The following blockchains are supported on Testnet networks:
Rinkeby
Polygon testnet (Mumbai)
Klaytn testnet (Baobab)

Subscribe to OpenSea for Developers

Subscribe to OpenSea for Developers
<100 subscribers
<100 subscribers
No activity yet