Every contract, and what it does.
Generated from the same typed configuration the application itself uses, so nothing here can drift from what the site actually calls. Network: Ethereum mainnet (chain 1).
Live Ethereum mainnet addresses. Bootstrap authority has been surrendered to timelocked governance and the protocol is lending. Minting USDfr and redeeming it instantly for USDC require KYC; holding, transferring and staking are open to any wallet that is not sanctions- or jurisdiction-blocked. Read the live status and the risk disclosures before transacting. Proxy addresses are the permanent entry points; implementations sit behind them and change on upgrade, so verify state through the proxy. Deployment block 26006832.
Tokens
- USDfrMinted 1:1 against USDC and redeemable back to USDC. Recognized backing includes idle reserves and deployed loan principal. Holding USDfr earns no yield by itself.0xcC07e7c4E5E35AFFD47b351E420A22C667D7f83d
- sUSDfrThe yield vault (ERC-4626). Stake USDfr to receive sUSDfr, whose exchange rate rises as loan interest is earned. Exits go through the redemption queue.0xAF559d1D59B33ca4b950AB2091372Af8a773E234
- GROVEThe governance token. Fixed supply, minted in full to the Forest Road treasury. It carries voting rights and sGROVE staking eligibility, and no automatic right to protocol revenue.0x24e7181C9Ad81049CeDdA99Bb124e13E54065b3C
- sGROVEThe second loss layer. It holds the USDfr coverage reserve that absorbs losses after curator first-loss capital and before senior sUSDfr principal. GROVE can be staked here too; staked GROVE keeps its vote and is never sold to cover a loss.0x5608144285eAb640df97937A772a8737c1f88a72
- USDCCircle's USD Coin. The reserve asset used to mint USDfr and paid out on redemption.0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
Minting, reserves and exits
- MintRedeemControllerMints and burns USDfr, and enforces the backing invariant on every mint: USDfr supply can never exceed the reserves and loans behind it.0x50aC018eb6400F247ffe0fa7F1D4e0e900CdB47C
- ReserveManagerCustodies the protocol's USDC, records deployed loan principal at conservative marks, and runs continuous interest accrual across the loan book. USDC sent to it directly is treated as a donation and never inflates backing.0x8317736611B542DDb4A820fE344b621A904BdD48
- RedemptionQueueThe sUSDfr exit. Requests wait out a minimum hold, then settle strictly first-in, first-out within each settlement's liquidity budget, at the price struck when they fill. Settled requests are claimed in USDfr.0xa3a91Cf083B76bCc1a963C81A2977c8F7350d1f8
- ComplianceRegistryHolds the KYC allowlist for minting and instant redemption, the sanctions and jurisdiction blocklist screened on every transfer, and the governance-approved list of loan payout destinations.0x1f9491817a039A0Cc9781994F7B9E507ebAee062
Loans
- ClaimBridgeIssues the Loan NFT for each facility once its required attestations are in place, and holds the facility's signed terms: amount, rates, schedule and payout destination.0x37B71Fec40B5dD04F29C5698B4112eF2Ad0c980e
- AttestationOracleVerifies threshold-signed attestations from the approved m-of-n attester set. Originations, payments, valuations and terms changes all enter through it. This is the protocol's main trust assumption: it acts on whatever an attester quorum signs.0xB53977a70D755a56d3Ce26926Acb4c33f7861c61
- CollateralRegistryThe book's rulebook: collateral classes, loan-to-value and tenor limits, and the borrower, state and class concentration limits every loan must pass.0xe5621a5c6760dbCd76AC94012769a2d604844F7d
- WaterfallEngineFunds each originated facility from reserves and routes every attested repayment: interest to the protocol fee and the vault, principal back to reserves, with nothing created or lost on the way.0xED7F98103Ef13D27D572Cb4b790e6cf54C27b063
- DefaultManagerMarks loans past due, declares defaults, runs liquidations and the loss cascade, and computes the impairment that prices vault exits during a default.0xD08Fa0Dc72232C9cf5C8c6A0C4ED9E0074037263
- AssessedImpairmentSourceCarries the professional recovery assessment used to value an impaired loan.0x171e4Fc4CC6F39fc6f9813FF93992db573ec00EB
- MtmAtomicExecutorProtects digital-asset loans: relays a signed collateral valuation and, in the same transaction, applies the liquidation, margin call or cure the on-chain rules require. Anyone can call it; it holds no authority of its own.0x953866914Ce71bdA67d860204255C1bf370522F6
Loss protection
- CuratorModuleHolds curators' first-loss capital for each collateral class. It absorbs losses first, ahead of sGROVE and senior sUSDfr holders.0x867e888AFC76F8b20C27698D886EA4180B555214
Governance
- GovernorWhere governance proposals are made and voted on with GROVE. Forest Road holds the GROVE supply, so it controls governance outcomes at launch.0x6CBb4Ca6769dD4B57F51d1E62a000110B7fD2D1B
- TimelockExecutes approved proposals after a mandatory delay, and holds upgrade authority over every upgradeable contract.0x28B36b6a48eD3f7409464c811A9eD538A824120E
- GroveVotesAggregatorAdds GROVE held in wallets to GROVE staked in sGROVE, so staking never costs a holder their vote. The Governor reads voting power from here.0x297AB97621b8B7734BBb0da6A4047EA873da5B04
Participation
- PointsModuleAccrues participation points on USDfr, sUSDfr and curator capital held over time. Points are not a claim on any asset or token.0xEf80F6b70Fd91f162C2f1BE533fc1d270Cdea9fA
Market (third party)
- USDfr/USDC poolA Uniswap v4 pool pairing USDfr with USDC (0.0375% fee, no hooks). Uniswap is independent of Forest Road; its price can differ from the 1:1 mint and redeem rate. View on UniswapPool ID0x72ef9130b1c7bd2daa49405e618b7ad27eb90e03c893629ba1d28a4562fc7b55Uniswap v4 PoolManager0x000000000004444c5dc75cB358380D2e3dE08A90
- sUSDfr/USDC poolA Uniswap v4 pool pairing sUSDfr with USDC (0.0375% fee, no hooks), where sUSDfr can be sold without the redemption queue. Uniswap is independent of Forest Road; its price can differ from the vault's rate and from what the queue would pay. View on UniswapPool ID0x1d8694445872d16931c729de06086ccbdc4089875ee73fb6119963a922c92d5aUniswap v4 PoolManager0x000000000004444c5dc75cB358380D2e3dE08A90
- Uniswap Universal RouterThe Buy card sends its swap to this router. It is also the spender named in the signed Permit2 allowance.0x66a9893cC07D91D95644AEDD05D03f95e1dBA8Af
- Uniswap Permit2The Buy card asks for a one-time USDC approval to this contract. Its approval has no expiry until revoked.0x000000000022D473030F116dDEE9F6B43aC78BA3
- Uniswap V4QuoterThe Buy card reads a USDC-to-USDfr quote from this contract before preparing a swap.0x52F0E24D1c21C8A0cB1e5a5dD6198556BD9E1203
21 contracts. Each address links to the block explorer, where the verified source can be read and every figure on the transparency dashboard reconciled independently.