Perennial V1
HomeApp
  • Introduction to Perennial
  • Overview
  • Position Management (Takers)
    • Choose a Market
    • Opening Positions (Arbitrum)
    • Adjusting Positions (Arbitrum)
    • Closing Positions (Arbitrum)
    • Considerations
    • ETH Mainnet Walkthroughs
      • Opening and Adjusting Positions (Mainnet)
      • Closing Positions (Mainnet)
  • LPs (Makers)
    • Vaults
    • Using Vaults (depositing & withdrawing)
    • Advanced liquidity provisioning
    • Considerations
    • Risk Management
  • Mechanism
    • Market Structure
    • Payoff
    • Positions & Pricing
    • Settlement
    • Maintenance (& Leverage)
    • Funding Rate & Utilization Curve
    • Profit and Loss
    • Fees
    • Liquidations
    • DSU
  • Developers
    • Building on Perennial
    • Considerations
    • Contract Interfaces
    • Deployed Contracts
    • Using Testnet (v4.0)
  • Architecture
    • Contracts
    • Audits & Bug Bounty
Powered by GitBook
On this page
  • Controller
  • Product
  • ProductProvider
  • Collateral
  • Incentivizer
  • ChainlinkOracle
  1. Architecture

Contracts

PreviousUsing Testnet (v4.0)NextAudits & Bug Bounty

Last updated 2 years ago

Controller

Central deployer for new products, plus the source of truth for protocol parameters.

Product

A single product market.

ProductProvider

Deployed and owned by the respective product owners prior to creating a new market. This contract acts as a parameter provider to define each product market.

Collateral

Unified collateral contract. All collateral for all product markets is managed from this single contract. Also handles fee taking and insolvency resolution.

Incentivizer

First party liquidity incentivize manager contract.

ChainlinkOracle

Re-deployable bridge contract to convert a standard Chainlink feed into an IOracle compliant oracle to be used with a product market

Perennial Architecture