Exactly is a new decentralized, non-custodial, and open-source protocol that provides an autonomous interest rate market to lenders and borrowers while setting interest rates based on credit supply and demand, enabling users to frictionlessly exchange the time value of their crypto assets at both variables and fixed interest rates for the first time in DeFi.
Aside from taking loans and making deposits at variable interest rates from a Variable Rate Pool, this protocol enables users to do so at fixed rates through interaction with several Fixed Rate Pools, each representing a specific maturity date. Interest rates are determined based on the credit utilization rate of each Fixed Rate Pool.
With an innovative approach, the protocol allows users to lend and borrow assets at fixed and variable rates in a more efficient way through the implementation of the ERC-4626 and a new interest rate model with a continuous and differentiable (non-linear) function that will set the basis for the development of a fixed income derivative market.
The Exactly value proposition:
- Simplicity: Traders can arbitrage between fixed and variable rates for various periods and hedge the interest rate risk for their long or short positions, with or without leverage.
- Frictionless: Investors and DAOs can receive fixed and variable deposit rates. End-users can take fixed-interest rate loans for more extended periods with certainty.
- Efficiency: Fixed and variable interest rates live in the same protocol with a new approach towards multiple interest rate discovery through the Utilization Rate of each Fixed Rate Pool.
Being an open-source, non-custodial, and autonomous interest rate protocol, Exactly began to decentralize the credit market and complete the DeFi ecosystem.
The Variable Rate Pool contains a single type of asset without an expiration date.
This pool provides liquidity to all the different Fixed Rate Pools as needed to ensure they can still satisfy the demand for new loans when deposits are insufficient to cover the requested amounts. Once a new deposit is made in a Fixed Rate Pool, it will automatically replace the Variable Rate Pool’s original funding, which in turn “leaves” retaining a small fraction of the interest fees as earnings for providing early liquidity in the first place.
There is one Variable Rate Pool and many Fixed Rate Pools for each asset allowed in the protocol.
Users can supply their assets and increase the liquidity of the Variable Rate Pool, which will, in turn, provide liquidity to all the different Fixed Rate Pools as needed. Each deposit will mint an "Exactly Voucher" (exaVoucher) that uses the ERC-4626 standard, which will be provided to the user as a voucher for the deposited amount. These exaVouchers will periodically accrue variable earnings by increasing their value when withdrawing and exchanging back for the underlying assets. Even though the main goal is to solve the problem of fragmented liquidity across different Fixed Rate Pools, it is also noteworthy that the exaVoucher extends on the ERC-20 standard, meaning that it can be exchangeable, adding composability across other protocols.
Therefore, exaVoucher holders have the capability of redeeming and receiving their original assets plus their interests at any time, subject to available liquidity in the Variable Rate Pool.
Yes, they can be transferred. Transferring the exaVouchers would mean transferring the variable deposit position, and this can be done with any amount, not necessarily the whole position. Nevertheless, if the transferred amount causes a shortfall in the original address (Health Factor < 1), the transaction will be reverted.
A Fixed Rate Pool is a pool that has a maturity date (term horizon) containing a single type of asset. Users can supply or borrow assets from these pools once they put their collateral on the Variable Rate Pool. Each new deposit generates an increase in the liquidity for that specific Fixed Rate Pool, reducing its utilization rate and its fixed interest rate for new loans as a consequence.
To borrow an asset in the protocol, you should first deposit any asset in the Variable Rate Pool, enable that asset as collateral in your dashboard, and then you will be able to borrow any asset paying a variable or a fixed interest rate according to your preference.
The Health Factor represents how “safe” your leverage portfolio is, defined as the risk-adjusted proportion of collateral deposited divided by the borrowed risk-adjusted amount. A health factor below 1x will be considered with a shortfall and open to liquidation.
The Health Factor is calculated from the user's collateral balance (in ETH) multiplied by each asset's adjust factor, divided by the user's debt which is also divided by this adjust factor.
Given an ETH adjusted factor of 0.84, a deposit of 100 ETH, and borrow of 50 ETH, the Health Factor will be 1.41:
This is also known as maximum Loan-to-Value.
To calculate the maximum Loan-to-Value (LTV) for a deposit you need to consider the Risk-Adjust Factors of the assets involved in the transaction, both for the deposited asset (collateral) and the borrowed asset. The formula to calculate LTV is as follows:
LTV = Risk-Adjust Factor deposit * Risk-Adjust Factor borrow.
Here's an example: let's say you want to deposit
ETHas collateral and borrow
USDC. In this case, the Risk-Adjust Factors are 0.84 for
ETHand 0.91 for
USDC. To calculate the LTV, you would multiply these factors:
LTV = 0.84 * 0.91 = 0.7644
Next, you should divide the LTV by your desired Health Factor, which represents the safety margin for your loan, with higher values indicating a lower risk of liquidation. In our example, let's assume a Health Factor of 1.05:
Adjusted LTV = LTV / Health Factor = 0.7644 / 1.05 = 0.728
Now, to determine the amount you can borrow, multiply the adjusted LTV by the value of your deposited collateral. If you deposit $10,000 worth of
ETH, you can borrow:
Amount to borrow = Adjusted LTV * Deposit Amount = 0.728 * $10,000 = $7,280
In this example, depositing $10,000 worth of
ETHallows you to borrow $7,280 worth of
USDC, given the Risk-Adjust Factors and a Health Factor of 1.05.
When the price of your collateral changes, your Health Factor changes. The minimum collateralization ratio you need to maintain will vary depending on the asset you're borrowing and the collateral type you use.
During liquidation, a liquidator purchases a portion of a user's collateral at a discount to the on-chain oracle price and repays some of the liquidated user's debt.
The liquidator can purchase some part of the user's collateral depending on the Dynamic Close Factor, even if the user is only slightly undercollateralized.
To return the borrower's account to solvency as fast as possible and involving as few liquidations as possible, the protocol has a Dynamic Close Factor (based on the user’s degree of insolvency) that is the proportion of outstanding borrows that must be repaid to return a user to a solvency situation.
You can exit your fixed deposit or repay your fixed loan at any time, subject to the liquidity of the protocol that will determine the correspondent market interest rate for discounting the present value of your deposit or your loan.
The collateral ratio you choose determines the likelihood that your collateral gets liquidated. The lower your collateral ratio, the greater your risk of liquidation. Choosing the right collateral ratio depends on how much risk you want to take and how actively you plan to manage your positions.
Liquidity providers receive earnings from four different sources:
Incentives 2, 3, and 4 are extraordinary events and generate earnings that are gradually distributed to Variable Rate Pool depositors.
"Bridging" is the process of transferring tokens from Ethereum (Mainnet) to Optimism. This allows users to take advantage of faster and cheaper transactions on this network, which is a layer 2 scaling solution.
Here's an outline of how to bridge assets:
- 1.Choose a bridge service that supports Optimism. Some popular bridges include the following:
- 2.Connect your Ethereum wallet (e.g., MetaMask) to the web3-enabled application. Ensure you have some ether (ETH) in your wallet for transaction fees.
- 3.Choose the token you want to bridge from Ethereum to Optimism, such as ETH, or an ERC-20 token like DAI, and specify the amount you want to transfer.
- 4.Review the transaction details, including any fees associated with the bridge. Confirm the transaction in your wallet, and the bridge will initiate the transfer.
- 5.The transfer may take some time to complete depending on the bridge and network conditions. Once the transaction is confirmed on Ethereum and Optimism, your assets will be available.
- 6.To interact with your assets on Optimism, you'll need to switch your wallet's network to Optimistic Ethereum. In MetaMask, you can add the Optimism network by following these steps:
- Click on the network dropdown at the top of MetaMask.
- Select "Custom RPC."
- Enter the following network details:
- Network Name: Optimistic Ethereum
- Chain ID: 10
- Currency Symbol: ETH
- Save the new network.
You can now interact with your bridged assets on Optimism using web3-enabled applications that support Optimism, including our own app. Remember to switch back to Mainnet when you need to interact with assets or applications on the main Ethereum network.
We have a forum on Discord where you can share and discuss your thoughts with the Exactly community.
- Variable Interest Rate: It's a rational function that depends on the Utilization Rate of the Variable Rate Pool in every block.
- We display on Markets (Simple or Advanced View) the interest rate from the current utilization rate of the Variable Rate Pool.
- Then, when entering the amount (Simple View or Modal), we show the new variable interest rate based on how the pool's utilization has changed, given the input.
- Fixed Interest Rates: It's also a rational function but depends on the Utilization Rate of the specific Fixed Rate Pool after the amount borrowed.
- We display by default on Markets (Advanced View) the best-fixed rate for a marginal change in the fixed rate pool's utilization rate.
- Then, when entering the specific amount (Simple View or modal window in the Advanced View), we calculate the average value of the integral of the rational function taking into account the change in the utilization after the amount borrowed, to get the specific fixed interest rate that the user will have to pay until the pool's maturity.
- Variable Interest Rate: It's the change in the value of the shares of the Variable Rate Pool, based on its different revenue sources: variable rate interest fees + fixed-rate interest fees and commissions, + liquidation fee to compensate for bad debt.
- We display on Markets by default (Simple View and Advanced View) the annual rate that arises from the change in the value of Variable Rate Pool shares during the last 15 minutes.
- Then, when entering the specific amount (Simple View or modal window in the Advances View), we show the new interest rate based on how the utilization has changed, given the input.
- Fixed Interest Rates: The user will get an annual rate based on his deposit amount and the current fixed interest rate fees from borrows that the Fixed Rate Pool will collect until maturity.
- We display on Markets the best-fixed rate (Advanced View) for a marginal change in utilization in the Fixed Rate Pools or just the current marginal utilization for each Fixed Rate Pool (Simple View)
- Then, when entering the amount (Simple View or modal window in the Advance View), we calculate the specific fixed interest rate based on his deposit amount and the current fixed interest rate fees from borrows that the Fixed Rate Pool will collect until maturity.
Exactly Protocol does not currently have a governance token.
There is no public sale.
No, testnet is to preview upcoming features and for users to learn about the protocol without any Mainnet gas fees.
No, that is fake. No one related to Exactly Protocol will ever message anyone directly nor offer free tokens or investments.
The Variable Supply Rate cannot be read on-chain as it is an average of the earnings that the pool has generated over the last 15 minutes. These earnings come from different sources of income, such as:
- Debt charged to variable borrowers.
The Variable Borrow Rate can be queried on-chain through the following steps:
- 1.Head to the Market's
floatingDebtview functions and query both values (i.e. MarketUSDC).
- 3.For the
utilizationargument, enter the division between
floatingDebt(the result of this division needs to be then multiplied by
- 4.Query the
floatingRatefunction with the just calculated value. The result will be the current rate, represented with