NFT projects too often randomize and reveal token metadata in a process that isn’t transparent and requires placing trust in the project developers. The typical approach is to initially present minters with “unrevealed” metadata, later updating the contract’s tokenUri
to point at the true, revealed metadata for each token.
Collectors appreciate the lottery aspect of this mechanism. Pre-reveal tokens trade at a premium as they represent a chance at receiving a rare item from the collection. But it also has its problems — dissatisfaction with revealed art and accusations of team members manipulating randomness or purchasing unrevealed tokens they know will reveal to be rare are some of the outcomes we’ve seen.
A one-time reveal also tends to crater floor prices on a collection. This isn’t necessarily a problem and reflects the market shifting from assigning all tokens equal value to valuing rarer tokens higher, but it can perhaps create the impression of negative velocity for a project. We’d all want to see a chart that goes up and to the right.
When designing the drop and reveal mechanics for Wrasslers we wanted to uphold principles related to transparency and fairness without asking for trust. We also believed we could create a more enjoyable reveal experience that enhances the lottery aspect. We’re big fans of skeuomorphism — we like to make our digital assets more understandable by fashioning them after objects in the physical world. And given our experience working cross-chain, we knew we could design this solution without increasing our costs compared to a typical reveal process.
Wrasslers Card Packs are ERC1155 tokens on Polygon containing 1, 3 or 5 Wrasslers
All First Edition Wrasslers are pre-minted to the Wrasslers Draft Pool for transparency
Pack holders can open a pack whenever they choose
Pack ripping uses Chainlink VRF to randomly assign token IDs - Wrasslers pays the gas on rip transactions
Wrasslers runs off-chain infrastructure to transfer pack openers their Wrassler NFTs on Ethereum mainnet
Ripping sports or trading cards pack was such a fun experience as a kid. I had really good luck, pulled a bunch of rare inserts over the years like autographs or game used memorabilia. I didn’t stick with “the hobby”, but many adults did - you can find tons of pack ripping videos on YouTube. Some other NFT projects have used the card pack motif - TopShot and Parallel the most recognizable.
Part of the value of skeuomorphism is more immediate recognition of what a thing is or does. Calling these digital assets Card Packs communicates the idea that it holds Wrasslers inside. That’s not technically true, the Pack represents a claim on 1, 3 or 5 randomly assigned Wrasslers.
As a digital asset, Wrassler Card Packs are Polygon ERC-1155s. The token ID corresponds to the number of Wrasslers contained in the pack. These tokens are freely tradable on any secondary market (Wrasslers won’t implement any marketplace blocking in any of our contracts). We maintain the pre-reveal premium trading period and potentially extend it, while adding another twist to the accumulation meta-game. If 5 packs are trading at 7x a one pack, does that represent an arbitrage opportunity?
Before distributing Wrasslers Card Packs we will pre-mint the entire First Edition Wrasslers collection on Ethereum Mainnet. We can do this extremely cheaply by not writing to storage at all without adding a transfer tax like ERC721A.
All of the metadata is revealed and frozen on these tokens and they will all be owned by the Wrasslers Draft Pool EOA. The Draft Pool represents all of the free agent Wrasslers, tokens that are yet to be assigned to owners who ripped a pack. As packs are opened, tokens are transferred from the Draft Pool to the rightful owner. Pack holders will always know the entire pool of potential tokens they will receive if they open a pack.
Pack holders can decide to rip packs they hold whenever they’d like. This is an onchain transaction on Polygon that burns the Card Pack NFT and requests a random seed from Chainlink VRF. Wrasslers has developed our own cross-chain meta-transaction stack that we use in pack ripping to cover the gas fee, making pack opening a completely free experience for holders.
Packs are burned when opened so if you’re looking on secondary markets for packs you can purchase without needing to check whether a pack has been opened.
And we built a fun little pack opening experience that we hope is exciting for openers. Rather than clicking the “refresh metadata” button on OpenSea, pack holders are in control of when they reveal their own metadata. It’s not quite the same as ripping a physical card pack, but hopefully you feel the same excitement when you pull some great Wrasslers.
Wrasslers makes every effort to be entirely trustless, but we will also make necessary tradeoffs to deliver a superior UX. Particularly in cross-chain contexts, it’s incredibly challenging to avoid trust, and not just for Wrasslers - the vast majority of bridging or cross-chain messaging puts some trust in centralized software or human beings.
We run centralized infrastructure to help keep costs low with Ethereum mainnet NFTs and provable randomness. Wrassler Card Packs are Polygon NFTs to help us keep costs related to randomization down. Chainlink VRF is magnitudes cheaper on Polygon. Wrasslers is opti-chain: Ethereum’s security model is optimal for NFTs, whereas Polygon’s cheaper transaction costs make it ideal for our randomization, gaming and other contracts we deploy.
Our offchain infrastructure is simple. It listens for Assigned
events from the Wrasslers Card Pack contract, and when it sees them submits a transaction on Ethereum mainnet to transfer the assigned tokens from the Draft Pool to the recipient. It’s a little more complex than that with signatures and other safeguards. But just because it’s simple doesn’t mean it can’t fail.
Should our infrastructure fail, it’s really not a big deal. The Polygon chain provides an incontrovertible record of what happened. It’s the easiest customer service problem imaginable. Confirm the event, confirm that the token has not been transferred, transfer manually. Things don’t have to all be done onchain or with pure decentralization to be an improvement over opaque, centralized services. Using public ledger blockchains as an audit trail is a vast improvement to handling things like randomization offchain.
We’re still putting the finishing touches on Card Packs and the ripping process, but give @wrasslersgg a follow on Twitter so you know when we open source our code and when Wrasslers Card Packs are available. We’ll be sure to write a more technical blog post that walks developers through the contracts and offchain infrastructure so that others can replicate our approach.
Wrassler Card Packs will be airdropped to supporters of 0xEssential’s previous projects. Many will be sold in a public bid to earn auction, while a small number will be distributed to winners of community raffles and other contests. Pack ripping will begin in January.