Back to Home

FunDistributor

Unknown
0x125b606c67e8...6c19717745fa
FrontierContract #128Exact Bytecode MatchEdit this contract
Deployed August 10, 2015 (10 years ago)Block 62,632

A king-of-the-hill game contract from August 2015 exploring behavioral economics and game theory on Ethereum.

Key Facts

Deployment Block
62,632
Deployment Date
Aug 10, 2015, 07:30 AM
Code Size
727.0 B
Gas at Deploy
254,210
Transactions by Year
201534
201722

Description

FunDistributor is an early Ethereum game contract deployed on August 10, 2015 (block 62,632), 11 days after Ethereum mainnet launch. It implements a "king of the hill" mechanism designed to explore behavioral economics and human psychology.

The game works as follows: a player calls the touch function and sends more than 1% of the contract's current ETH balance to become the "receiver" (king of the hill). If no one else calls touch for 200 consecutive blocks (approximately 50 minutes at 2015 block times), the current king receives 25% of the contract's entire balance. Each new challenger must outbid 1% of the pot to dethrone the current king.

The contract exposes four functions: touch (the main game action), get_receiver (current king's address), get_target_block (the block at which the king gets paid), and get_touch_interval (the 200-block waiting period). The source code was published on Pastebin at the time of deployment (link now expired).

The contract saw genuine community engagement: at least 5 unique addresses interacted with it across 30+ transactions between August 10-11, 2015. Reddit commenters described it as a "king-of-the-pyramid scheme" and "like if Beezid met Madoff." Notably, drcode (creator of the SciFi voting contract) praised it as "Quality r/ethereum content" and encouraged more contract experiments. Martin Köppelmann (later co-founder of Gnosis) tracked the contract's balance changes in the comments.

Source Verified

SolidityExact bytecode match(727 bytes)
Compiler: 6ff4cd6

Original source hosted on Pastebin (expired). Reconstructed from on-chain bytecode via compiler archaeology. Byte-for-byte match with soljson v0.1.1+commit.6ff4cd6, optimizer disabled. SHA256: 29fef67c6a7d76329a7d3e7770a9b08ae7705553ad628b4347123be0e2fed3c5. Key finding: uses the private keyword (supported but rarely seen in solc 0.1.1 era contracts). Reddit post claimed 25% payout but actual code does this.balance / 3 (33.3%).

Heuristic Analysis

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

Detected Type: Unknown

Frontier Era

The initial release of Ethereum. A bare-bones implementation for technical users.

Block span: 01,149,999
July 30, 2015March 14, 2016

Bytecode Overview

Opcodes727
Unique Opcodes80
Jump Instructions26
Storage Operations21

Verified Source Available

Source verified through compiler archaeology and exact bytecode matching.

View Verification Proof
Show source code (Solidity)
contract FunDistributor {
    address receiver;
    uint lastBlock;
    uint touchInterval;

    function FunDistributor() {
        lastBlock = block.number;
        touchInterval = 200;
        receiver = msg.sender;
    }

    function touch() {
        payout();
        if (msg.value * 100 > this.balance) {
            receiver = msg.sender;
            lastBlock = block.number;
        } else {
            msg.sender.send(msg.value);
        }
    }

    function get_receiver() constant returns (address) {
        return receiver;
    }

    function get_target_block() constant returns (uint) {
        return lastBlock + touchInterval + 1;
    }

    function get_touch_interval() constant returns (uint) {
        return touchInterval;
    }

    function payout() private {
        if (block.number > lastBlock + touchInterval) {
            receiver.send(this.balance / 3);
            touchInterval = touchInterval + touchInterval / 200;
            lastBlock = block.number;
        }
    }
}

External Links