Kona Admin

The Kona Admin is in charge of granting and revoking roles. Most of the smart contracts use roles to define who can call the different administrative functions and the Kona Admin is the wallet that manages who is assigned to those roles. In the future, roles will be granted only to the governance contract and the Kona Admin will revoke its permission to manage roles.

Pool Manager

Pool Managers are wallets that can call the administrative functions of the PoolManager contract to define which Pools belong to the protocol. Once a Pool has been enabled, Oracles can join it.

Oracle Manager

Oracles Managers are wallet that can call the administrative functions of the OracleManager contract to define which Oracles belong to the protocol. Once an Oracle has been enabled, they can join Pools.

Emergency Wallet

The Emergency wallet has the power to stop the cycle from moving forward and also prohibit withdrawals and deposits. At the same time it can get the money from the pool to then later redistribute it to the original owners in case of an emergency

Liquidity Provider

Liquidity Providers (LPs) add capital to the Pools to be used to fund Loans. LPs are passive investors that want to earn yield on their capital by allowing the Pool Manager to fund Borrower's Loans and earn interest. LPs earn interest by holding LP tokens representing their share in one of the Pools, which appreciates in value over time as interest is earned.

Oracle Admin

Once an Oracle has been deployed, it will be managed by an Admin, which is a wallet that can create other Admins and also grant the Manager role to any wallet. Managers can call administrative functions in the smart contract to create a loan, request funding, commit the stand by capital and approve a new loan (so it can be funded).


Stakers are users that hold KonaTokens and put them in escrow in the Staking contract. Each token staked can be used as a vote inside each of the Pools. Each Pool acts like a separate universe where you can apply your full voting power.


Borrowers are institutions that want to borrow capital from the Kona Protocol. They do so by choosing an Oracle from one of the Pools and negotiating with one of its Managers, who deploy a Loan on-chain. Depending on the type of loan, different collateralization conditions are required and this is done off-chain, for example locking borrower's receivables. After this, the Manager deploys a Loan on-chain and requests funding from the corresponding Pool. The loan then commences (funds are immediately transferred to the Borrower) and he begins making payments as per the agreed terms of the Loan.