One of the earliest Ponzi schemes on Ethereum - a 102% payout contract where new deposits fund earlier investors, deployed on Frontier Day 4.
Historical Significance
One of the earliest known Ponzi/pyramid contracts on Ethereum mainnet, deployed just days after Frontier launch. Demonstrates that financial experiments (both legitimate and fraudulent) began on Day 1 of Ethereum.
Context
In the first days of Ethereum Frontier (August 2015), developers immediately began experimenting with financial contracts. Ponzi schemes were among the earliest deployed, alongside voting contracts, name registries, and token prototypes. This 102% payout scheme is structurally similar to other early Ponzi contracts like DynamicPyramid.
Key Facts
Description
A Ponzi scheme deployed at block 52,970 (August 8, 2015) on Ethereum Frontier. New investors send ETH via the payable fallback. Each deposit is promised a 102% return (msg.value + msg.value/50). Investors are stored in an outputs array with their payout amount. The contract automatically pays earlier investors from new deposits whenever the balance is sufficient, working through the queue sequentially. The totalOutstanding variable tracks the total amount still owed to unpaid investors. At 683 bytes, it is one of the simplest Ponzi implementations from Ethereum's first week. Same deployer (0x8674c218) as the MessageStore at rank 27.
Source Verified
near_exact_match: reconstructed source produces 677b runtime (target 683b = 99.1% match) with soljson v0.3.1 optimizer ON. All selectors confirmed via openchain.xyz. 6-byte diff likely from minor source expression variant.
Historian Categories
Heuristic Analysis
The following characteristics were detected through bytecode analysis and may not be accurate.
Frontier Era
The initial release of Ethereum. A bare-bones implementation for technical users.
Bytecode Overview
Verified Source Available
Source verified through compiler archaeology (near-exact bytecode match).
Show source code (Solidity)
contract Ponzi {
struct Output { address addr; uint amount; }
Output[] public outputs;
uint public totalOutstanding = 0;
uint nextOutput = 0;
function() {
uint payout = msg.value + msg.value / 50;
outputs.push(Output({addr: msg.sender, amount: payout}));
totalOutstanding += payout;
while (this.balance >= outputs[nextOutput].amount) {
outputs[nextOutput].addr.send(outputs[nextOutput].amount);
totalOutstanding -= outputs[nextOutput].amount;
nextOutput++;
}
}
}External Links
Related contracts
MessagingContract
Same deployerOne of the earliest messaging contracts on Ethereum, allowing users to send on-chain messages stored by content hash.
0xdc884e...45f48bAugust 8, 2015MessagingContract v2
Same deployerAn upgraded on-chain messaging contract with per-address message tracking and delete functionality, from the same Frontier developer who built the simpler Messa
0x18991f...dfff72August 8, 2015MessageStore
Same deployerA 6-line contract storing a single public string, deployed Day 9 of Ethereum by a prolific early experimenter who shipped 18 contracts in one week.
0xd2eccd...ff3d6bAugust 8, 2015OnChainProfile
Same deployerAug 8 2015 deploy by 0x8674c218 — one of the most prolific contract deployers of Ethereum's first day. Sibling of the verified MessagingContract / Ponzi / Messa
0x4ab020...f9d97dAugust 8, 2015MessagingContract
Same deployerAn on-chain messaging contract with per-address tracking and delete functionality, by the same Frontier developer who iterated on messaging across four deployme
0x97b29a...7c3532August 8, 2015MessagingContract v3
Same deployerAn on-chain messaging contract that adds a nonce for unique message hashing, part of a four-deployment messaging iteration on Frontier.
0xd51ead...6130efAugust 8, 2015