Introducing betsteem.com a betting exchange powered by the Steem Blockchain

in #steemdev7 years ago (edited)

Hey Steemians!!! Today I'm more than pleased to introduce betsteem.com, the first of 12 Steem powered apps I'll be publishing during the following 12 months. You can read about the 12 Steem apps in 12 months project in this post: https://steemit.com/steemdev/@ar2ro/i-m-launching-12-steem-apps-in-12-months

What is betsteem?

betsteem.com is a betting exchange powered by the Steem Blockchain where users will place bets against each other using their Voting Power.

This project comes in anticipation of the launch of SMTs and Oracles, given betting is one of its possible applications as stated in the @steemitblog post: https://steemit.com/ned/@steemitblog/ned-scott-and-theoretical-of-steemit-explore-oracles-on-steem

In the context of blockchains, Oracles are often discussed with respect to prediction markets. If you wanted to enable people to bet on an event, like who is going to win an election, then you would create a smart contract that is worth something if a certain political party got elected (or not).

How it works:

betsteem.com works as any betting exchange like Betfair or Smarkets, by letting any user take the place of "the house" by placing a lay bet (betting on something not to come true), then this user allows another user or group of users to place a back bet (betting on something to come true).

For example, in a soccer game, there is a team A and a team B, I can place a bet for the team B not to win, this means that team to lose or the game ending in a draw, effectively taking the place of the "the house". Betting this way will allow another user or group of users to place a back bet on team A (to bet team A will win the game). Generally, depending on the odds and the type of event, the user placing a lay bet will risk more money but will have an edge over the users placing a back bet, this is because by placing a lay bet you're effectively betting on two outcomes out of three possible ones.

Unlike with traditional betting exchanges, on betsteem.com users won't use fiat money to place bets, nor will they risk money because bets will be taken in the form of upvotes using the user's Steem Voting Power.

You can read the extended HOW TO on https://www.betsteem.com/how-to

What could betsteem bring to the Steem ecosystem?

Every day huge amounts of money are traded in the betting exchanges with the most popular sporting events moving millions of dollars into a single match and although betsteem.com is in a very early beta stage, in the future many bettors may be attracted to the platform.

Attracting just a little portion of betting exchange bettors would increase the demand for STEEM and SBD, giving exposure to the ecosystem and increasing the value of each member accounts.

betsteem.com can also provide an easy way for Steemians to increase the value of their accounts by doubling, tripling or multiplying their voting power by X times, it all depends on the odds a bet is placed, with some matches trading above odds of 10.

Advantages of betsteem over traditional betting exchanges.

  • Bettors won't risk any money directly.
  • Ease of deposit and withdrawals.
  • Open to all locations.
  • Lower fees: On betting exchanges, besides commission on winnings, deposits, and withdrawals also have fees.
  • Future use of smart contracts which will keep everything secure and transparent so no more disputes (at some time in the future Steem surely will implement smart contracts and betsteem.com will certainly make use of them).

Fees

betsteem.com will charge a 10% fee on winnings, so a bet of $10 at odds of 1.48 would generate a profit of $4.8, a 10% fee is applied to that amount leaving a total profit of $4.32, therefore the total payout (profit + stake) will be $14.32.

How are bet amounts calculated?

Since bets are placed in the form of upvotes, bet amounts will depend on the rshares generated by those upvotes, but displaying bet amounts like "678515096" would be messy and confusing so rshares are converted to their approximate dollar value and then displayed on the frontend.

This may already be easily understandable for steemians but may be a barrier for newcomers so an extended, deepest explanation about this needs to be crafted as the app evolves.

Future development and challenges.

I'm actively developing betsteem.com, I'm launching the app as a beta version, since it's already a working MVP, mainly to test its viability and get feedback.

The following are the most immediate developments and challenges I'll be facing, they'll be constantly updated and published in this blog:

  1. Apply unmatched bets as credit: As users bet against each other and there's not a "house" to provide liquidity, some bets won't be matched, especially in the early days when there won't be so many users using the app and therefore there won't be much liquidity. My idea is to assign these unmatched bets as credits to be used in later events, this is a trivial task but needs to be done and should be ready in a couple of days.

  2. Login: the next step towards is implementing steemconnect, currently, login is made using Private Posting Keys.

  3. Bets info storage: Currently the bets are stored as a JSON object inside comments to the daily matches post, this isn't ideal and it's far from what I had in mind. First of all, I don't want users to load their account comments section with info that is totally irrelevant outside the app.

    I thought at first to include this data directly inside the vote, something like "CommentOptions" for comments, but this is not possible, then I thought to store this info as a "CustomJson" operation into the blockchain but since there's not a direct way to filter this info it would rapidly become a nightmare, if 1000 bets are placed I would need to get the account history from 1000 accounts to find a single custom_json operation which I don't know how deep in history will it be, so scalability would become a nightmare.

    Currently, I can't afford an external server in order to store this info, so I thought about using firebase but this might go beyond its free plan in no time, also I don't really want to use any external service or database, I want it all to be stored and fetched directly from the blockchain, so the most immediate solution is to store it as a comment.

    A possible solution to this might come from the Hivemind 1.5 release but I would need to wait for this. I'll keep finding for a way to overcome this issue, so if any of you devs out there have an idea of how to tackle this, any help is appreciated.

  4. Live market odds: In a betting exchange, as with any betting platform, odds must be dynamic. On the beta version of [betsteem.com](https://www.betsteem.com) odds will be fixed and set about 48 hours prior to the match starting time at current market values. Given the low liquidity into the app while it gets initial traction there's no point in having dynamic odds, it will end up leaving a greater amount of unmatched bets.

  5. Increase the number of competitions to bet on: Currently, the only events available to bet on will be the FIFA World Cup matches, this will allow testing the system and attract liquidity to the market. More matches and events will be added little by little.

  6. Displaying user info: A module for displaying user info, like the history of bets and balances needs to be developed, meanwhile, as all the info is stored on the blockchain it's all publicly available and auditable.

  7. Allow bets on SBD: Although betting using voting power might be appealing to some users, there may be others who would want to take it to the next level and place bets directly with their hard-earned SBD, probably after the World Cup this option would be added too.


  8. And that's all, at least for now. If you like the idea you can follow the development at @bet-steem.

    If you've read all the way through here, then Thanks a lot and hope to see you betting...


    Would you consider helping me spread the word or maybe giving me your precious upvote?

    I bet you will... Just kidding...

Sort:  

Wow, great work mate! I can't say I understand how it works, but I'm going to give it a go. Resteemed.

Thanks @revo! Yeah, at first sight, a betting exchange might seem overwhelming but then it becomes natural. I think this one has a lot of potential if I succeed at making it known and attract liquidity to the market.

Congratulations @ar2ro! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @steemitboard!


Participate in the SteemitBoard World Cup Contest!
Collect World Cup badges and win free SBD
Support the Gold Sponsors of the contest: @good-karma and @lukestokes


Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

Congratulations @ar2ro! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :

Award for the total payout received

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @steemitboard:
SteemitBoard World Cup Contest - Semi Finals - Day 1


Participate in the SteemitBoard World Cup Contest!
Collect World Cup badges and win free SBD
Support the Gold Sponsors of the contest: @good-karma and @lukestokes


Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

Congratulations @ar2ro! You have received a personal award!

2 Years on Steemit
Click on the badge to view your Board of Honor.

Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

Congratulations @ar2ro! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 3 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!