Kopio Docs
  • ℹ️Kopio Project 101
  • fundamentals
    • CDPs
      • ICDP
        • Deposit
        • Withdraw
        • Burn / Repay
        • Minting / Borrowing
        • Liquidations
      • SCDP
        • Deposits
        • Swaps
        • Liquidations
    • Collateral Assets
    • Kopio Assets
    • ONE
    • Synth Wrap
    • Liquidations
    • Oracles
    • Glossary
    • Litepaper
  • Developers
    • Contracts Overview
    • Liquidations
    • Errors
  • contracts
    • Deployment Addresses
  • Security
    • Audits
Powered by GitBook
On this page
  • Vault
  • Target Price
  • Multiple Deposit Assets
  • ONE Vault
  • ONE Price Oracle
  1. fundamentals

ONE

Stable Valued Kopio Asset

PreviousKopio AssetsNextSynth Wrap

Last updated 9 months ago

This documentation is a work in progress!

ONE exists to allow a capital efficient entrypoint for stablecoins like USDC without the drawbacks of a CDP system such as and . This is similar to of , but it supports multiple assets instead of one.

Vault

It is created through a vault mechanism where one or more external assets are deposited to receive an equal value of vault shares, represented as token balance. The shares can be burned out of circulation to receive an equal value of the deposits in return.

The deposits are pooled together, which means that there is no account level bookkeeping of deposits. Instead, withdrawal and redeem interactions can arbitrarily pick the deposited assets received in return of burning vault shares.

The vault keeps track of the total value of all deposited assets and outputs an exchange rate for a single share. The rate is calculated from the total deposit value divided by total supply of vault shares. This means that deposit or withdrawal interactions do not directly affect the exchange rate since the inflow and outflow of value is always matched by equal value of shares.

The exchange rate R\text{R}R of one vault share V\text{V}V is calculated by dividing the total deposit value with the total supply of shares Ts\text{T}^{s}Ts:

R=VTs\text{R} = \frac{V}{T^{s}}R=TsV​

Target Price

The vault uses a constant target price per share when no shares yet exist. This price is defined with 18 decimal places and the same decimal precision is used for the exchange rate after the initial shares are minted. In the case of ONE this target price would be $1.

Multiple Deposit Assets

If DAI and USDC were the deposit assets in a vault, a share would represent them both:

Initial deposits to a vault with DAI and USDC.

This would expose the vault to two different assets eg. users depositing DAI would lose value if USDC fell in price:

ONE Vault

ONE has its own vault contract, the ONE vault. It only accepts stablecoin deposits, which could be eg. bridged USDC and native USDC, this would mean ONE mirrors USDC.

The vault share itself is a regular ERC-20 token. In the case of ONE it is wrapped into a Kopio Asset compatible smart contract which also integrates with the vault for interoperability purposes.

ONE Price Oracle

Side effect of this design is that the price oracle for ONE is simply the exchange rate of one vault share, meaning 1 ONE vault share = 1 ONE. This is different to similar systems like GHO (Aave, 2022) or DAI where a static $1 is used.

Subsequent withdrawal of shares after USDC price fell.
Initial deposit scenario using $1 target price per share.
USDC price falling to $0.5 has no effect on withdrawal amounts since the vault only consists of USDC deposits.
synth wraps
Kopio Assets
liquidations
overcollateralization