logo

baki

baki

Infinite Liquidity FX Exchange for African Currencies

Description

Baki is an Infinite-liquidity FX protocol allowing for slippage free swaps between African currencies. The protocol allows users to deposit stable coins and mint overcollateralized, synthetic assets, called zTokens, that are pegged to African currencies, creating the first on-chain implementation of African stable coins. Any zToken can be burnt t...

Focus Area

Additional Details

Mint
To mint zTokens, the user must deposit USDC as collateral.

The user can then select how much zUSD they wish to mint. The user can input any value of zUSD capped by a minimum collateralization ratio of 150.00%.

If a user wants to deposit collateral without minting any zUSD they can simply leave the mint input box at 0.0. Similarly, if they would like to mint zUSD without depositing any collateral they can leave the deposit input box at 0.0, provided that the user has sufficient headroom in their collateralization ratio to mint additional zUSD.

Swap

To swap between zToken currencies the user need to navigate to the swap page and select the input currency and select the output currency they would like to receive. The output amount will automatically be quoted in the output box.

Swapping Logic

When a swap is triggered, the input zToken is burnt and the output zToken is minted. This allows for infinite liquidity between the supported currencies. As long as a unit of a zToken exists, it can be swapped for another zToken currency.

Pricing

All swaps between zTokens occur at the price provided by the Baki oracle. This allows Baki to offer central bank rates rather than the parallel rates. This helps create an alternative market allowing users to enter and exit USD positions at the best rate.

Fees

Every trade will incur a 0.80% trading fees that are split between 50.00% to minters, 25.00% to $CNZA token stakers (coming soon), and 25.00% to the development wallet.

Burn

To manage their collateralization ratio, users might want to burn zUSD to reduce their outstanding debt and improve their collateralization ratio or allow them to withdraw collateral.

To burn zUSD a user needs to navigate to the Repay tab on the Mint page. The user can then input the amount of zUSD they wish to burn. This will decrease a users outstanding debt, thus increasing their collateralization ratio.

If a user wishes to burn zUSD without withdrawing any collateral, they have to keep the input box for collateral to withdraw at 0.0.

Withdraw

If there is sufficient headroom above the minimum collateralization threshold, the user can also withdraw collateral. To fully remove all collateral a user must repay their entire debt position.

To withdraw without burning any tokens the user can keep the burn zUSD input box to 0.0.

Rewards

Every trade will incur a 0.80% trading fee that is split between 50.00% to minters, 25.00% to $CNZA token stakers (coming soon), and 25.00% to the development wallet. For the minters, their share will be used to repay their debt automatically.

Additionally, Baki provides an implicit short on African currencies. As African currencies devalue the minter's debt will reduce, increasing the minter's collateralization ratio and allowing for additional zUSD to be minted.

Minters can click the 'Claim Cash Back' button on the Mint page to mint the zUSD they have earned through trading fees and the devaluation of currencies.

Liquidation

If a users position drops below the minimum collateralization threshold, then this position can be liquidated. The liquidator will pay the outstanding debt in zUSD. In exchange, the liquidator will receive the collateral plus the liquidation fee, up to 10.00%.

The remaining balance of collateral will remain available to the minter to mint additional zUSD against or withdraw their collateral.

To avoid liquidations users need to keep their position above 150.00%. If the collateral value decreases, or the debt value increases, the liquidation ratio will decrease. The user will need to either add additional collateral, or repay debt to increase the collateralization ratio.

This feature will be bot driven and can only be triggered from the contract. Future iterations will allow for an asynchronous liquidation auction that will allow for much more capital efficient liquidations.

Debt

Global Debt

Minting zTokens will cause the protocol's users to incur debt. Each user will owe a share of the Global Debt. This is quoted in US Dollars, and is derived by the sum product of the circulating supply of each zTokens multiplied by the exchange rate used by the protocol.

The value of the debt can fluctuate depending on the FX rates reducing if currencies weaken against the dollar and increasing when they strengthen. The collateralization rate above 100% allows for a buffer, ensuring that all zTokens remain pegged.

For example, assume the exchange rates are 400 Naira per USD, 600 CFA per USD, and 15 ZAR per USD and the circulating supplies are 50,000 zUSD, 100,000,000 zNGN, 6,000,000 zCFA, 1,500,000 zZAR.

The global debt would be calculated as: 50,000 + 100,000,000 / 400 + 6,000,000 / 600 + 1,500,000 / 15 = $410,000

If the exchange rate of Naira to USD increases to 800 Naira per USD the global debt would change to $285,000.

User Debt

The global debt will be apportioned to each user based on the Net Mint Ratio to calculate the user debt. The user debt will be used in subsequent collateralization calculations to determine if a position is collateralized. Users will have to manage their own collateralization ratio to ensure that their position is not liquidated.

Net Mint Ratio

The Net Mint Ratio will determine the allocation of the global debt to each user. This will be adjusted every time the user mints or burns zUSD, to reflect the user's apportionment of the global debt.

Each time a user mints zUSD, the Net Mint increases by the amount minted multiplied by the Net Mint global divided by the Global Debt, ensuring that the additional debt the user and the protocol incurs is equal to the additional zUSD minted.

Each time the user burns (i.e. redeems) zUSD their Net Mint is reduced based on a percentage of the outstanding debt they are burning.

Collateralization Ratio

The collateralization ratio shows the relationship between the collateral deposited and outstanding debt for each user. This is calculated as the deposited collateral divided by the outstanding debt.

Increasing the Collateralization Ratio

If a user's collateralization needs to be increased, they can either add collateral or burn zUSD to increase their ratio. A user needs to remain mindful to keep their collateralization ratio above the minimum threshold of 150.00% to avoid liquidation.

Decreasing the Collateralization Ratio

If a user has a collateralization above 150.00%, they have the option to decrease it to the minimum threshold. The user has the choice to either mint more zUSD or remove collateral from the protocol.

Contact Info
message icon