How We Lost $90,000 in 9 Seconds.
You might think that we lost it gambling or even worse, buying Shiba Inu. Well, it was actually way way worse. A couple of years ago, I was consulting with an NFT project, and they had a strong community going. There were over 10,000 members and we had implemented all the designs for the NFTs and we were ready for launch.
2 Days Left
Within 48 hours of launch, we were on the top of the world. Everyone was excited for the launch, we were covered by a couple of media outlets and hundreds were tweeting about our project. Really cool stuff. From the development side, the team was ready to. We pushed the code, deployed the smart contracts, and we were ready to roll.
24 Hours Left
One day later, everything was fine. Our community grew overnight by 30%, which they usually do when a project is about to launch. Note that this was around 2018, where NFTs were all the hype and everyone wanted a piece of any release they could get their hands on. We had 1,000 NFTs up for grabs for $100 a pop.
On the same day, 3 other NFT projects that we were partnering with launched which got us even more excited.
One NFT was selling for 1 THOUSAND DOLLARS each. In hindsight, I just realized how everyone was borderline insane during the 2 year bullrun.
10 Hours Left
There was only 12 hours left for the launch. The website was ready, all our final words were said and soon we were going to sleep to wake up to a successful launch, or this is what we hoped.
We had our final team call where all partners, consultants, founders and developers joined as a final goodbye and just made sure that everything was fine.
Then, just out of curiosity I asked the developer a quick question: “How much were the fees on mainnet by the way? I minted an NFT yesterday for around $20 extra!”, then silence ensued. Thinking that the connection might have dropped off, I repeated my question. Still nothing but silence. This time my heart sank and I asked “Jeremy (not his real name), you deployed on mainnet right?”. All I could hear next was “No.” and around 10 sighs from others on the call.
“That’s fine.” I replied, “We did it on testnet at least, right?”. Another silence ensued, after this one I really thought I was going to vomit. There was only 12 hours left and the developers did not even test if the project worked at all! Panic in the call started, and we needed to find a solution fast. Half of us pleaded for the project to be delayed until we had time to test to make sure that everything was running smoothly.
The final consensus unfortunately came “No.” Delaying it would put it on the same date as other big projects and would hinder our success. We had only 12 hours to solve the issue.
Note that the project was on a Rust blockchain and smart contracts there were pretty new, so it was not easy as it is now to just deploy an NFT collection.
7 Hours Left
After 3 hours on a call with the developer, we deployed the contracts and realized that they do NOT work at all. There was no way to extract the money and NFTs were not minted randomly. We need to start from scratch. I tried to plead again that the situation is worse than expected and we need at least a 24 hour delay. The answer was a strict no. It was 3 AM, we were tired and we had to repeat from the beginning.
3 Hours Left
4 hours later, we had a smart contract that worked. We had written all the unit and integration tests. Deployed it and tested it on mainnet and everything was fine. We were exhausted by then, I could barely think of myself and 5 coffees did not really help out. I slept on the couch and set an alarm for 2 hours later.
1 Minute Left
All the team was glued to their screen waiting for the special T-0 moment. The discord was actually going crazy and we were more than sure that the collection would sell out.
“5…4…3…2…1… Launch”. And just like that the project is now live and people flocked to the website to buy NFTs. In 9 seconds we have sold 30 NFTs. Then the worst happened. We checked the logs and we realized that everyone was sending the money to the OLD contract that was broken. We shutdown the website immediately, and the Discord went BERSERK, I was literally sweating rivers by that time. Three Thousand United States American Dollars were sent to a smart contract that had no function to withdraw the money. Now that could be fine, as we could just give mint a free NFT to anyone who sent money, or refund them, but the chaos that ensued in the Discord channel and everyone fearing for their lives ruined the launch. There was no way that anyone could be interested in buying an NFT after what happened. We had ruined it, although we were able to sell 100 NFTs after the fact, all the hype and work has gone down the drain, in less than 9 seconds. That is the time it takes to go up 1 floor in an elevator, so you can just comprehend how fast that was. But in my head, these 9 seconds felt like eternity. The residual loss was approximately 90,000 USD.
Ouch!
The Aftermath
After we can comprehend the situation and our emotions, it is time to understand what actually went wrong. We know that this was the culmination of multiple issues and disregard from the team as a whole. But bygones are bygones, but the most important part is the lesson behind each failure, and how I can make sure that this never happens to a project I am involved in.
Blinded By The Hype
First of all, we were too blinded by the hype to understand the simple concept that a product cannot be released for a majority before being released to a minority. From this point on, in each project i worked with and in my consulting firm, we always have 3 release dates: an internal release dates that allow the team to test everything out, a private release that is released to some innovators and testers in the space (not more than 100 people) and finally a public release. This limits all the damage and creates a safer environment to test everything out and fix any issues.
We Had No Pipeline
We just worked without any pipeline or CICD in mind. The developers just built, the founders were marketing and designers were designing. There was no real project management that was taking place to ensure everything was going according to plan.
What About Today
All of this led me to create one of the most rigorous testing and planning frameworks for deploying to production. When working with Athena, the products we build are tested for ~1 or 2 weeks, depending on the complexity of the project. We perform security audits on each aspect of the project, we have a QA team that is solely responsible of make sure that everything works to perfection. We set watcher scripts to logs to ensure no unexpected activity is occurring and finally this is all planned in a detailed to the hour plan from zero to production. This made us build the most efficient and safe products and share our strategy with our clients.
If you are interested in learning more about what we do, and how to make sure that your product is ready to be released to the public, we are currently offering free consultations.
If you are interested, we also have a newsletter for founders that you can join for the latest insights and stories that could help scale and succeed in Web-3.