Our team had been supremely focused in the final weeks approaching our December ’17 target launch date – final polishing of the UX, running and rerunning math models, rigorous application testing, and squashing bugs like a crew of possessed exterminators.
Our platform is a player-powered, exclusively-crypto, provably fair, zero margin (100% return) online gambling platform (more about the philosophy and principles in this post). When we’d started work on the platform, there was only (really) Bitcoin. Well, it wasn’t that long ago, but Bitcoin was still by far the de facto standard crypto currency for transacting. And so it was the default choice as the native currency for our gambling platform (using mBTC or milliBitcoin – 1/1000 of a Bitcoin). We were supporting other cryptocurrencies as a means of depositing of course (using services such as ShapeShift) but these all converted to mBTC going into the users’ balances.
However, in these final weeks approaching launch, the Bitcoin (Core) scalability issues starting coming to a head, and most significantly for us transaction fees shot up to over $20 (they were in cents when we started this initiative!). We tried to dig our heads into the sand and focus on our product, hoping the Bitcoin ecosystem would sort itself out by the time we were ready to launch (figuring this situation also can’t be good for bigger operations than us, right ?).
But it didn’t sort itself out…
And so there we were, mere days before our planned launch, with a very difficult decision to make: launch as planned with our entire system built with Bitcoin as it’s native currency – or bite the bullet and make the call to switch.
Our resistance to change was natural – it would be a massive and hitherto unconsidered change to the core of the system, almost a “back to the drawing board moment” merely days before we were scheduled to launch. More than just the technical and software changes, our games were designed on Bitcoin as the native currency, and so the payouts and mechanics would have to be reconsidered depending on the cryptocurrency that might be chosen instead. Then there were the exchanges and inter-currency movements to be considered. Most importantly, the risk of throwing the team into disillusionment was a very real one – as these changes almost certainly would mean postponing the launch and missing the launch date we had all been so focused on hitting.
Turns out, the re-think exercise wasn’t as complicated or contentious a decision as we thought it might be. The problems with Bitcoin were clear and indisputable. With our situation all mapped out, it was crystal clear that our product would not survive with Bitcoin’s high fees and long confirmation times. The decision was unanimous – we had to switch.
There were two major areas where Bitcoin would fail our product, and these were so fundamental to the user experience and the core financial models of our system, that there really was no choice. Our first gambling product launched on this platform is going to be a provably fair, 100% return online lottery. Players buy tickets for the equivalent of a few dollars of fiat in the crypto of their choice for the chance of winning a significant and growing jackpot.
From the perspective of what our product offered our users, the two areas Bitcoin would fail us would be:
* given a typical transaction value of a few dollars (the price of a lottery ticket) fees of over $20 made no sense of course. Even using services like ShapeShift (via their API) to offer users deposits in any other crypto still involved having to convert to Bitcoin (as this was the native currency all users’ balances were held in. And things still didn’t get much better for the bigger spenders, who might deposit larger amounts, enough for several tickets or to buy into several upcoming draws – the overall percentage cost to fees was still unacceptably large. This is especially painful when we’re trying to provide a product with 100% player return – this differentator is rather pointless when fees would eat such a significant portion of the return. Then the fees on the way out (withdrawing funds) would further chomp into the return to players, doubling the troubling.
* secondly, confirmation times of an hour to several hours were a non-starter. With multiple online lottery draws every day, it is important that we allow purchasing of tickets to the very last moment before the draws. Clearly having players waiting more than a few minutes for their deposit to confirm while the clock is ominously ticking down for the upcoming draw just wasn’t an option.
Both of these issues (high fees and long confirm times) were also killers for internal movement of funds. When a jackpot isn’t won, the jackpot rolls over to the next draw, creating a bigger jackpot. In order to have the full jackpot win amount at a single address that could be publicly examined on the blockchain (confirming the full win amount was available to be paid to the winner) we have movement(s) of funds at the end of each draw. Taking a big fee hit broke our 100% return model, and we simply couldn’t wait an indeterminate number of hours between the end of one draw and the start of the next (we’d designed and tested this to be no more than a few minutes, before the troubles).
The king was dead, time to find his successor. Long story short, Bitcoin Cash came out clearly ahead of the competition – lowest fees and reliable confirmation times. Check and check. We would (re-)base our platform on Bitcoin Cash as the native currency, and only offer Bitcoin as an alternate coin deposit method (converting to BCH along with the other altcoins) to fund users’ BCH balances. This meant our platform and model now worked fast and efficiently for the majority of cryptocurrencies, and only those who consciously insisted on using BTC would suffer its issues.
With the decision made, we powered on with the technical, software and game changes. Of course, our engineers responsibly chose to make the native currency configuration more flexible as part of this change (as opposed to simply search-replacing BTC with BCH 😉 ) so we could adapt more flexibly to crypto market changes in future.
All of this meant our previously planned December launch will be postponed to January. We made good headway with the changes so far, and after the big push we’re all having a slow-down and chill-out for the holidays – back to it on 2 Jan and looking forward to launching on BCH shortly after!