Frenzy.Finance

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:

  1. Your USDC is routed to the FrenzyDollar escrow contract (the pool itself holds no USDC)
  2. You receive FLP (FrenzyPool LP) share tokens representing your pro-rata claim on the surplus
  3. 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() - accruedOracleFees

Each 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

MeasureDescription
Inflation attack protection6-decimal virtual share offset prevents first-depositor manipulation
Surplus protectionWithdrawals revert if they would drop surplus below the minimum threshold
Reentrancy guardAll state-changing functions are protected
PausableOperator can pause deposits and withdrawals in emergencies
Zero clamptotalAssets() 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

ContractNetworkAddress
FrenzyPoolBase0x2bc20e383EA70F8936AE0a0BbC58B4b5b1b77BF2
FrenzyPoolBase Sepolia0x54580e2D85AB44F5c73826927c3865e8d5b1c34B

See Smart Contracts for FrenzyFinance, FrenzyDollar, and USDC addresses.


Ready to provide liquidity? Go to the Pool →