letsbet.io (XBET) ICO

updated 14 August 2018

Decentralized price prediction on the ETH blockchain governed by smart contract. 10% of the proceeds go to XBET token holder.

  • 3.4
  • 3.3
  • 3.3
  • 3.2
  • 3.7
  • 0.0

Copy this code to share our widget

Status: ended
Public sale: 07 Jul`18-31 Aug`18
Cap: 10 000 ETH
(1 995 800 USD)
Goal: No info
Price: 1 XBET = 0.01 USD
Find out more

Letsbet.io: The Platform

LetsBet represents a new type of software platforms: is a truly decentralized application (DAPP), running on the Ethereum blockchain. This means it can be downloaded and played from anywhere in the world without having a corporation behind it to run the service! You can even run the entire platform on your own machine, just by being connected to the Ethereum Blockchain. A centralized server is no longer needed.


There is no need to pay any bookmaker or trust the casino management… the games on the LetsBet platform run autonomous on a software architecture which is entirely transparent, every interested party can view the code. Should our website www.letsbet.io be down - for example because some hackers or some law enforcement agencies blocking the domain - you can keep playing on it and your funds are safe from hackers or the authorities. Your identity, your data and our platform are protected. Since there is no LetsBet database which holds information on players, there is no way to track who is doing what and we store nothing besides the data of the bets and prices. After its launch LetsBet doesn’t depend on any human involvement at all to run. It will run as planned since code is law in our smart contract powered application.


In essence, LetsBet is a blockchain based, decentralized P2P betting exchange. It is a automated match-making platform, where people could challenge each other, for example to bet on the results of games, to predict the correct scores or prices of stocks, currencies or any other asset you can imagine… As the entire booking process is run by smart contracts, there are little to no maintenance and operation costs. There is no need for service personal reviewing players accounts, asking for identity, KYC or any other personal details. There is no connection to your bank account or credit card. Our virtual robots, smart contracts written in the solidity programming language on the Ethereum blockchain, processes all required tasks.


In fact, smart contracts disintermediate the classical betting exchange mechanism and skip the house by decentralizing betting pot ownership. For our community of token holders, this means there is no additonal costs to provide and run the games besides the ETH blockchain fees. The platform is completely community owned. Since the entire cut of each game jackpot is distributed back to the community, the profitability can potentially reach 100% and more (see ROI table below).


For our players this means they can jump right into the action, and win big- every day:


•    Without any registration they can instantly place their bets by paying with Ether.

The LetsBet system then takes the bets and places them into the overall jackpo

Letsbet.io: The code architecture

A standard DAPP consists of only two main parts:


·      The Contract, running on the Ethereum network and

·      The Client application

For desktop betting we recommend using METAMASK.com as default web3 provider. User can also interact with the application by using supported mobile apps like CIPHER.com that allow gaming on Android and iPhone. We are currently developing our own browser built-in wallet which will serve as default wallet in our system after its release.


Our software stack is the following:

·      Solidity – used for our smart contracts implementation

·      Truffle - Built-in smart contract compilation, linking, deployment and binary management

·      Nodejs – Packaging and support tools, API server

·      web3js - Ethereum JavaScript API

·      JQuery, HTML, CSS – used to build client application


Our client application is not bound to any centralized storage, it could be run even on your machine without additional effort. We don't store any of your details on our servers. LetsBet is completely anonymous!


A.          Smart Contracts


For our crypto currency betting game, we prepared two major contracts using Solidity as programming language.


1.            BetGameManager


It is a simple storage of all game addresses and events for games created. Every created game has an address, symbol, startTime, endTime, lockTime and minBet.


·      startTime - starting time in millisecond UTC

·      lockTime – time when the betting is not possible anymore till the end in UTC

·      endTime – time when round ends in millisecond UTC

·      minBet- minimum ETH amount required to place a bet


1.      event GameRoundCreated(

2.          address game,

3.          bytes32 indexed symbol,

4.          uint64 startTime,

5.          uint64 endTime,

6.          uint64 lockTime,

7.          uint minBet

8.      );



2.            BetPriceGame


A smart contract that holds the entire logic of every game. Every bet is kept in an array and has the following structure:



1.      struct Bet {      

2.          address indexed player;          

3.          uint price;          

4.          uint timestamp;  

5.      }  



distributeAwards – function is doing the payout to the winners and moving the 10% of the jackpot to the pot wallet


1.      function distributeAwards() public afterDraw onlyOwner {          

2.          if (winners.length > 0) {              

3.              for (uint i = 0; i < winners.length; i++) {                  

4.                  address winner = winners[i];                  

5.                  uint unclaimed = awardClaimed[winner];                  

6.                  if (unclaimed > 0) {                      

7.                      if (winner.send(awardValue)) {                          

8.                          awardClaimed[winner] -= 1;                          

9.                          Payout(winner, awardValue, block.timestamp);                      

10.                    }                  

11.                }              

12.            }              

13.            transferPot();          

14.        }          

15.        status = Status.DONE;  

16.    }  


finalizeRound – function which calculates the winners of the round


1.      function finalizeRound(uint _price) internal {          

2.          ClosingPrice(_price);          

3.          GameRoundCompleted(block.number, block.timestamp, this.balance, bets.length);          

4.          if (bets.length > 0) {              

5.              var priceDiff = findClosestDiff(_price);              

6.              for (uint i = 0; i < bets.length; i++) {                  

7.                  var bet = bets[i];                  

8.                  var betPriceDiff = Math.diff(_price, bet.price);                  

9.                  if (bet.price == _price || priceDiff == betPriceDiff) {                      

10.                    winners.push(bet.player);                      

11.                    GameRoundWinner(bet.player, bet.price);                      

12.                    awardClaimed[bet.player] += 1;                  

13.                }              

14.            }  


16.            if (winners.length > 0) {                  

17.                winnersSelected = true;                  

18.                awardPool = this.balance * awardPot / 100;                  

19.                awardValue = awardPool / winners.length;                  

20.                ownerFee = this.balance - awardPool;              

21.            }          

22.        }          

23.        status = Status.FINALIZED;  

24.    }  



UserRepository – smart contract which holds the users and their ETH addresses. To honor the Arcade Games of our youth we introduced the nickname feature – which allows you to individualize your ETH address (optional)


1.      struct User {          

2.          bytes32 username;          

3.          address owner;          

4.          uint updateTime;      

5.      }  


exists – function which returns true if such username is already registered otherwise false  

function  exists(bytes32  username)  public  constant  returns(bool  success)


getByUsername – function which returns the address for give username

function getByUsername(bytes32 username) public constant returns(bytes32, address, uint)


create – function which assign you a nickname for your address, names are unique

function create(bytes32 username) public returns(bool success) 



B.           API Server


We set up an API server that helps us to provide a missing middleware functionality.


We use coinmarketcap.com for our rates feed. Currently they don’t support historical data and therefore we decided to create a historical feed from coinmarketcap.

This will guarantee the closing price is absolutely the same no matter what time the contract execution takes for closing the round.


Example for fetching current price



1.      [{

2.      "symbol": "BTC",

3.      "value": 7410.68,

4.      "timestamp": "2018-06-01T12:59:31.000Z",

5.      "create_time": "2018-06-01T13:00:01.000Z"

6.      }]


Fetching BTC price for exact time



More details can be found on our GitHub repository https://github.com/letsbet/letsbet-api

Letsbet.io: The Idea behind it

Betting is the one of biggest but at first glance not most obvious use case for a DAO - a decentralized, autonomous organization. Current DAPPs lack an intuitive, easy to use, fun interface with a compelling and addictive proposition. With the launch of LetsBet.io we intend to turn the tables!


Currently there is no application which uses the right incentives to reach and build a community and at the same time generate a scalable ROI for investors. Regulations inhibit global gambling services and hinder profitability. Blockchain technology offers the ideal environment and incentive mechanics to run next generation applications which can circumvent legal and geographic barriers – through decentralized and fractional community-ownership of an organization.


Once deployed, the application runs on unstoppable, scalable and transparent code, with complete operational independence. The unique monetization model generates a physical ROI in form of ETH dividends distributed to all token holders. The typical breakeven is linearly related to the jackpot size (e.g. 25 thousand bets per day would yield a ROI of 100% p.a.).

LetsBet.i: Crypto Betting



Every crypto trader is familiar with https://coinmarketcap.com/ - the number one source to check the prices of all crypto tokens. LetsBet wants to make that daily routine an exciting thrill: By allowing anyone to predict the price of a crypto token - and win big


·      Select your favorite coin, check the jackpots and place your bet

·      Every bet costs the equivalent of USD10$, payable with Ether.

·      All bets on a specific token accumulate in the jackpot of the token

·      Every day at a specific time, there is a jackpot draw

·      The bet which is closest to the current market price of the token wins


Placing the bets is done by using the browser based wallet Metamask (https://metamask.io/) , since it allows a smooth interaction with the underlying smart contract game architecture. Metamask is the most popular crypto-wallet and used by thousands of people. Once the bets are placed, they are confirmed by the Ethereum blockchain. When confirmed, the bets appear in the leaderboard, where players see how they rank in the overall market. At the end of each round, the oracle pulls the game results, for cryptocurrency bets from https://coinmarketcap.com/. The bet which is closest to the actual rate wins and automatically receives the jackpot.


LetsBet – Crypto betting can also be played on your smartphone using an browser application with integrated ETH wallet such as CIPHER.com

LetsBet.io: The DAO

Managing the future platform development is crucial and at the heart of the decentralized approach LetsBet uses to run its operations. Just as there is no-one interfering with the way our smart contracts manage the funds of the players and the token holders, it is the community who is owning the product development roadmap. Instead of deciding on behalf of our users what the best feature addition or game adaptation should be, we are crowdsourcing the decision-making process. We allow every XBET holder to use his tokens as a stake to vote on development options and use of funds.

This approach allows to always ensure:


·      Product market fit

·      Reactivity

·      Platform optimization

Letsbet.io: The Token - XBET

Tokens are an efficient ways to distribute ownership of digital assets. LetsBet issues XBET tokens, which are based on the ERC20 token standard. XBET tokens represent a share of the revenue which is made up by daily game jackpots which players can win on LetsBet. Owning a share of the daily jackpots of this platform gives investors a steady and constant dividend payment. This investment will not be independent from market movements. Given that bets are placed, investors will have a daily ROI, no matter if we are in a bull or a bear market.


This is unique, and benefits our players, who can bet on any game from anywhere without being controlled, as well as the LetsBet community, the owner of the platform by holding XBET tokens.


What makes LetsBet and its XBET Token special is that the monetization model. The tokens’ dividend-yields are stable, linearly connected to the overall key performance indicator “Jackpot Size” and unrelated to the actual price of the token on trading exchanges. This is because XBET tokens represent a “%-cut” of ALL daily jackpots. And as this distribution applies to a pre-defined amount of 100 million tokens issued, every token will pay back its proportional share. XBET token holders win every day. Every Jackpot yields a 10% payout for the community, so any investment will pay itself back on a daily basis.



·      Growing jackpots attract more players, which increases the jackpot values which in turn will increase the XBET token value

·      The higher the XBET token value, the higher the ROI for the token holders. They benefit from the increase in their token price as well as from the increasing dividend payments

·      The dividend payments are processed periodically, initially on a monthly basis, and are automatically and directly booked to the crypto wallets of our token holders

·      Dividends will be automatically paid in ETH to the token holders wallet