Back to Home

_0xDOGEToken

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.

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