There isn't a single permissionless sports betting dapp, which is strange because sports betting is best suited for a digital vending machine. So, I created one on Avalanche, accessible at www.avaxsportsbook.io. There's some real money in there, so people can bet now, or take the other side and become a part of the house.
The contract presents up to 32 events for betting, which are settled weekly. Bets are cross-margined, so 1 avax can support an infinite book if the bets alternate by 1 avax. The focus was on simplicity, which makes less work for the oracle and makes it easier to incentivize. I mainly follow US football and MMA, so I designed the app with those events in mind. Each event has a standard 4.5% vig, split between LPs and the oracle. I found some initial oracles to get this off the ground, but 60% will come from rewards doled out to LPs.
I created this three years ago for deployment on Ethereum, but I had two big problems. First, transactions were around $4, making a standard $40 bet unattractive. L2s and cheaper L1s like Avalanche fixed that. The other problem was legal, as I could not figure out a way to monetize it personally. Given all the advertising for sportsbooks, even though they should know via my IP that sports betting is illegal in my state, I figured there was a workaround. I could not find one.
While my betting dapp was in limbo, I discovered a way to remove the impermanent loss in AMMs. That's a more monetizable project, and I recently sent in a completed patent application (# 18/499,980). Given that, I would not be abandoning my only crypto idea if I just gave the sports betting dapp away. Further, creating a working dapp provided a focus for learning many technical blockchain issues, which should be valuable as the space develops.
I created this dapp, but I have no control or financial interest; I cannot administer or turn off the contracts. I am not a lawyer, but I do not think an American citizen living in the US can administer this contract as an LP or token holder. However, there are a billion people in southeast Asia, South America, and the West Indies, and surely that's a big enough pool for enough people to service the contract as LPs and oracles.
I can see why developers focus on generalizable protocols. First, it enables delusions of grandeur as equity token buyers imagine the next Amazon, but on the blockchain. Secondly, they monetize their investment by incorporating, which creates a legal attack surface. The more generalizable the protocol is, the more difficult it is for regulators to prosecute these organizations. The result has been to create protocols or dapps so generalizable they are useless to everyone but scammers taking advantage of deluded crypto investors.
Luckily, I was in a position to create this without funding, so I didn’t need an ICO. I just needed the ability to walk away.
Initially, there will be little visibility, so it is essential to have people prudently administering the contract, and people need economic incentives. I gifted the tokens to three people I have no control over, and chose them in part because I do not know them well, as that would make it easier for them to be identified. In that vein, my contact with them going forward will be exclusively through public writings like this.
I tried to make their job as easy as possible by giving them tools for their role. The Excel spreadsheet in the GitHub repo provides a simple tool for taking the data in the proper form acceptable to the contract, and there are Python programs for token depositors to send the various required transactions to the oracle contract. These are explained in videos available on the website.
I will write more about this, but there is a bunch of documentation in the repo, including a white paper. I was the 'full stack' developer of this dapp, which required learning JavaScript, React, Web3, Python, Solidity, etc. This is why I haven't been posting much on Twitter or Substack. Many thanks to my coding consultants over the years: Yash, Jeremy, Ciro, Akshay, Colin, Robert, Ray, and Mackenzie. I discovered it's more efficient to generate well-defined problems and then post tasks on Codementor, as opposed to hiring a full-time programmer and giving him a vague objective.