🍃
Sage Finance
  • Welcome to Sage Finance
  • What is Sage
    • Sage Protocol
      • stUSDC
      • Vault
      • Partner Protocols
        • OpenTrade
      • Herbs
  • Developer Docs
    • Contracts
      • Asynchronous Vault
        • Vault Actions
    • Addresses
    • Security
  • Legal & Compliance
    • Terms of Service
    • Disclaimers
    • FAQs
      • What are Treasury Bills?
      • Audits
      • Communities
        • X / Twitter
        • Discord
        • Medium
        • Warpcast
        • Github
      • Media Kit
Powered by GitBook
On this page
  1. Developer Docs

Contracts

A developer guide to using Sages Vaults ✨

Sage is a decentralized protocol that offers institutional yield on-chain through USDC lending. Users provide collateral to Sage vaults, which is then lent to borrowers investing in RWA assets like U.S. Treasury bills and on-chain credit products. Yield is returned as stUSDC, a stablecoin combining USDC's security with RWA-backed compounding yields.


The Sage Protocol's deployed codebase is available here: Sage Finance GitHub Repository.


Core

SageAddressProviderRegistry.sol

This contract is the entry point to the deployed Sage protocol and provides a registry for all the deployed Sage vaults. Each vault is represented by mapping an numeric id to the address of a SageAddressProvider contract.

SageAddressProvider.sol

This contract collects all the active addresses within a Sage vault. The Sage vault contracts query this contract when they need to access sibling contracts (e.g., reading a user's requested redemptions for stUSDC shares from the History contract).

SageRoles.sol

Roles for the different permissions within the SageProtocol:

  • DEFAULT_ROLE

  • VAULT_ADMIN

  • HOLDING_CONTRACT_ADMIN

  • HOLDING_CONTRACT

  • HOLDING_CONTRACT_MULTI

The DEFAULT_ROLE and *_ADMIN roles will most often be set to a multisig or governance-controlled contract.

Inherited libraries: OpenZeppelin UUPSUpgradeable, OpenZeppelin AccessControlDefaultAdminRulesUpgradeable

SageVaultBase.sol

The base ERC4626 contract for Sage vaults. This contract contains an emergency rescue method callable by the vault admin address.

Inherited libraries: OpenZeppelin ERC4626Upgradeable

PreviousHerbsNextAsynchronous Vault

Last updated 7 months ago