EpicDice FairnesssteemCreated with Sketch.

in #epicdice2 years ago

Artboard 5@20x.png

EpicDice is a decentralized gaming platform built on top of Steem blockchain with absolute transparency and fairness. Join the most epic fun today!


EpicDice has been online for about 4 months since its grand launching. The gaming platform has accumulated over 455,000 transactions and over 16.2M total volume with STEEM and SBD combined! Although the game has adopted the most simple randomness generation mechanism, yet not everyone possesses the knowledge of blockchain. With the considerably large data the game has generated thus far, we think this is a good opportunity for a walkthrough how EpicDice's fairness is being practised, in layman terms.

Transaction ID is the only source to generate rolled number

When a user fires a bet(transaction) to the house account, the block contains that transaction has to be verified and signed by the Steem witness to be considered valid. In the process of block signing, various information of a particular transaction like ref_block_num, ref_block_prefix, expiration and so on, contributed in the generation of a fully random 40 hex digits trx_id. Read more about this process in Steem Developer Portal.

This very blockchain-generated trx_id is what EpicDice would solely use to generate a rolled number via formula below:

var transId ='<replace with trx_id>'

var result = 1000000
var offset = 0
var length = 5
var endValue = offset + length
var chop
var finalResult
while (result > 999999) {
chop = transId.substring(offset, endValue)
offset += 5
endValue = offset + length
result = parseInt(chop, 16)
finalResult = result % (10000) / 100
finalResult = Math.round(finalResult)
console.log("finalResult : " + finalResult)
if (finalResult === 0) {
result = 1000000

You can find this formula in "Fairness" section of the game site and verify all your bet result instantly.

For interested souls in finding out how technically a trx_id is computed, the answer lies in Steem Official GitHub Repository.

But how is this system "provably-fair"?

Now you know how a transaction ID is generated. Unlike other platforms, EpicDice does not add a custom client/server seed or nuances in the random number generation. It shows that the house would have zero possibility to manipulate the outcome.

You placed a bet and get a rolled number from the game site. Retrieve the transaction ID from data explorer like steemd.com, input the ID into the formula above in a javascript compiler like playcode.io and run it. The generated rolled number from the script would be exactly same as the one you get from our gaming site.

You confirmed that the house did not modify anything in the process. Hence, fairness is proven.

Or better yet, just utilize the fairness tool on the game site to make your life easier.

Data analysis of rolled numbers occurrence in EpicDice since the very beginning

We've extracted the data from chain a few days ago for the data analysis we are about to present. This dataset recorded every single bet ever sent to @epicdice starting from 2019-02-28 16:24:10.967494 until 2019-06-13 13:37:26.029482(UTC). Download the excel sheet here.

Key columns in the dataset as follows:

  • refTransactionId: the trx_id which you can verify in data explorer
  • user: name of the player
  • rollResult: generated rolled number out of refTransactionId
  • winLost: 0 is lost while 1 is win


Over the period, EpicDice has received 455,519 transactions of wager and the total amount is 16,215,981.400(STEEM + SBD). The full range of rolling numbers (1 to 100) is divided into 10 groups with 10 numbers in each of it. The goal of this analysis is to verify whether the occurrence of rolled numbers is evenly distributed across the range groups. In the perfect world, a totally random and fair algorithm should grant 10% occurrence to the 10 groups.


The graph shows that each category had a fair distribution as the lowest percentage was 9.56% while the highest was 10.10%. Merely a 0.54% deviation proves that there is absolutely no bias in random number generation. Each roll stands a fair chance of getting a number ranging from 1 to 100.

Ironically, when EpicDice was only supporting "rolling under" most of the time before the latest upgrade a few days ago, higher numbers like 95,96,97,98,99,100 used to be the killers to any bet when they were rolled. But they had the lowest occurrence at 9.56%.

Absolute fairness is real

Let's summarize what we have covered so far in a few points:

  • Random number is generated solely using blockchain-generated transaction ID that is impossible for the house to mess with.
  • Wager history analysis proved that there is zero bias against a certain range of numbers. Every roll is a fair play.
  • Fairness of EpicDice is bullet-proof.

Earn EPC via delegation

EPC is the only token to earn from the daily dividend and prize pool in STEEM. Every 1 SP delegation earns 2 EPC daily. It takes one day for the delegation to be effective in order to receive the dividend, from the moment of delegation. This is the only way to be part of the dividend pool shareholders besides betting.

Quick delegation via Steemconnect links below:

100 SP | 500 SP | 1000 SP | 5000 SP | 10000 SP

Join our Discord server for better communication.


The above code seems to out and from what I’ve seen everything posted matches site results. One thing to always keep in mind(with any of these sites) is that with any online platform a minor code tweak is all it takes to shift odds and unless you actively check you’ll never notice.

This is exactly the case where EpicDice stands out.

Other casinos which using server/client seed would not allow players to verify their bet immediately after result is available, you would have to wait until they publish their unhashed server seed to do that.
In EpicDice though, there is no custom seed to add and players get to verify every bet right after the number is rolled. You can verify all your bet instantly if you are suspicious.

Thanks for the comment.

It's a very good game.
Thank you for making me...

Glad to see you enjoying the game!

Not bad! The RNG is a tiny bit biased but the percentage it's out is so minimal I'd not even really be worried about it.

Good work supplying this info. Well played.

Glad to hear that. We are sure there are more ways to generate interesting analysis out of the dataset. Download and play with it as you may pleased. Thanks for passing by.

I think this is desktop based game and related keychain. If there is any possibility to to play in Android then please let me know.

Posted using Partiko Android

We are working on supporting mobile exactly. So players can really looking forward mobile gaming really soon. Stay tuned!

that would be really fantastic. Like me many other users also searching mobile based game. Thank you for stopping by:

Posted using Partiko Android

Thank you for showing us this. A lot of companies dont even care if the public thinks they are fair. They just do whatever they want.

The platform will always running with high level of transparency. Thanks for the kind words!

Thank you for putting this information out there. It still doesn't help change my luck though. ;)

Well, there is nothing we can do about it as you can see how the system works now. It is safe to say that Steem blockchain(it decides the number you get) wasn't been generous to you. But luck is very objective and probably changing from time to time. You might be surprised on your next trip to the casino. See you in the game soon!

I'm keeping this page bookmarked so when somebody lash out against Epic Dice I can show them the math and logic behind everything.

We call that EPIC mindset!

This is really way better than magic-dice which in the ends, you will always lose.

While "house will always win" is largely applicable for most of the gambling platforms out there, unique EPC betting mechanism(bet EPC and win STEEM) is going to give more advantages to the players and stake holders as long as they use the token wisely. Combining strategies of holding EPC for the div and betting it for for the prize pool, one can maximize the odd to beat the house in long run. Not to mention internal EPC rate is only going up forever, which means you get to win prize from pool with lesser and lesser token.

Thanks for passing by and See you in the game!

Awesome! I played magic dice for awhile and kinda drifted away for a bit so I am excited to start playing! I’m a sucker for a good dice game!

Posted using Partiko iOS

Don't forget to leverage the awesome EPC betting system as well! See you in the game!

Thanks for the tip!!!

Posted using Partiko iOS

thanks for the rolled numbers report. Having official stats speaks louder than words @epicdice

That's exactly our purpose to release this data. And we shall continue to strive for higher transparency for the bigger piece of mind of our players. Thanks for the comment.

Wait, what exactly do you play on epicdice? Gambling games or?

Yes, it is a gambling game with one dice game while many are on its way to come. Also we have the best transparency on fairness proving, bonus paying system ever on Steem blockchain. Give it a try today and chances are you will fall in love with it!

Hey again,

sorry but i have some problems with vessel sending steem. Made another mistake and would please you to refund following tx:


Thanks for your cooperation. I will be more careful next time.

Refunded. Please be extra careful with memo-betting. Stick with our game site whenever is possible. If we notice this after EOD, full refund is not possible since half of it would be transferred to EPC holders as dividend.

This post is supported by $50.0 @tipU upvote funded by @epictoken :)
@tipU voting service: instant, profitable upvotes + profit sharing tokens | For investors.

@epictoken purchased a 53.99% vote from @promobot on this post.

*If you disagree with the reward or content of this post you can purchase a reversal of this vote by using our curation interface http://promovotes.com

I dedent rally gate it , but it is rally intersting update of yourd

Let's summarize what we have covered so far in a few points:

Hello @epicdice

I made a little mistake and sent my last bet without memo. This is the tx: https://steemd.com/tx/c6bf02accc6c003c633320cc5de52e8704391537

Could you refund please?

This post has received a 42.2 % upvote from @boomerang.

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

You received more than 5000 upvotes. Your next target is to reach 6000 upvotes.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

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

This is really good.

Posted using Partiko iOS

Wait can someone get it as a desktop version!?

Posted using Partiko Android