OpenTrade Docs
  • 👋Welcome to OpenTrade
    • 💻Platform Overview
    • ⛓️Blockchain Protocol
    • 🖥️Web Application
    • 🪙Supported Digital Assets
    • 🌐Supported Blockchain Networks
    • 📂Supported Digital Wallets
  • Stablecoin Yield
    • 📘Product Overview
      • 🗳️Vaults
      • 🏛️Key Parties
      • 🔐Loan Collateral
      • ➡️Making Loans
      • 🪙Vault Tokens
      • 🧮Exchange Rates
      • 🗓️Calendar & Business Days
      • 👩‍⚖️Legal
        • 🛡️Bankruptcy Remote Structure
        • 📗Master Lending Agreement
        • 📓Loan Confirmations
        • 📃Security Trust Deed
        • 📙Platform Terms of Service
        • 🔍Privacy & Cookie Policies
    • 💸Stablecoin Yield Vaults
      • 🏦Money Market Fund Vaults
        • 💵USD Money Market Fund Vault
          • 💰Interest Rate & Fees
          • ➡️Making Loans
          • ⬅️Withdrawals
        • 💵Franklin Templeton Benji MMF Vault
          • 💰Interest Rate & Fees
          • ➡️Making Loans
          • ⬅️Withdrawals
        • 💵Flexible Term USDC Vault
          • 💰Interest Rate & Fees
          • ➡️Making Loans
          • ⬅️Withdrawals
        • 💶Flexible Term EURC Vault
          • 💰Interest Rate & Fees
          • ➡️Making Loans
          • ⬅️Withdrawals
      • 🏭High Yield Corporate Bond Vault
        • 💰Interest Rate, Exchange Rate, Fees
        • ➡️Making Loans
        • ⬅️Withdrawals
      • Managed DeFi Yield Vault (Beta)
        • 💰Interest Rate & Fees
        • ➡️Making Loans
        • ⬅️Withdrawals
      • 📆Fixed Term US Treasury Bill Vaults
        • ⏳Fixed Term Vault Mechanics
        • 🎟️Interest Rates & Fees
        • 🔄Early Withdrawal Requests
        • 🟢Loan Rollovers & Rollover Termination
        • 💬Loan Statuses
        • 🖱️Lender App Overview
  • 💻Integrations
  • ⚙️Contract Addresses
  • 🛡️Code Audits
  • 📥Onboarding
    • ✅Eligibility Requirements
  • 🧑‍💻User Guides
    • 🏎️Getting Started
    • 🔥Fireblocks Users
      • 🔄End-to-End
      • ✅Whitelisting Contracts
      • ⚙️Configuring Your TAP
      • 🔌Connecting via WalletConnect
      • 🪙Listing a Vault Token
      • ⬆️Making an Investment
      • ⬇️Making a Withdrawal Request
    • Safe{Wallet} Users
    • 🟣Circle Mint Users
    • 🟦Coinbase Prime Users
Powered by GitBook
On this page
  • Overview
  • ERC-4626
  • Perimeter Implementation
  • Protocol Roles
  • Key Smart Contracts
  • Extensions made to the Perimeter by OpenTrade
Export as PDF
  1. Welcome to OpenTrade

Blockchain Protocol

Learn more about the blockchain protocol underpinning OpenTrade products.

PreviousPlatform OverviewNextWeb Application

OpenTrade's blockchain protocol is a fork of Perimeter, an open-source blockchain protocol developed by , a division of , to support USDC lending markets and applications. The protocol is largely built on composable, open-source standards, including , , and .

The fork of the Perimeter protocol that OpenTrade runs on is developed and maintained by Open Trade Technology Ltd.

Overview

The protocol can support a wide variety of on-chain structured credit and lending products, including but not limited to:

  • Lending with both real world assets ("RWA") and digital assets

  • Collateralised and uncollateralized loans

  • Single-sided and multi-sided credit markets

  • Primary and secondary credit markets

  • Fixed term loans and open loans

We intend to continue to extend and enhance Perimeter to support an increasingly wide variety of use cases across both RWAs and digital assets.

ERC-4626

is an open-source standard for yield bearing token vaults. It is an extension of ERC-20 token standard. It has been designed to optimise and unify the technical parameters of yield-bearing vaults.

It provides a standard API for tokenised yield-bearing vaults that represent units of a single underlying ERC-20 token. ERC-4626 also outlines an optional extension for tokenised vaults utilising ERC-20, offering basic functionality for depositing, withdrawing tokens and reading balances.

A yield-bearing vault is a smart contract that allows users to deposit different ERC-20 tokens into a pool of tokens in exchange for vTokens (vault tokens). Vault tokens give their holders a claim on underlying asset tokens held by the vault, plus any profits the pool has earned, minus any losses, defaults, and fees.

Vault tokens can be converted to asset tokens, and asset tokens can be converted to vault tokens, with the exchange occurring at a predetermined exchange rate.

Perimeter Implementation

In Perimeter, each ERC-4626 yield bearing vault is known as a liquidity pool. When lenders deposit ERC-20 stablecoin tokens (USDC, EUROC) into the liquidity pool, they are issued ERC-20 tokens called liquidity pool tokens in return. Each liquidity pool token represents a unit of ownership in the vault and its underlying assets, which are principally collateralised and uncollateralized USDC loans and USDC.

Loans are structured and disbursed to borrowers from these vaults. As loans are issued, loan repayments are made, and interest is accrued, the Net Asset Value (NAV) of each vault increases, meaning the value of each vault token increases by a corresponding amount. As defaults occur, the NAV of each vault decreases, meaning each share of the vault decreases by a corresponding amount.

When a lender withdraws from the vault, they exchange their vault tokens for the underlying asset token (USDC) at the current exchange rate.

In Perimeter, the exchange rate of vault tokens / asset tokens is: Net Asset Value (NAV) / Outstanding Pool Tokens, where NAV is equal to (outstandingLoans + interestAccrued) - (Defaults + Fees)

Protocol Roles

Protocol Operator: The protocol operator is responsible for deploying, maintaining, and upgrading the protocol. Open Trade Technology Ltd. serves as the protocol operator.

Key Smart Contracts

Perimeter consists of a suite of smart-contracts deployed on Ethereum and Polygon that support the end to end lending transaction lifecycle. Below are the key smart-contracts the make up the Protocol.

For each OpenTrade product, the specific smart-contract addresses associated with the product will be listed and visible through the web app.

Name
Function(s)

Vault Factory

  • Configure vault parameters (asset type, start/end date, capacity, fees)

  • Create/update loan vaults

Loan Vault

  • EIP-4626 yield bearing vault

  • Accepts USDC/EUROC and issue ERC-20 vault tokens

Loan Factory

  • Configure loan parameters (APY, type, maturity date, etc;

  • Issue/update loans

Loan Object

  • On-chain representation of loans, including their parameters

Borrower Vault

  • Loans are drawn from the Loan Vault to the Borrower Vault

  • An MPC wallet controlled by the Borrower

Fee Vault

  • Fees are automatically sent to the Fee Vault when loans are repaid / rolled over

  • Fees can be withdrawn by the Admin at specfic points in the transaction lifecycle

Access Control

  • List of white-listed addresses & which contracts they can interact with

  • Only white-listed addresses can interact with the protocol

  • Access is checked on every transaction

Withdrawal Controller

  • Responsible for receiving and processing early withdrawal requests and rollover termination notices

USDC Token Contract

  • USDC Token Contracts on Ethereum and Polygon

EUROC Token Contract

  • EUROC Token Contracts on Ethereum and Polygon

Extensions made to the Perimeter by OpenTrade

OpenTrade has forked and extended the Perimeter Protocol to support specific flows utilised by the Treasury Management Product. The most notable changes made by OpenTrade include:

  • Introducing the concept of automatic loan rollover

  • Introducing multiple vault types to support both fixed term and flexible term loans

  • Ability to net inflows and outflows

  • Additional date/time events in the lending lifecycle

  • Advanced accounting functionality to support more efficient off-chain operations

  • Simplifying the exchange rate mechanism to provide more predictability in yield to maturity

These extensions are designed to:

  1. Improve the user experience, ensuring that Lenders who would like to rollover their principal and interest into the next loan cycle can do so automatically and;

  2. Improve efficiency with regards to transaction costs, both on and off-chain, by ensuring that the movement between real-world assets, USD, and USDC is minimized to only the level necessary to process inflows and outflows at maturity and during early withdrawal requests.

  3. Better support operations involving off-chain financial assets like US Treasury Bills with additional date/time events and advanced accounting functionality

The standard is fully described in as published and maintained by Ethereum.org.

OpenTrade refers to liquidity pools as vaults and liquidity pool tokens as vault tokens. In OpenTrade, Vault tokens confer no legal rights or obligations on either the holder or issuer and are used only as a means of automating the accounting, authentication, and settlement process in a way that is interoperable and composable with Web3 tooling and infrastructure. The legal rights and obligations of the parties are governed by the

Pool Admin: Specialised entities that create and manage vaults, source borrowers, and manage liquidity in the protocol. serves as the pool admin for all OpenTrade products.

Borrowers: Entities that receive stablecoin loans from liquidity pools and repay those loans plus interest. Borrowers on the OpenTrade platform are bankruptcy remote SPVs overseen by FCA regulated Five Sigma. Currently the only approved Borrower is .

Lenders: Lenders provide liquidity by depositing tokenised cash (USDC and EUROC) to earn interest. Lenders are KYC’d Web3 institutions, businesses, and HNWI. For more information on who is eligible to become a Lender on OpenTrade, please see .

Loans have that change over the transaction lifecycle

👋
⛓️
Circle Research
Circle
ERC-20
ERC-4626
Verite
ERC-4626
EIP-4626
Master Lending Agreement.
Open Trade Technology Ltd
OpenTrade SPC
Eligibility Requirements
statuses