Our Ethereum dice game is provably fair, has a low 1% house edge and no deposits.

Etheroll is an Ethereum smart contract for playing a provably fair dice game using Ether with no deposits.

Each dice roll is provably random and cryptographically secure thanks to the nature of the Ethereum blockchain.

  • Play
  • Stats
  • How to play
  • About
  • Provably fair
  • Support
  • Terms

You are seeing this message likely because you are viewing etheroll on a mobile device. Please try visiting us again on a desktop computer, running an Ethereum node that is synced to the latest block.

Place your bets please

No more bets please

1. Enter your wager (max 2 ether)
or quickbet size
Maximum wager is
Minimum wager is 0.1 ETH
2. Bet on a low or high result
or precise number
Gas estimate:

Bet slip

Your number
Bet Cost
Payout on win
commission: 1%

Place your bet...

Rolling die...


Latest result



Total bets

Total paid out

Site profit

Total high results / %

Total low results / %

Stats are compiled for you during each session that you are actively connected to the Ethereum blockchain. 'In progress' displays wagers for the current round. 'Decided' displays results for wagers in previous rounds.


win | loss | undecided

In progress

Format: Address, Bet value, Payout, Range

Confirming bets, please wait...


Format: Address, Bet value, Payout, Range

How to play


Required reading
How to play using Geth (recommended - 2 steps)
How to play using Mist
How to play using a manual contract interaction

Required reading


  1. We are still working hard to finalize the game. Whilst it is working beautifully for us, we are not quite ready to release it to the public just yet. This version is not connected to any live smart-contract so do not send Ether or attempt to play.
  2. Any wager that exceeds the maximum bet will result in your wager being quietly refunded, voiding the play and excluding you from that betting round.
  3. Enter a lucky number between 1-50 (low) or 51-100 (high).
  4. A win will return your original amount plus profit, minus commission applied.
  5. etheroll operates on a 1% commission, this is subtracted from the amount returned to the player in the case of a win.


During our alpha release phase, each betting round will only accept a maximum of 25 players per round. This is only a temporary measure, to primarily keep gas costs down for our users as we continue to optimize etheroll.

If you are the 26th better of a round, you will be quietly refunded and your play will be voided for that round.

Each round takes up to 1 or 2 minutes maximum, so be patient as each dice roll is in progress. You may close your browser window after you have made your bet, your bet will be processed as a win or a loss as per normal.

Currently each result is decided @ 1.5mins. With the Serenity release of Ethereum towards the end of this year, results will be decided on top of the blockchain much faster @ ~5 seconds.

Be aware that when you are in a betting round, you will incur a tiny gas charge to place the bet whether you win or lose. etheroll does not receive the gas you spend. Gas is used to maintain the Ethereum blockchain.

How to play using Geth (recommended)

You can download and install the Geth client here https://github.com/ethereum/go-ethereum/wiki/geth

Step 1:

To connect to etheroll and place bets, start Geth with the following command::

geth --testnet --rpc --rpccorsdomain="http://etheroll.com" --unlock="your_wallet_address"


If you would prefer just to watch some games without unlocking your account, start Geth with the following command:

geth --testnet --rpc --rpccorsdomain="http://etheroll.com"

However you will not be able to participate in the game until you unlock your account.

If you have security concerns over unlocking your account, it might also be best to unlock an account with minimal funds.

Step 2::

Once you have done this you can reload our website and you should see your wallet balance in the top right hand corner. Good luck!

How to play using Mist

You can download and install the Mist wallet here https://github.com/ethereum/mist/releases

First, you need to add the contract to your watchlist. Go to your Contracts tab and then Watch contract (not deploy contract): Give the name "etheroll", use 0x.... (TBC) as address and add this code as the Json Interface:

//work in progress

Tip: if you are on the test net, use the address 0x.... (TBC) instead

Under 'custom contracts' in Ethereum wallet, click the contract called etheroll that you just added and then choose a function call under the 'Write to contract' title. There will be multiple functions, choose the one named placeBet, that only has two fields; 'Your lucky number guess' and the standard value field (this is your best size).

Select a number between 1-100 for 'Your lucky number guess', and in the Send field, set your wager in units of Ether (minimum bet size is currently 0.1 and the maximum bet is currently ).

After that, just press execute, you will be prompted to enter your password to submit the bet, once submitted, your bet will be scheduled.

NOTE: When using Ethereum Wallet to interact with the contract, you are only able to place a bet when the 'Stage' field under 'Read from contract' is not in stage 2. If you send a bet during stage 2, your bet will be refunded and you will be excluded from that betting round.

How to play using a manual contract interaction

As an alternative to the steps outlined in the instructions above, you can always manually invoke the smart contract (removing the need to interact with the website and ensuring you can always make a bet, even if this website goes down) by calling the following transaction from your favorite Ethereum client.

When interacting with the smart contract manually, you will receive no feedback visually as to the result of your bet. You will need to check your balances with a blockchain explorer to confirm if you have won or lost a bet.

Some blockchain explorers do not display internal transactions, so it is best to just keep an eye on your balance so you know when you win a round when using the manual invocation of the smart contract.

//work in progress


Take a chance! You are betting on the result of either a high or a low 100 sided dice roll. The result of the dice roll is either within a low roll range (1-50) or a high roll range (51-100). If the number you submit is within the result range (high or low); you are paid 1.99 to 1 instantly. If the number you submit is outside the result range you are not paid. Each roll takes at least 1.5mins to complete.

Currently each result is decided @ 1.5mins. With the Serenity release of Ethereum towards the end of this year and with block times being 1 second, results will be decided on top of the blockchain much faster @ ~5 seconds, allowing us to handle up to 220,000 bets per day.

How does it work?

etheroll is based on an Ethereum smart contract. It is executed by the Ethereum network, which enables it to operate in a decentralized fashion and provide a transparent, provably fair gambling service.

When you place your bet with the contract, the contract waits for a few blocks, allowing other players to continue placing bets, much like a roulette wheel.

When this time period is up, bets are no longer accepted, at which time we make a call to random.org via oraclize.it to provide a random number.

Our random number is the only external dependency (via Random.org and Oraclize, read more under 'provably fair') as the nature of blockchains make it unsafe for us (not you) to calculate random data inside the blockchain in a secure way.

Once the smart contract receives a new random number from random.org, the results are calculated and winning bets are paid out accordingly.

Provably fair

Randomness is sourced from Random.org — which provides true randomness from atmospheric noise — via Oraclize.it

Oraclize provides players with TLSNotary proof that the data Random.org returns to etheroll has not been manipulated or changed in anyway since etheroll initially requested the random number from Random.org. We continue to strengthen our relationship with Oraclize.it in order to provide the most secure way of generating our random number.

The randomness etheroll requests is an integer between 1-100 that is served to etheroll by Random.org. The data it generates is a random number from atmospheric noise between 1-100 (try it for yourself).

We could generate each random number from the actual Blockchain itself, but due to the characteristics of the blockchain this could create a security concern (only to the house, not to players) due to the fact that a miner could potentially have a 2nd chance at 50/50 odds by withholding any block that would not return them a favorable result . It is for this reason alone that we chose to utilize a 3rd party to feed us our random number.

Im the rare chance event that the Random.org service errors out and returns 0, all bets for that round are quietly refunded and voided for that betting round by the smart contract.

The smart contract also contains an 'emergency' function that only etheroll can call, so refunds for bets can be issued at any time should there ever be a problem with this external dependency.

Coming soon...


By using and/or accessing any section of etheroll.com ("we","us" or "our"), you ("the Player") agree to the following terms of service, any game rules, promotions, bonuses and special offers which may be found on the etheroll.com from time to time. Read this terms of service carefully before accepting them. If you do not agree to accept and be bound by the terms of service, please do not continue to use etheroll.com. Your further use of etheroll.com will constitute your acceptance of terms of service.

The player is solely responsible to make sure that he is aware of the current terms and conditions and we advise the player to check for updates on a regular basis. etheroll.com reserves the right to modify the website, services and software and/or change the system specification requirements necessary to access and use the services at any time without any prior notice.

To play etheroll you must be at least 18 years of age. The service is not for use by individuals under the legal age of majority in their jurisdiction and individuals accessing the service from jurisdictions from which it is illegal to do so. etheroll.com cannot verify the legality of the service in each jurisdiction, so it is the user's responsibility to ensure that their usage is lawful.

You are solely responsible for abiding by any law in your jurisdiction towards online gambling with crypto currencies. You acknowledge that the etheroll.com service allows you to play with virtual currencies. Therefore, during the normal course of using the service, you may lose some or all of the crypto currencies you play with. Under no circumstances will we be liable for any of your losses. You are fully aware that there is a risk of losing crypto currencies when gambling by means of the services and you are fully responsible for any such loss. You agree that your use of the services is at your sole option, discretion and risk. In relation to your losses you shall have no claims whatsoever against etheroll.com

Internet gambling may not be legal in some jurisdictions. You understand and accept that etheroll.com is unable to provide you with any legal advice or assurances in respect of your use of services and etheroll.com makes no representations whatsoever as to the legality of services in your jurisdiction. Use the services on etheroll.com at your sole option, discretion and risk, you are solely responsible for ascertaining whether it is legal in your jurisdiction.

etheroll.com does not intend to enable you to contravene applicable law. You represent, warrant and agree to ensure that your use of our services will comply with all applicable laws, statutes and regulations. We shall not be responsible for any illegal or unauthorized use of our services by you. You fully understand the methods, rules and procedures of the services and Internet gambling in general.

We will never give out any personal information. All information you provide will be used solely to operate the etheroll.com service.

Anyone who discovers an error or a bugs when using our site should, in the interest of all users, immediately file a bug report. If you discover a bug and report it, you will be rewarded.

In the event that a game, network, blockchain or hardware malfunctions, all gameplay during the malfunction period will be void and original bets may be lost in a worst case scenario.

If you are found to be cheating or abusing your IP address will be banned.

To use etheroll.com, Javascript must be enabled in your browser. You must be currently synched to the best block on the Ethereum blockchain, otherwise you may lose your original bet.

etheroll.com does not guarantee investment growth. Play and invest are at your own risk. Never gamble or invest more than you can afford to lose.

We do not accept cash or card deposits, only units of Ether for each individual bet. We hold no deposits.

Minimum bet 0.1 Ether. Lower amounts will be voided from play and quietly refunded.

Maximum bet is 2% of total house bank. Higher amounts will be voided from play and quietly refunded.

etheroll.com offers no guarantee of availability of service. However, we aim, wherever technically possible, to provide a largely uninterrupted service. There may, however, be short-term periods of downtime (for example, downtime due to server or code maintenance) to maintain service and data security.

The user is solely responsible for any applicable taxes that may be payable on crypto coins imposed to you through your using the service.

Any important notices will be announced on twitter and/or on pop-up notice on website.

The telecommunications networks and Internet access services required for you to access and use the service are entirely beyond the control of etheroll.com, and thus we are in no way liable for any outages, slowness, capacity constraints, or other deficiencies effecting the same.

etheroll.com has the right to modify these terms at any time and without any prior notice. Changes to the system can also be made without any notice by the administrator.