BlockDifficultyEpochHashpriceHalving

Contracts

Section 10 of 11·3 min read

Hash.fun is one set of Solidity contracts, built with Foundry on Solidity 0.8.26, deployed to Robinhood Chain. The addresses below are the live deployment.

Chain Robinhood Chain, chain ID 4663, Arbitrum Orbit (Nitro), ETH for gas
RPC https://rpc.mainnet.chain.robinhood.com
Explorer https://robinhoodchain.blockscout.com

Hash.fun contracts

Contract Role Address
PriceFeed Stores the USD price of every mining coin; the keeper pushes, anyone reads 0xdF78778C014F8d999937E99C9f173E6618e36638
PegManager Owns each mining coin's single-sided V3 ask and bid; reprices and refills; sole minter of mining coins 0x08A97D355DC579Ed69D3B4D41f32A515c08357eB
Launchpad Creates markets, owns both liquidity positions, collects fees into the ledger; has no liquidity-removal function 0x772Ad4a564C221118c2a3438bB25C7098BE14371
LaunchRouter Routes ETH / USDG / coin ↔ token in one transaction; quotes; USDG ↔ coin swaps 0x28216C07DDf15259389A2Ab348F99f9124Ae0C15
Treasury Receives collected fees; pays holders, sells pending tokens, sweeps buyback and protocol shares 0x03C60A29A7bC355B947019A63Bc2C1f82dc57398
POW Protocol token, a Pons launch token: 1,000,000,000 fixed supply, burnable not yet launched
Buyback Receives ETH from the Treasury, claims $POW's Pons creator fees, buys $POW on the Pons curve or the graduated v4 pool, burns it not yet deployed
ETH/POW pool Uniswap v4 pool created by Pons at graduation, LP fee 0, Pons hook, liquidity locked not yet created

Pons

$POW is launched on Pons v2. These contracts are Pons', verified on Robinhood Chain, and the Buyback contract talks to the first three.

Contract Address Role
Launch factory 0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7e launch records, graduation, creator-fee recipient
Fee escrow 0xd3AFEB2a57f70eF218Aa82451c51B2fb0416Ac9e holds creator fees until the recipient claims them
Meme hook 0xE5e702641Ea86F4ae6cC3cDaeD2B886f976Be044 takes the Pons fee on every swap in a graduated pool
Launch and buy 0xe33E9E479dF8802cb0866d5d05258bEc4cF62948 launch plus opening buy in one transaction
Launch locker 0x267444D099b10fB5Ed7c3Cc7B7c767AdcA574952 holds the graduated pool position with no withdrawal path

Mining coins

Each coin is a MiningCoin ERC-20 with its own V3 peg pool against USDG.

Coin Token Peg pool
HASH 0x70845518035A8b8816FA07D4667a8aF2a132245d 0x80b95764566747A3ab6ebb2BCf8E33B3053db9A5
BTC 0x0E5895226f7fbC51C888faD86540770181448225 0xc7eCA4171486AA2A88e37c2dD3a31fcDd650267F
BLOCK 0xc2b385f2bA9F4C5E4948EBc9390704F9ed892b02 0x7C7F9Bd146b9ba8Cf2f85Cc4ED436f1Ad242dc58
TH 0xc6EF3FDB268704FF81022fBe7b69bE045d07E5D3 0x600E2365b927666F537a5B577551418d1880a608
S21 0x0401fd2Bdb53F14977872EC9636C3CB4416441A3 0x20f3410F10b24de0659A17a09eFAF436eA0cc590
MWH 0x1E0673908a0fB6Ab47719E9a066E402a94C845D8 0x4F8d06d4A85eB2Bf899Aa9343b75B548a3682E9f
SATVB 0x8dfA09bda18B1A1db2a801429D47C0e22137632F 0xEc615DD03e8E9E374F26a18524c692dC18A778D3

LaunchToken contracts are created per market and are not listed here. Each market's token address appears on its market page and in GET /api/markets.

External contracts

These are not Hash.fun contracts. Every address was verified on-chain and, for Uniswap v4, against Uniswap's official deployments list.

Contract Address Notes
USDG, the USD stable, 6 decimals 0x5fc5360d0400a0fd4f2af552add042d716f1d168 Paxos Global Dollar
WETH, 18 decimals 0x0bd7d308f8e1639fab988df18a8011f41eacad73
Uniswap V3 factory 0x1f7d7550b1b028f7571e69a784071f0205fd2efa full standard V3 factory, permissionless createPool; fee tiers 500 / 3000 / 10000 with tick spacing 10 / 60 / 200
WETH/USDG V3 pool, ETH ↔ USD route 0x52e65b17fb6e5ba00ed806f37afcd2daa50271ca fee 100 (0.01%); the deepest ETH/USD pool on the chain
Uniswap v4 PoolManager 0x8366a39cc670b4001a1121b8f6a443a643e40951 official
Uniswap v4 PositionManager 0x58daec3116aae6d93017baaea7749052e8a04fa7 official; not used for launchpad positions
Uniswap v4 StateView 0xf3334192d15450cdd385c8b70e03f9a6bd9e673b official; the web app and keeper read pool state through it
Uniswap v4 Quoter 0x8dc178efb8111bb0973dd9d722ebeff267c98f94 official
Uniswap v4 UniversalRouter 0x8876789976decbfcbbbe364623c63652db8c0904 official
Permit2 0x000000000022D473030F116dDEE9F6B43aC78BA3 canonical

There is no Chainlink feed on Robinhood Chain. The keeper's sanity bound is a divergence check between two independent off-chain BTC/USD sources.

Ownership and roles

Every contract has a single owner using OpenZeppelin Ownable2Step. Keeper-driven contracts also have a keeper address, set by the owner. There is no role registry and no timelock.

Action Who
Register a mining coin, register a feed, set the keeper owner
Push prices, reprice, refill, collect fees, pay holders, sweep, execute buyback keeper
Mint or burn a mining coin PegManager only
Launch a market, trade anyone
Remove market liquidity nobody

Decimals

USDG has 6 decimals. Every mining coin, every market token, and $POW have 18 decimals. Feed prices are USD × 10^18 per whole coin.