Smart Contract Architecture
Last updated
Last updated
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 KUMASwap
contract 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 Feed
contract 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 KIBT
and KUMASwap
contracts to keep the KIBT
yield up-to-date. Keepers are incentivized through the KUMAKeeper
contract
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.