FrenzyPool
How liquidity provision and overcollateral work
How FrenzyPool Works
FrenzyPool is an ERC4626 tokenized vault that manages the overcollateral backing all predictions on Frenzy.Finance. Instead of a single operator funding the reserve, anyone can deposit USDC as a liquidity provider (LP) and earn yield from trade outcomes.
When you deposit USDC into FrenzyPool:
- Your USDC is routed to the FrenzyDollar escrow contract (the pool itself holds no USDC)
- You receive FLP (FrenzyPool LP) share tokens representing your pro-rata claim on the surplus
- The deposited USDC increases the surplus, strengthening the collateral backing for all traders
All USDC always lives in FrenzyDollar — the pool is purely a share-accounting wrapper on top.
LP Economics
The pool acts as the counterparty to traders:
- Traders lose — FD tokens are burned, surplus grows, FLP shares appreciate
- Traders profit — FD tokens are minted, surplus shrinks, FLP shares depreciate
Over time, the oracle's accuracy advantage means the surplus trends upward, generating yield for LPs. However, short-term variance means LPs can lose capital during profitable streaks by traders.
Share Pricing
Pool.totalAssets() = FD.surplus() - accruedOracleFeesEach FLP share represents a proportional claim on totalAssets. When totalAssets grows (incorrect predictions exceed correct ones), each share is worth more USDC. When it shrinks, shares are worth less.
Reserve Ratio
reserveRatio = USDC.balanceOf(FrenzyDollar) / FD.totalSupply()- 100% — exactly collateralized (every FD backed 1:1)
- >100% — overcollateralized (healthy, surplus available)
- <100% — undercollateralized (trading pauses automatically)
Oracle Fee
The pool charges a configurable daily fee on the positive surplus for running the oracle and data feed infrastructure:
- Accrues continuously based on time elapsed since the last accrual
- Only accrues when the net surplus (surplus minus already-accrued fees) is positive
- Default rate: 5% daily (500 bps), maximum: 20% daily (2000 bps)
- Fees reduce
totalAssets()and therefore LP share value
72-Hour Lockup
Every deposit triggers a 72-hour lockup period enforced on-chain:
- The timer resets with each new deposit
- After the lockup expires, you can redeem your FLP shares for USDC at the current share price
- This protects the pool from flash-deposit attacks and ensures LP commitment
Defensive Measures
| Measure | Description |
|---|---|
| Inflation attack protection | 6-decimal virtual share offset prevents first-depositor manipulation |
| Surplus protection | Withdrawals revert if they would drop surplus below the minimum threshold |
| Reentrancy guard | All state-changing functions are protected |
| Pausable | Operator can pause deposits and withdrawals in emergencies |
| Zero clamp | totalAssets() returns 0 when surplus is negative — shares can't go negative |
FLP Token
- Standard: ERC20 (fully transferable, unlike FrenzyDollar)
- Decimals: 12 (6 USDC decimals + 6 offset)
- Symbol: FLP
- Name: FrenzyPool LP
Contract Addresses
| Contract | Network | Address |
|---|---|---|
| FrenzyPool | Base | 0x2bc20e383EA70F8936AE0a0BbC58B4b5b1b77BF2 |
| FrenzyPool | Base Sepolia | 0x54580e2D85AB44F5c73826927c3865e8d5b1c34B |
See Smart Contracts for FrenzyFinance, FrenzyDollar, and USDC addresses.
Ready to provide liquidity? Go to the Pool →