Reference
Contracts
Every contract funflip runs on Robinhood, linked to the explorer.
Check them yourself. These are the exact addresses this site sends your transactions to. If a wallet prompt shows a contract that is not on this page, stop and check the URL in your address bar.
Core
| Contract | Address | What it does |
|---|---|---|
| TokenFactory | 0x8D5159d3…7F0153cB | Creates every token and its bonding curve, in one transaction. |
| PredictionMarketFactory | 0xaAb4fD95…ce55fBBF | Creates prediction markets and opens each round. |
| Migrator | 0xecd6B4c4…9B3C5e34 | Moves a graduated curve's liquidity into Uniswap V4. |
| LPLocker | 0x3eed50B7…f7EC5F8F | Holds graduated LP positions. There is no withdrawal function. |
| FeeManager | 0x8DE88d58…60fF7Ad8 | Splits curve trade fees between creator and protocol. |
| MarketFeeManager | 0x03107Fd9…3e0c1fe8 | Splits the cut taken from a losing prediction pool. |
Prices and resolution
Markets settle on prices read from Uniswap, not from a person. Which source is used depends on where the token trades.
| Contract | Address | What it does |
|---|---|---|
| Resolver | 0xD2a8A6f4…5073d495 | Reads on-chain state to settle markets on tokens launched here. |
| ExternalResolver | 0x2Daa2a2E…97B62891 | Settles price markets on tokens launched elsewhere. |
| QuoteOracle | 0x71d71401…F82109b9 | Values a pool's quote asset in USD, so one liquidity floor covers every pool. |
| V3PriceSource | 0x8A98C074…a8A47DE8 | Reads a Uniswap V3 pool's own price history. No operator involved. |
| V2PriceSource | 0xA565cf97…4Eb7B0b5 | Reads a Uniswap V2 pair's own accumulator. No operator involved. |
| SignedTwapSource | 0x95321471…7608bAA6 | For V4 pools, which store no price history — see the note below. |
One exception worth knowing. Uniswap V4 pools keep no price history of their own, so there is nothing on-chain to average. For those tokens a price is computed from public swap logs and signed by a key we hold, then published on-chain. Anyone can recompute the same number from the same public data and check it — but publishing one is restricted. Tokens on V2 and V3 pools need none of this: their pools answer for themselves.
Periphery
These hold no funds and own nothing. They exist to make a trade one transaction.
| Contract | Address | What it does |
|---|---|---|
| BuyRouter | 0x18786869…dA006bc5 | Swaps any token into a curve's quote, then buys. |
| SwapRouter | 0xAA258cbb…67C343E8 | Trades a graduated token on its Uniswap V4 pool. |
| PoolManager | 0x8366a39C…43e40951 | Uniswap's V4 singleton. Not ours. |
Verification is in progress. Some contracts show verified source on the explorer and some do not yet — the explorer rejects uploads above a size limit that most of ours exceed. That affects readability on the explorer, not what the contracts do.
