Smart Contract Architecture
An Overview of the Technical Components of the KUMA Protocol
The following components comprise the KUMA protocol:
- Mimo Capital AG (MCAG) - The centralized entity that holds the physical bonds represented by KUMA NFTs is MCAG. MCAG mints new KUMA NFTs every time a user buys a claim to the physical bonds off-chain. Users are able to trade and sell the tokenized versions of the bonds, but the physical bonds are always held solely by MCAG. Additionally, MCAG maintains the central bank oracle and a multisig with a manager role in the MCAG access controller to manage centralized aspects of the system.
- KUMA Bonds NFTs - ERC-721 NFTs that represent ownership of a physical bond. The NFT holder can redeem the NFT off-chain from MCAG for the market-rate bond value at any point.
- KUMA Interest Bearing Bond Tokens (KIBT) - Rebase ERC-20 tokens that represent a share of all bonds backed by the protocol. These tokens automatically accrue interest for token holders, meaning that users' balances will increase over time just by holding the token in their address. This allows users to interact with a more liquid and divisible form of bonds while still earning real-time interest on their tokens. KIBT are backed by the bonds held in the KUMA Swap Contract (see next point). Each risk class has its own KIBT.
- KUMA Swap Contract - The
KUMASwapcontract for a risk class holds all KUMA NFTs that back the KIBT for the risk class. Users can sell and buy bonds from this contract by burning or minting KIBT. Each risk class has its own Interest Bearing Swap Contract.
- Central Bank Oracle - Informs the protocol of the central bank rates for newly issued bonds. The central bank rate is used to keep the protocol competitive and avoid an excessively high KIBT rate. There is one oracle for each risk class, since different risk classes have different interest rates.
- Rate Feed - The
Rate Feedcontract reads rates from the central bank oracles. Unlike oracles, of which there is one oracle per risk category, there is only one RateFeed for the whole protocol, and the risk category is passed in as an argument for fetching data.
- Keepers - Keepers monitor the
KUMASwapcontracts to keep the
KIBTyield up-to-date. Keepers are incentivized through the
- KUMA DAO Access Controller - The Access Controller for the decentralized contracts of the KUMA protocol.
- MCAG Access Controller - The Access Controller used to enforce centralized MCAG access.