OPENFORAGE
Mainnet · Coming Soon

Protocol

Smart Contract Architecture

High-level component diagram, contract purposes, and key depositor-facing interactions.

Contract Overview

OpenForage deploys 13 contracts on Arbitrum. Each serves a specific purpose in the protocol.

Dollar Layer

ContractPurpose
RISKUSDCERC-20 protocol dollar minted 1:1 against deposited USDC and burned on redemption.
RISKUSDCVaultDeposit and redemption entry point; manages RISKUSDC backing as on-vault USDC plus conservatively valued deployed/custodian capital.

Yield Layer

ContractPurpose
atRISKUSDC (4 tier instances per vault)Yield-bearing vault positions. Exchange rate reflects cumulative net performance per vault.
StakingQueueManages tier transitions, lock-up expiry, auto-renewal, and reversion to Tier 0.

Treasury Layer

ContractPurpose
ProtocolTreasuryAutomated revenue allocation hub. Splits incoming PnL per governance ratios.
FundingTreasuryHolds and distributes USDC for agent compensation.
RewardPoolHolds and distributes FORAGE for agent performance rewards.
DepositorPoolHolds and distributes FORAGE for depositor airdrops.
PartnershipsGovernance-controlled treasury for strategic partnership allocations.

Governance Layer

ContractPurpose
ForageTokenFORAGE ERC-20 governance token. Fixed supply of 100M, no minting.
ForageGovernorProposal, voting, and execution system for protocol governance.
TimelockControllerEnforces 8-day minimum delay on all governance actions.
DelegatingVestingWalletTeam FORAGE vesting (4-year linear, 1-year cliff). Supports governance delegation during vesting.

Key Depositor Interactions

The primary depositor flow touches three contracts:

  1. RISKUSDC — Deposit USDC, receive RISKUSDC. Redeem RISKUSDC for USDC.
  2. atRISKUSDC — Stake RISKUSDC, receive yield-bearing shares. Request withdrawal.
  3. StakingQueue — Select tier, manage auto-renewal, process lock-up expiry.

Security Properties

  • All governance actions pass through the TimelockController with an 8-day delay
  • Guardians can only pause and unpause contracts (no fund movement or parameter changes)
  • atRISKUSDC withdrawal execution cannot be blocked, even during protocol pause
  • Revenue allocation is atomic and non-discretionary once PnL is deposited

See Smart Contract Security for security review status and trust assumptions.