Back to Home

0xDOGE Token(0xDOGE)

Token
0x0d8bb998900a...542c2cf4e7a9
ByzantiumSource VerifiedEdit this contract
Deployed February 16, 2018 (8 years ago)Block 5,098,547

First 0xBitcoin clone, deployed 10 days after 0xBTC. Permanently bricked after 12 mints by a reward dust term and a recursive era-cap bug.

Byzantium EraVerified Source

Historical Significance

0xDOGE Token is the first EIP-918 clone deployed on Ethereum, arriving on February 16, 2018 — exactly 10 days after Infernal_toast launched the canonical 0xBitcoin contract. It is also the first proof-of-work token on Ethereum to permanently brick itself. The contract was forked directly from 0xBitcoin but the deployer made five source-level changes, and two of them combined into a fatal bug:

  1. The mining reward formula was rewritten from 50 * 10^decimals / 2^era to 100000 * 10^decimals / 2^era + 10000 — adding a +10,000 wei "dust" term that compounds over halvings.
  2. The era cap recurrence in _startNewMiningEpoch() was changed from maxSupplyForEra = _totalSupply - _totalSupply / 2^(era+1) to a recursive form: maxSupplyForEra = maxSupplyForEra - maxSupplyForEra / 2^(era+1) — using a newly-inserted state variable named gcmpoef as the intermediate. Because the constructor calls _startNewMiningEpoch() 13 times with rewardEra=0, the era-0 cap decays from 10^18 down to 122,070,312,500,000 before the first mint.

Mining proceeded normally for 12 mints. On mint #13, the running total tokensMinted exceeded the now-decayed maxSupplyForEra, the assert(tokensMinted <= maxSupplyForEra) tripped, and the contract has been frozen at 1,200,000,000,120,000 wei (12 mints × the constant era-0 reward) since February 2018. No further mints are possible. The contract is one of the earliest examples of a non-trivial smart-contract bricking on Ethereum mainnet — and the first to do so through a reward-formula bug.

Context

Deployed February 16, 2018 at block 5,098,547 by 0x9bab691bf10adce7c88fe86a801d5a807f6ece3e. The 9 trillion total supply (9e20 wei × 1e8 decimals) was a Dogecoin nod — Dogecoin's own supply is uncapped but the deployer chose a literal trillions figure for the symbol. The reward dust (+10000) appears intentional — possibly an attempt to keep something claimable after the canonical halvings would have driven era reward to 0 — but the interaction with the recursive era-cap formula was not modeled. The era cap halves against itself rather than against the total supply, so each constructor-invoked era transition compounds the shrinkage geometrically.

Source recovery was performed in May 2026 from the on-chain runtime bytecode. The renamed state variable gcmpoef (selector 0xe1018016) does not appear in any public 4-byte database — it was recovered by parallel keccak256 preimage brute force over the [a-z_]^7 alphabet (~750 million attempts at ~16 MH/s on a 10-core M-series machine, wall time ~50 seconds). The preimage is unique within that alphabet for the selector. All other source changes (the +10000 dust, the recursive era cap, the 6x block-time target in difficulty re-adjustment, the removed getMintDigest function) were recovered by source-level diff against the canonical 0xBitcoinToken source.

Token Information
Token Name
0xDOGE Token
Symbol
0xDOGE
Decimals
8
Key Facts
Deployment Block
5,098,547
Deployment Date
Feb 16, 2018, 04:08 AM
Code Size
8.0 KB
Gas at Deploy
2,662,192

Source Verified

Soliditysourcify_partial_match
Compiler: 0.4.18+

Sourcify partial match (chain 1, address 0x0d8bB998900AbDB60D7414145e1c542C2CF4e7A9). Recompiled with solc 0.4.18+commit.9cf6e910, optimizer off, runs 200 (Byzantium). Runtime bytecode is byte-identical to the on-chain runtime except for the 32-byte bzzr0 swarm hash in the solc metadata trailer (29 total bytes of diff, all inside the metadata block). Stripped runtime SHA-256: c90a78f1595d0221c4dfb3a4bda8bc3ccd0eaab94e8b86463f33248c5ee63b66. The renamed state variable `gcmpoef` (selector 0xe1018016) was recovered via keccak256 preimage brute force over [a-z_]^7.

Historian Categories

Token
Heuristic Analysis

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

Detected Type: Token

Bytecode Overview

Opcodes8,176
Unique Opcodes242
Jump Instructions343
Storage Operations128

External Links