Ether deposit forwarder from August 2018: every payment is passed straight to a fixed destination and logged with a timestamp, and flush() clears any balance left behind.
Historical Significance
A clean example of the forward-on-receipt deposit design that many services settled on by 2018: no stored balance, no admin key, and a flush for the edge cases where ether can land without triggering a transfer. The timestamp in the deposit event is a small operational touch, giving whoever reconciled deposits a time for each payment without a separate block lookup.
Key Facts
Description
A deposit address that never keeps ether. The destination is set once in the constructor and exposed through destinationAddress(); there is no owner and no way to change it. For this copy the destination is the same account that deployed it, which created these forwarders in bulk ahead of use.
The payable fallback transfers msg.value to the destination and emits LogForwarded with the block timestamp, the sender as an indexed topic, and the amount. The timestamp is the first field and the sender the second, an unusual ordering that is fixed in the event's signature hash. flush() covers the one case the fallback cannot, ether that arrives without running code, such as a selfdestruct payout or a mining reward: it transfers the whole balance to the destination and emits LogFlushed. Anyone can call it.
Both event names were recovered from their topic hashes, LogForwarded by brute force over word lists and argument orders. The source was compiled with solc 0.4.24 with the optimizer off. The runtime code matches the deployed bytecode; only the trailing swarm metadata hash differs, because the EthereumHistory attribution comment changes the source text. Sourcify records this as a partial match and Etherscan shows it as verified.
Source Verified
Heuristic Analysis
The following characteristics were detected through bytecode analysis and may not be accurate.
Byzantium Era
First Metropolis hard fork. Added zk-SNARK precompiles, REVERT opcode, and staticcall.
Bytecode Overview
Verified Source Available
This contract has verified source code.
View Verification ProofShow source code (Solidity)
// Submitted by EthereumHistory (ethereumhistory.com)
pragma solidity ^0.4.24;
contract DepositForwarder {
address public destinationAddress;
event LogForwarded(uint256 timestamp, address indexed sender, uint256 amount);
event LogFlushed(address indexed sender, uint256 amount);
constructor(address _destinationAddress) public {
destinationAddress = _destinationAddress;
}
function() public payable {
destinationAddress.transfer(msg.value);
emit LogForwarded(now, msg.sender, msg.value);
}
function flush() public {
destinationAddress.transfer(address(this).balance);
emit LogFlushed(msg.sender, address(this).balance);
}
}External Links
Related contracts
Msg
Same eraMinimal contract that stores a single public string in state, exposed via the auto-generated m() getter. First of 281 identical siblings. Source verified by EthereumHistory.
0x2c8f58...37b173January 13, 2018Wallet
Same eraToken collection wallet that moves an entire token balance to a chosen address, without the ERC223 callback handler.
0x002204...531195January 19, 2018Wallet
Same eraOwner wallet that forwards ether to its owner, logs any call from a stranger with the full calldata, and lets the owner execute arbitrary calls.
0x001feb...9e7a4fJanuary 20, 2018Forwarder
Same eraNinety-three bytes with one hardcoded destination: every payment received is transferred straight back out to the same address.
0x458353...a562deJanuary 20, 2018Sweeper
Same eraMinimal ETH sweeper, first of 1,900 identical deployments in a 2-day burst in January 2018. All sweep to a single hardcoded destination. Source verified by EthereumHistory.
0xeb15f6...6cb3e1January 23, 2018Sweep
Same eraETH sweep-to-fixed-recipient — fallback forwards the contract's entire balance to `0xd293a88c…8d4` via `.send()` and reverts on failure. Massive cluster of 1899 identical deployments — likely deposit-address contracts for a single custodian.
0x00188b...b260a7January 23, 2018