UX
Riding Along for an NFT Drop with the Rebel Kids Familiars (Which Sold Out!)
A look at how a successful mint-on-demand NFT UX works.

NOTE: I am not affiliated with the Rebel Kids project. I’m just using them as an example to write about. But, I do love their project! (And, as it sold out today, I definitely picked a winner to examine.)
Not only do I help clients with generative art NFT projects, but I’m also an aspiring NFT collector, trader, investor, and fanatic. So, I like to keep my eye on upcoming projects. One that caught my eye in particular lately was the Rebel Kids. From great art, to a great roadmap, to great marketing, they seem to have the recipe for a successful project.
As it happens, I’m currently involved in numerous generative NFT projects, many of which are interested in the “mint on demand” model. Basically, generative NFT projects have three options for handling minting and listing for sale:
- They take the generated works and upload them manually one at a time to an collection on an NFT platform like OpenSea.
- They attempt to automate the task somehow, through a bot or a macro.
- They handle it programmatically through SDKs, smart contracts, and other more complicated means.
When it comes to item #3, above, there are two tactics:
- The “upload them all at once” model, where you drop 10,000 items on OpenSea and people hunt down the rarities (usually rarities are listed for more ETH, as they’re pre-identified as such). This one is somewhat easier to achieve, technically (though it’s not “easy” by any means). (This is also achievable via #2, above — using a bot or macro. Or, it could use, for example, the SDK from OpenSea, to name one platform.)
- The “mint on demand” model. This is where a user visits a web site, connects a wallet, and purchases X number of minted items sight unseen. Typically, there is a set price for this — say something like 0.01 ETH — and by minting in this fashion, it’s up to chance as to what you get. It’s like pulling a lever on a slot machine, hoping to get a “good” (or “rare”) item.
The above list basically ranks all methods according to both complexity and cost. #1 is easy (low complexity) and free (low cost), but takes a ton of time — more than most people want to invest. #3(b) is becoming the standard, and certainly seems among the most hype-worthy, but is by far the most complex and expensive to pull off well.
As it happens, just today, the Rebel Kids dropped a test run of 666 cats (which they called “familiars”) as a precursor to their main character mint-on-demand drop coming up on August 25. Here’s a sneak peak at these cats:

I really liked this test idea because (1) you get a neat cat for 0.01 ETH, (2) they get to perfect their mint-on-demand system, and (3) participants also get a free character once those drop on the 25th. Here’s a look at those:

And those characters will cost 0.06 ETH. So, if they sell out (UPDATE: They did.) and the secondary market becomes a thing, which I’m hoping they will, then you’re in great shape if you’d like to sell your character for 0.06 or even more later on. So, in a way, this 0.01 cat is like the team actually paying you at least 0.06 ETH to help them out! Or, of course, you can HODL your cat and character and just enjoy them long-term.
The Mint-On-Demand UX
I’m not asserting that what I’ll share here is/was the best or only way of doing a mint-on-demand drop. I just wanted to take a moment to document it, as it was happening and I felt it relevant to a lot of inquiries I’m getting lately from clients. So, here’s how it worked:
Once the drop happened, a MINT button appeared on the web site. (I’d already connected my MetaMask wallet, so I’m not sure if there was a check for that or not. But anyway, assume that you need to connect a wallet first!)

(That counter shown below the button was much, much lower when it came on, of course. I screen-shot it later.)
Next, the user clicks the mint button, and MetaMask pops up a notification, like so:

It said I was spending 0.01 ETH. I can’t recall what the fee / gas was at the moment, but you can see that it was $32.28 total there once I confirmed.
After this, the MINT button became disabled for me. (I forgot to screen-shot that.)
And then a solid minute or two went by, and eventually I saw a MetaMask notification that the transaction was complete. From a UX perspective, I think I’d consider adding a notice somewhere that the transaction may take a minute or two, as I think a user may tend to feel lost here, and not be sure what just happened. (This kind of thing is probably not a big deal now, but surely will become more important as the NFT space widens.)
After that, the MINT button became a “Show transaction” button …

… which linked to Etherscan, a site where you can view Ethereum blockchain transactions. It looks like this:

Soon after the purchase, my cat showed up in my OpenSea account, along with a placeholder image:

The placeholder was an animated GIF, which seemed a nice touch. So, for NFT teams out there, putting thought into a pre-reveal graphic is probably worthwhile.
Back on their website, I refreshed the page, and saw the MINT button had returned to normal:

And here’s where it gets particularly interesting to me. Now, I didn’t know there was a one-cat limit. So, I thought, “Hmm, why not buy two?!” And so I clicked. But watch this:

Wowzers, a 1.5 ETH gas fee of $5,000??? I’ve never seen gas *that* high before, which really seemed odd to me.
On the Discord for Rebel Kids, some noted that this high gas fee was a protection mechanism to prevent anyone from buying additional cats. I’m not sure what might’ve happened if a person who had, say, 2 ETH in their wallet, went there, got excited, and accidentally approved such a transaction. Would it fail by default somehow, or would that person just have purchased a $32 cat for $5k? Honestly, I don’t know.
But, either way, it does underscore the lesson of: Be extra careful when doing transactions using crypto. Maybe somehow that $5k transaction would have failed for anyone with more than $5k in their account. But, one thing’s for sure: If it did NOT fail, and the $5k was actually spent, there’d be no way to get that $5k back for anyone making that error. So, always, always, always read the transaction details and gas amount. (That said, I think people can get caught up in these things and want to rush through. So personally, I’m not super crazy about this high-gas tactic as a protection mechanism. I wonder if there’s a better way. Anyone know?)
Anyway, post-sale, the assets started trickling onto OpenSea, but still in their pre-reveal state:

I was wondering about the assets themselves, whether they’re stored on OpenSea or IPFS, for example. When inspecting one, it pointed to the usual OpenSea image storage area:

But, then again, back on the group’s Discord, they did mention using IPFS:

So, I guess OpenSea takes its data from there periodically and just caches it locally. (Hey, I’m still learning, too!)
Anyway, how did they do? Well, it’s only a few hours later, and here’s the counter:

So, yes, they sold out! Way to go, Rebel Kids! (I’m not sure how many sold and how many they airdropped, but they took in somewhere upwards of 6.66 ETH, I suppose, which is $21k. Not bad for a test run!).
As a final note, I wanted to also mention that, if you look on your trading history (e.g., in OpenSea), you then see that the cat was minted to you. It wasn’t, as some might believe, minted to the collection and then transferred to you. It was minted directly to your account. Or, you might technically say that you minted it (because you did).

I’m still not 100% clear on how everything works technically in this scenario, but I suspect that prior to the minting, #46 existed somewhere as a pre-rendered / pre-generated graphic. And my paying to mint it is basically my paying to reveal it. That is to say, I do not think characters need to be actually generated in real-time along with the purchase / mint process. Rather, once the program sees a completed transaction, it takes whichever one is next to be minted onto the blockchain, and uses that one. At least, I think that’s how I’d handle it as a web developer, as it would seem to offer many efficiencies to do it that way versus trying to tie generational software into a site that is already handling wallets and other complexity. But, the above at least shows us that (1) it mints directly to your account, and (2) it is also still associated with the overall collection (as the item also links to the collection, where anyone can see your item as well).
Conclusion
All-in-all, mint-on-demand is an exciting event. But, if you’re a member of an NFT team, you should also keep in mind that it’s by far the most complex. Even this team, which did just about everything right and indeed sold out, faced issues. (For example, they delayed today’s launch at the last minute for an hour.) So, mint-on-demand is not by a longshot just a walk in the park on the web development side in the NFT space. (Remember: I’m not just an NFT fanatic, but I’ve been a pro web developer for 10+ years!) You need to be prepared for significant development attention and commensurate fees.
BTW: what did my cat look like? Well, the reveal took a few hours. (Keep that in mind if you’re on an NFT team — letting others know that the big reveal takes a little time.) And here’s the lovely one I received:
And just how rare is she? Pretty rare, actually. Only 2% of the 666 cats have the “Artemis” eyes, and just 7% have the little skull mantle. Looks like I got lucky, indeed. :-)

And, less than 24 hours after, check this out: Someone offered me 0.06 ETH (about $182) for her!

Nah, I’ll keep her. :-)
Ready to Jump Into Your Own Generative NFT Project?
This article, and several linked to it, discuss generative art for NFTs — what’s involved, how long it takes, how to format the artwork, budgets, and timelines.
Did You Get Value From this Article?

I hope the above information helped some teams as they envision their upcoming NFT projects. I certainly also welcome questions / comments anytime!
If you got something from it, please consider supporting my NFT project NFTuxedoCats on OpenSea. Plenty of adorable, adoptable NFTuxedoCats are available at 0.01 ETH or less, and would love to serve as a beautiful well-framed guardian within your ever-growing Ethereum wallet museum.
