Curio Multiple Protocol

Allow your Curio ecosystem tokens (CSC, CUR, CURV) to bring you passive income, as well as get a loan for any of your needs.

Introduction

The Curio Multiple is built on the Ethereum network and begins money markets, which are usually groups of assets with interest rates that are gotten with algorithms based on the asset’s supply and demand. Those who supply the assets usually communicate with the Protocol directly and earn a certain interest rate without a need to negotiate different aspects like when it matures or the interest percentage.

Each of these money markets is distinctive to an Ethereum asset and usually comes with a clear ledger that could be investigated by the public; this ledger contains the complete record of interest rates and transactions made in the past.

Lenders

In contrast to an exchange or other P2P channels where the asset of one user is paired and lent to other users, the Multiple Protocol collects the total supply of a user; this allows assets supplied by such user to become an exchangeable asset. This process provides more liquidity than P2P lending, except that every asset is lent; users don’t need to wait for a loan to finally mature before they can take out their assets. Assets available to users to make use of are Curio Stablecoin (CSC), CURV, and even CUR tokens. The assets which are provided in the market are characterized by a token balance that gives allows the user to have a growing quantity of an asset as the money market gathers interest, which is one of the features of a lending demand. mTokens (the ERC-20 token balance) is changed to the growing amount of the asset. The interest is usually shown by the mToken’s growing price in relation to the asset. Based on economic theory, mToken costs should grow in relation to the demand. When means when demand is high, the price also surges and when it is low, it decreases. Earning interests is simplified by simply owning a mToken in this method.

Borrowers

Since the goal of Multiple is to ensure there are no risks on both sides, those lending needs to provide security in order to borrow from Multiple. Keeping surplus security helps to make sure there are no risks of a borrower not paying back. Each slot held by a borrower's needs surplus security, and this is only possible by depositing something more valuable than what is being lent. Since the value of deposited assets is unpredictable, it could fall below the value, which would cause the smart contract to liquidate. In cases like this, the borrower losses their deposit but is allowed to retain the lent funds. To get your initial deposit returned, there is a need to pay back the lent fund, including the interest, which is just as unstable.

Controller

This is a layer in the Protocol that helps manage risk; it calculates the amount of security a user needs and whether the user can be liquidated. Every time a user wants to carry out a transaction with a mToken, the controller accepts or cancels the request. The controller charts out the user’s balances in relation to price and risks to make decisions.

Oracle

To make decisions about risk and prices, the controller of the Multiple Protocol needs live information about prices in the market of the securities kept in the vault. To do this, it makes use of the Curio Chainlink Oracle, which utilizes unique APIs to discover and then send live data about asset’s worth to the Protocol. For security reasons, the price changes are restricted to about 10% every passing hour, except a manual confirmation is offered by another address that is not on the network.

Governance

The Protocol is handled by a decentralized group of people in possession of the CGT token-holders as well as delegates from the holders. These community recommends and then votes on changes to be made to the Protocol. Users can get tokens on exchanges, and any address holding over a hundred thousand CGT token is allowed to recommend authorized actions, which are codes that be executed. When proposals are formed, users can cast votes with three days, and the proposal with the bulk of the votes is entered into the Timelock contract and then activated after a couple of days.

Actors

Lenders - users, who lend assets to the vault

Borrowers - users, who borrow assets from the vault

Vault - “liquidity pool”, from which borrowers can borrow assets

Oracle - API, that gives real-time price of asset

Holders - holders of CGT (Curio Governance Token)

Gov - system, that allows holders to change protocol parameters

Controller - smart contract, what allows to borrow or lend assets and allow a user action to proceed

Lending

Lenders - Controller - user lend asset to the Controller/user return mTokens

Controller - Oracle - oracle give real-time price of asset to the Controller

Controller - Collators - request processing

Collators - Validators - transmission of block for finalization

Validators - Collator - Controller - confirmation of the transaction

Controller - Vault - transmission of asset to the vault

Vault - Controller - transmission of mTokens/asset to Controller

Controller - Lenders - transmission of mTokens/asset to user

Borrowing

Borrowers - Controller - user lend collateral to the Controller/user return borrowed asset and interest

Controller - Oracle - oracle give real-time price of asset to the Controller

Controller - Collators - request processing

Collators - Validators - transmission of block for finalization

Validators - Collator - Controller - confirmation of the transaction

Controller - Vault - transmission of asset to the vault

Vault - Controller - transmission of mTokens/asset to Controller

Controller - Borrowers - transmission of borrowed assets/collateral to user

Governance

Holders - Gov - interaction with the governance, transmission of new protocol parameters

Gov - Controller - setting new system parameters

Curio Chainlink

Controller - Curio Chainlink Token - creating a request

Curio Chainlink Token - Curio Chainlink Oracle - preparing to transfer a request perform settlement

Curio Chainlink Oracle - Volta Remote RPC - Curio Chainlink Node - transferring a request and processing it

Curio Chainlink Node - Volta Remote RPC - Chainlink Oracle - returning request with answer

Curio Chainlink Oracle - Controller - returning request with answer to the client