Back to Home

HonestDice

Wallet
0xc4c51de1abf5...fd8f021ae9fc
FrontierContract #192Exact Bytecode MatchEdit this contract
Deployed August 12, 2015 (10 years ago)Block 74,817

One of the earliest provably-fair dice gambling contracts on Ethereum, deployed August 12, 2015 (day 13 of Frontier). Commit-reveal dice game with 2% house edge

Frontier EraVerified Source

Historical Significance

One of the earliest gambling dApps on Ethereum, deployed during Frontier's first two weeks. Demonstrates early smart contract patterns: commit-reveal schemes, server-side random seeds, and the risks of variable shadowing bugs in Solidity 0.1.x. Contains 122 ETH locked since 2015.

Context

Deployed in August 2015 during the Frontier launch era, when Ethereum had just gone live and developers were experimenting with novel contract designs. HonestDice was among the first wave of gambling contracts, alongside early pyramids and lotteries, that tested what smart contracts could do.

Key Facts
Deployment Block
74,817
Deployment Date
Aug 12, 2015, 03:21 PM
Code Size
1.9 KB
Gas at Deploy
599,637
Transactions by Year
2015195
20164
20178
20181
20191
20223
20231
20241
20251
202630

Description

HonestDice was a commit-reveal dice game deployed just 13 days after Ethereum's Frontier launch. Players submitted a bet with a secret hash; the server provided a random seed; the player then revealed their secret to determine the outcome. The game offered configurable odds (1-255) with a 2% house edge and a maximum payout of 5% of the contract's bankroll per roll.

The contract enforced a 10 ETH minimum bet (the published GitHub source shows 1 ETH, but the as-deployed version used 10 ETH). A server-provided seed within 20 blocks prevented front-running.

Notably, the contract contains a shadowing bug: both lockBetsForWithdraw() and unlockBets() declare a local uint betsLocked variable instead of modifying the state variable. Both functions are no-ops on-chain, meaning the owner could never actually lock or unlock bets.

The contract was mislabeled as 'EtherDice' in several academic smart contract analysis datasets. The actual contract name in the source code is HonestDice.

122 ETH remains locked in the contract. The deployer's key appears to be lost.

Source Verified

SolidityExact bytecode match(1,992 bytes)
Compiler: soljson

Exact creation (1,992 bytes) + runtime (1,927 bytes) match. soljson v0.1.1, optimizer enabled.

Heuristic Analysis

The following characteristics were detected through bytecode analysis and may not be accurate.

Detected Type: Wallet

Bytecode Overview

Opcodes1,992
Unique Opcodes177
Jump Instructions132
Storage Operations71

External Links