Back to Home

FinneyDonationGamble

program
0x233820087a75...e0b7c546d3f6
FrontierContract #7,015Source VerifiedEdit this contract
Deployed January 24, 2016 (10 years ago)Block 896,743

A gambling contract where players bet at least 1 finney for a chance to win 10% of the balance. Wins also donate to the Ethereum Foundation.

Frontier EraVerified Source

Historical Significance

One of the earliest gambling contracts on Ethereum that incorporated charitable donations. Each winning bet automatically sent 4.5% of the balance to the Ethereum Foundation, making it an early example of programmable philanthropy through smart contracts.

Context

Deployed in late January 2016 during the Frontier era, when developers were experimenting with Solidity gambling mechanics. Pseudo-random number generation using block variables was common before the risks of miner manipulation were widely understood. The Ethereum Foundation multisig at 0xde0b29... was a well-known address used as a donation target by community members.

Key Facts
Deployment Block
896,743
Deployment Date
Jan 24, 2016, 10:36 AM
Code Size
748.0 B
Gas at Deploy
229,180
Transactions by Year
201626

Description

A gambling contract created by forum user FrankHold as a self-described first Solidity contract. Players send at least 1 finney (0.001 ETH) to the fallback function, triggering a pseudo-random check. If the result modulo a difficulty value equals zero, the player wins 10% of the contract balance. On every win, 4.5% of the balance is also sent to the Ethereum Foundation multisig (0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae) as a donation.

The randomness is derived from block.timestamp, block.blockhash, block.difficulty, and block.number, mixed with a large prime-like modulus constant. The difficulty scales inversely with bet size: larger bets have better odds.

The contract provides three view functions: Basics() shows the next potential payout and donation amounts, History() returns full statistics including total bets, payouts, and high scores, and Under_the_Hood() exposes the internal random state.

FrankHold posted the contract on the Ethereum forum on January 24, 2016, with source code on GitHub Gist and a challenge: "If someone can crack it he/she can keep the 10 Ether." The deployer seeded the contract with about 20 ETH and was the only player across 27 transactions over 3 days (Jan 24-27, 2016). Total payouts were approximately 14 ETH to the deployer and 6.2 ETH donated to the Ethereum Foundation. The contract still holds 0.049 ETH.

Source Verified

Solidityauthor_published
Compiler: soljson

Author FrankHold published source code, compiler version, and bytecode on the Ethereum forum (forum.ethereum.org/discussion/4258) and GitHub Gist (gist.github.com/FrankHold/bda693def28e40fb30a4). Runtime bytecode matches on-chain code exactly (691 bytes). Compiled with browser-solidity using v0.2.0 nightly from January 20, 2016.

Heuristic Analysis

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

Detected Type: program

Bytecode Overview

Opcodes748
Unique Opcodes118
Jump Instructions26
Storage Operations53

External Links