Back to Home

Wallet

0x0139f01cb6f0...17478262ffce
DAO ForkExact Bytecode MatchEdit this contract
Deployed September 24, 2016 (9 years ago)Block 2,319,991

328-byte deposit wallet that notifies a manager on receipt, with an unguarded transferMoney().

DAO Fork EraVerified Source

Historical Significance

Documents a two-tier deposit architecture from late 2016: cheap per-customer wallets that do no bookkeeping themselves, paired with a single minimal logger contract that turns each receipt into an indexed event stream. Notably the wallet contains no access control whatsoever - the bytecode has no CALLER opcode, so transferMoney() was callable by anyone, not just the operator. Any balance sitting in one of these wallets between sweeps was withdrawable by any caller. The selector gotPayment(address,uint256) had no preimage in any public signature database and was recovered by brute-force search.

Key Facts
Deployment Block
2,319,991
Deployment Date
Sep 24, 2016, 07:54 PM
Code Size
328.0 B
Transactions by Year
20162

Description

A 328-byte payment-receiving wallet. Its fallback forwards nothing but a notification: it calls gotPayment(address,uint256) on a manager contract held in storage slot 0, passing its own address and the received msg.value, so the operator can attribute incoming funds off-chain. The manager itself is a 176-byte contract whose only function logs that call as an event. The wallet's single public function, transferMoney(address,uint256) (selector 0xfee666ad), sends ETH out. Runtime bytecode reproduced byte-for-byte with solc 0.3.6, optimizer disabled. Verified on Sourcify and Etherscan.

Source Verified

SolidityExact bytecode match(328 bytes)
Compiler: v0.3.6+

Bytecode Overview

Opcodes328
Unique Opcodes55
Jump Instructions10
Storage Operations1

External Links