Back to Home

CatCoin(๐Ÿฑ)

Token
0x8e72a6838fbe...b6108feda705
FrontierContract #5,207Exact Bytecode MatchEdit this contract
Deployed December 15, 2015 (10 years ago)Block 697,515

CatCoin (๐Ÿฑ), deployed 15 December 2015, is the first Ethereum token with an emoji ticker.

Frontier EraVerified Source

Historical Significance

First Ethereum token with an emoji ticker, checked against all 5,495 top-level contract creations before block 697,515.

Context

Frontier era, 15 December 2015. A trimmed ethereum.org token tutorial whose minting and freezing rights were assigned to an Association DAO deployed the same afternoon.

Token Information
Token Name
CatCoin
Symbol
๐Ÿฑ
Decimals
2
Key Facts
Deployment Block
697,515
Deployment Date
Dec 15, 2015, 09:52 PM
Code Size
1.8 KB
Gas at Deploy
433,067

Description

CatCoin is the earliest Ethereum token found on-chain whose ticker is an emoji: ๐Ÿฑ (U+1F431 CAT FACE, UTF-8 f0 9f 90 b1). It carries the name "CatCoin", 2 decimals, and a supply of 1,000,000.00 units.

The claim was tested by scanning every block from 0 to 697,515, the block containing CatCoin's own deployment, and collecting all 5,495 top-level contract-creation transactions. Of those, 173 have init code containing symbol() or name(). Decoding the ABI-encoded strings in their constructor arguments returns six earlier tokens with non-ASCII tickers: รž (Markoin), ฮด (Djannons), ร (DANCOIN), ยง (Muh Shares), Iโ‚ฌ (ITABIT_EUR) and รŸ (catenaDAO). All six are Latin, currency or legal glyphs. CatCoin is the only pictographic emoji among them. The scan does not cover contracts created by other contracts, or symbols assigned after deployment.

The contract is a trimmed copy of the ethereum.org token tutorial, in its central-mint and account-freezing variant. The allowance functions are removed and the owner variable is renamed issuer. There is no totalSupply and no approve or transferFrom, as ERC-20 had not yet been settled.

Minting and freezing rights were not held by a person. The issuer address 0x18EBd42Dc5E42EDaC84e8DEd1dc824Af20008564 is an ethereum.org Association DAO deployed the same afternoon, governed by the catenaDAO (รŸ) shares token at 0x38b1a2d1ccab24e8c8e66ffbacfd54a0b049186d, with a 50-share quorum and a 10-minute debating period.

15 December 2015 was a single day of work by one operator using two addresses, both funded from Kraken. Catena (CAT) was deployed at 13:44 UTC, the catenaDAO (รŸ) shares token at 14:04, the DAO at 14:16, and CatCoin at 21:52. The DAO precedes Vitalik Buterin's Blockchain Congress deployment by 13 days.

CatCoin then emitted no events for 10 years and 8 months. Its constructor assigns balanceOf directly without a Transfer log, and the supply was never moved. On 24 August 2026 the original operator ran the DAO through a newProposal, vote and executeProposal cycle and sent the full supply to their own address. That transaction carries the first and only Transfer event in the contract's history.

No contemporary record of CatCoin has been found. Searches of Reddit, blogs, forums and news coverage return nothing for the token, its address or its deployer. It appears to have been a private test that was never announced.

Source Verified

SolidityExact bytecode match(1,870 bytes)
Compiler: soljson

Exact bytecode match. Runtime 1,093 bytes. Creation 1,582 bytes plus 288 bytes of ABI-encoded constructor arguments (initialSupply=100000000, tokenName="CatCoin", decimalUnits=2, tokenSymbol="๐Ÿฑ", centralMinter=0x18EBd42Dc5E42EDaC84e8DEd1dc824Af20008564). The compiler is pinned to the Solidity 0.1.x line by the identity-precompile gas formula in the string-return helper: this contract emits words*3+15 (600302600f01), while 0.2.0 and later emit words*15+3. Both 0.1.5 and 0.1.6 reproduce the deployed bytecode exactly; 0.1.3 and 0.1.4 produce 1,059 bytes. Optimizer on. The source is a trimmed ethereum.org MyAdvancedToken with owner renamed to issuer and the allowance functions removed. This contract cannot be verified on Etherscan or Sourcify. solc 0.1.x emits two valid, semantically identical code layouts for this source depending on emscripten heap state: the shared string-copy block used by the name() and symbol() getters sits either before the function bodies (fresh compiler) or at the end of the contract (warm compiler). The deployed contract uses the warm-module layout, which is what browser-solidity produces because it recompiles on every keystroke. Etherscan and Sourcify each compile once in a clean process and land on the other layout. Sourcify does accept solc 0.1.4 through 0.1.7 and compiles this source successfully, but returns no_match. The script proofs/catcoin-0x8e72a683/verify.js in awesome-ethereum-proofs warms the compiler and reproduces the match byte for byte.

Heuristic Analysis

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

Detected Type: Token
Has ERC-20-like patterns

Bytecode Overview

Opcodes1,870
Unique Opcodes167
Jump Instructions77
Storage Operations46

External Links

Related contracts