⛓️Blockchain Protocol
Learn more about the blockchain protocol underpinning OpenTrade products.
OpenTrade's blockchain protocol is a fork of Perimeter, an open-source blockchain protocol developed by Circle Research, a division of Circle, to support USDC lending markets and applications. The protocol is largely built on composable, open-source standards, including ERC-20, ERC-4626, and Verite.
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
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.
The standard is fully described in EIP-4626 as published and maintained by Ethereum.org.
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.
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 Master Lending Agreement.
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.
Pool Admin: Specialised entities that create and manage vaults, source borrowers, and manage liquidity in the protocol. Open Trade Technology Ltd 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 OpenTrade SPC.
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 Eligibility Requirements.
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.
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
Loans have statuses that change over the transaction lifecycle
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:
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;
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.
Better support operations involving off-chain financial assets like US Treasury Bills with additional date/time events and advanced accounting functionality
Last updated