Wyvern 2.3 will soon be the new marketplace contract for OpenSea, and is located here.
We will be making some platform changes to go along with the new contract. These changes have implications for developers building on top of the OpenSea.js SDK and our API. The primary takeaways:
- orders made on OpenSea now require v2 of the SDK to fulfill,
- new orders will require v2 on February 18th and old orders will stop functioning on February 25th,
- we’re introducing cursor-based pagination for events on the API, and
- a few API parameters will be changing.
Read below to learn more about the upgrade and how you might be affected.
About the Upgrade
On February 1, we deployed and proposed the upgrade of OpenSea’s marketplace contract, called Wyvern. OpenSea has leveraged Wyvern to conduct sales of NFT since March of 2018; since then, it has grown to the most-used smart contract on Ethereum:
Wyvern was the first smart contract we found with an off-chain order architecture for NFTs. It offered a flexible view for the future of NFT liquidity, including gas-free listings and schema-agnostic transfers, so we used it as our contract. But in the past few years, it started to show some limitations, including the inability to cancel offers in bulk.
Wyvern 2.3 fixes some of these limitations, introducing:
- EIP-1271: Smart contract wallets can now sign orders and submit them to OpenSea without paying gas. This also enables a host of new apps to work with OpenSea, including Argent, Skyweaver’s Sequence wallet, and many others.
- Bulk cancellations: You can listen to the new NonceIncremented event yourself to see when a user bulk-cancels orders
Timeline
On February 4, we initiated a mandatory two-week on-chain switchover period to transition to the new contract.
On February 18th, the old contract for Wyvern 2.2 will begin a seven-day shutdown process. Older versions of our SDK will no longer be able to post orders to OpenSea (more on that below).
On February 25th, orders made on the old contract will no longer be fulfillable on-chain, and we will no longer make them available to consumers of our API.
SDK Changes
Today we launched a new version (2.0) of our SDK to take advantage of Wyvern 2.3. While function signatures have not changed, there are a few breaking changes that require an update:
- Prior versions of the SDK will continue to function, but orders created using the new SDK (and on opensea.io starting yesterday, Feb 9) will not be fulfillable using the old SDK. An upgrade will be required to match them.
- On February 18th, versions of the SDK older than 2.0 will no longer be able to create new orders. OpenSea will not accept them. This new version of the SDK will start automatically signing and submitting orders for Wyvern 2.3.
Read more about our SDK here: https://github.com/ProjectOpenSea/opensea-js
API Changes
We’re making three changes to our API: introducing cursor pagination, removing last-sale sorting…
Read More: opensea.io