Cross-Chain Exploration: Everdragons2 #488
On Mar 6, 2022 we did our first official cross-chain transfer on mainnet. The Everdragons2 Genesis #488 flew from Polygon to Binance Smart Chain (BSC), and then from BSC to Ethereum.
Because it’s on Ethereum now, you can see the dragon as my Twitter profile image. 🐲 🎉
In this post we want to recap why we believe so strongly in cross-chain technology and how it works in a bit more detail. (For developers, we’re also going to publish a technical post on how to make your own cross-chain NFT using our open source code, feel free to ping us on discord if you’re interested.)
Why Cross-Chain NFT?
We strongly believe that NFTs transcend the blockchain where they first were created. Whether they represent avatars, assets in a game, art pieces, the fact that they were minted on a specific blockchain is, for us, just a technical detail.
Developers may have specific constraints or preferences. For example, for the Everdragons2 we decided to mint on Polygon vs Ethereum to avoid gas wars, but to also choose a chain that’s supported by OpenSea so that our users can easily trade their dragons.
Many people trust Ethereum to provide high security guarantees, so they’d be more comfortable holding their high value NFTs on that chain.
Game developers need fast blockchains to provide a seamless in-game experience, and they’d like NFTs to be available on those fast chains.
In short, the owner of a NFT should have the ability to move it to any blockchain he or she needs to hold it securely, to trade it, to participate in a game… and of course the creators of a NFT should maintain control of the NFT collection across all these blockchains.
The Everdragons2 are an example of native cross-chain NFT, built with Wormhole. And the Everdragons2 #488 just went on a journey across multiple chains…
The Cross-Chain Journey of #488
The dragon was originally minted on Polygon.
A few days later we decided to bridge it to different chains using Wormhole.
For context, Wormhole has a Portal webapp that you can use to bridge any token across any supported chain. This is not what we’re using here. The disadvantage of the Portal is that it’d send the “official Everdragons2” into a Wormhole-wrapped token that wouldn’t have all the properties of our NFTs. So, please do NOT try to use the Wormhole Portal with your Everdragons2.
Instead, we built native Wormhole support into our NFT. Unlike with Portal, with the native support for Wormhole we control the NFT contracts on all chains, so we own the Everdragons2 contract on Polygon, on BSC and on Ethereum (more chains to come, as we’ll need them). We’re in the process of building the webapp necessary to bridge Everdragons2 across the chains.
Back to #488, we bridged it from Polygon to BSC. This requires 2 transactions: the first tx on Polygon to send the NFT into Wormhole, the second tx on BSC to complete the transfer. If you look at the 2 tx, they look respectively like burning the NFT on Polygon and re-minting it on BSC. It looks very easy and simple because Wormhole and our native integration abstract away a lot of technical details, but of course no one can mint Evedragons2 on arbitrary chains, this is only possible as part of a bridge transfer.
Below you can see a preliminary screenshot of the bridge webapp. This is a very early work in progress, even the image of the dragon is just a placeholder… but it works! The transactions generated are real: in the logs on the right you can notice the first tx on Polygon linked above.
After a toast, we were ready to bridge #488 from BSC to Ethereum. Similarly we needed 2 transactions: the first tx on BSC to send the NFT into Wormhole, the second tx on Ethereum to complete the transfer.
It’s interesting to take a look at the gas fees. Polygon and BSC are pretty cheap chains, but to transfer the Everdragons2 to Ethereum we had to pay regular gas fees, 0.02 ETH to be precise. At the time of the tx, that amounted to about $50, kind of in line with other transfers or mint.
Overall we believe this makes it a pretty practical application. By minting on Polygon you can remove almost completely gas fees and gas wars. Most tokens will remain on Polygon and be traded on OpenSea like any other NFT. But the most rare can be bridged to Ethereum if the owners want or feel an extra level of security, and the price to do so is totally in line with a regular mint on Ethereum.
That’s all for this post. To summarize, we bridged the Everdragons2 #488 first from Polygon to BSC and then from BSC to Ethereum. The cost of the last tx was ~$50 in gas. The NFT is now my Twitter profile picture.
The code to build a native cross-chain NFT is open source. Join our discord if you’re interested in discussing more tech details.