Back to Home

HonestDice (1 ETH)

Unknown
0xd79b4c679178...9eaab0f80456
FrontierContract #195Exact Bytecode MatchEdit this contract
Deployed August 12, 2015 (10 years ago)Block 75,008

Commit-reveal dice game deployed day 13 of Ethereum mainnet with 1,000 ETH bankroll. Still active in 2026 with 84 ETH locked. 1% house edge, 1 ETH minimum bet.

Frontier EraVerified Source

Historical Significance

One of the earliest and most sophisticated gambling contracts on Ethereum, deployed just 13 days after mainnet launch. The commit-reveal pattern with server seeds, client seeds, and claim verification demonstrates remarkably mature cryptographic design for the Frontier era. The 1,000 ETH bankroll (~$2,700 at 2015 prices) represents significant financial commitment to early Ethereum experimentation. The 83.9 ETH still locked inside is a time capsule of Frontier-era gambling.

Context

Deployed during the Frontier era when Ethereum was barely two weeks old. Gambling was one of the first practical use cases developers explored — the combination of on-chain randomness challenges and real-money stakes made it a compelling test of smart contract capabilities. The commit-reveal pattern used here became a standard approach for on-chain randomness, predating Chainlink VRF by several years.

Key Facts
Deployment Block
75,008
Deployment Date
Aug 12, 2015, 04:14 PM
Code Size
1.9 KB
Gas at Deploy
589,063
Transactions by Year
2015274
2016213
201714
201822
20193
20217
202212
202312
20243
202512
202624

Description

HonestDice is a commit-reveal dice gambling contract deployed on August 12, 2015 (block 75,008), 13 days after Ethereum mainnet launch. It was bankrolled with 1,000 ETH just 2 minutes after deployment (block 75,017), making it one of the most heavily capitalized contracts in Ethereum first two weeks.

The contract implements a sophisticated 20-function gambling system with proper anti-front-running protections. Players use roll(uint256, bytes32) to place bets with a client-side seed hash. The operator then responds with serverSeed(address, bytes32) to provide the server random component. Players verify and collect via claim(bytes32). Supporting functions include getBankroll(), getBetsLocked(), getMinimumBet(), getMaxPayout(), isReady(), isReadyFor(address), calcWinnings(uint256, uint256), didWin(bytes32), and getResult(bytes32). The operator can manage the bankroll via lockBetsForWithdraw(), unlockBets(), and withdraw(uint256).

The same deployer (0x87c5b5874a18b4306df8a752a6c8cc3e82dafc19) deployed at least one other HonestDice variant on the same day. This contract saw 30+ transactions from 4 unique addresses. As of 2026, approximately 83.9 ETH remains permanently locked in the contract.

This contract gained secondary attention in March 2016 when a Reddit user noticed that etherchain.org and etherscan.io showed different bytecode for the same address. The community explained this was a display discrepancy: etherchain was showing contract creation bytecode while etherscan showed the correct runtime bytecode.

Source Verified

SolidityExact bytecode match(1,954 bytes)
Compiler: 6ff4cd6

1889-byte runtime matches byte-for-byte. soljson v0.1.1+commit.6ff4cd6, optimizer ON. Same deployer and source as the 10 ETH variant (0xc4c51de1). Key differences: 1 ETH min bet (vs 10), 99% payout (vs 98%), no setMinimumBet(). Broken withdrawal lock due to local variable shadowing.

Heuristic Analysis

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

Detected Type: Unknown

Bytecode Overview

Opcodes1,954
Unique Opcodes174
Jump Instructions126
Storage Operations68

External Links