Mineable toy token that dispenses 0.00000008 MC when called with the magic value 52013.
Historical Significance
MintCoin is the bridge between the fixed-supply first experiments and the quota-driven mineable coins that followed later the same day. It already contains the key idea that anyone can claim tokens from a contract-held stash, but gates the reward behind a constant rather than a public evolving counter.
Context
Deployed Feb 8, 2016 at 10:18 UTC by 0xcd7642260fb84ce6d28730f6579d4f6ab26c8369, MintCoin was the third named coin in the run of LoveCoin, InflateCoin, MintCoin, NonceCoin, HaHaCoin, and CoolCoin. Its on-chain record is split across eras: EthereumHistory currently shows three transactions in 2016 and five more in 2024, evidence that the dormant Frontier contract was rediscovered and exercised again years later.
Token Information
Key Facts
Description
MintCoin (MC), deployed Feb 8, 2016 at block 972,166, shifts the family from ordinary transfers into open-mint experiments. The contract holds its own initial reserve and exposes Mint(uint256 value): if the caller supplies the hard-coded value 52013, it pays out 8 MC from the contract balance. Transfers otherwise behave like the simple token template. Runtime and creation bytecode are exactly matched against soljson v0.1.7+commit.b4e666cc with optimization enabled.
Source Verified
Exact creation and runtime bytecode match. Runtime: 857 bytes, creation: 1552 bytes. Runtime SHA-256 2aab6afec82e9515ce47e14e697c01450f61e0b307685e24646b39b8aae969e8. Creation SHA-256 c18d0e386fa5ae774dfeb9e3e2d49367198e2ee9c5cdc5dd805ffc26b291d91b.
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 and exact bytecode matching.
View Verification ProofShow source code (Solidity)
contract MintCoin {
string public name;
string public symbol;
uint8 public decimals;
mapping (address => uint256) public balanceOf;
event Transfer(address indexed from, address indexed to, uint256 value);
function MintCoin(uint256 initialSupply, string tokenName, string tokenSymbol, uint8 decimalUnits) {
if (initialSupply == 0) initialSupply = 1000000;
address t = this;
balanceOf[t] = initialSupply;
name = tokenName;
symbol = tokenSymbol;
decimals = decimalUnits;
}
function Mint(uint256 value) {
address t = this;
if (value != 52013) return;
balanceOf[msg.sender] += 8;
balanceOf[t] -= 8;
Transfer(t, msg.sender, 8);
}
function transfer(address _to, uint256 _value) {
if (balanceOf[msg.sender] < _value) throw;
if (balanceOf[_to] + _value < balanceOf[_to]) throw;
balanceOf[msg.sender] -= _value;
balanceOf[_to] += _value;
Transfer(msg.sender, _to, _value);
}
}