Kelza Markets will enable Gnosis Pay card users to hold yield bearing assets in their Safe. Kelza achieves this through market making operations. Providing trust between the PP and Gnosis that a quote will remain valid by the time a transaction settles on-chain.
This project aims at unlocking the full DeFi potential for day-to-day payments. It will enable Gnosis card holders to hold yield bearing assets on their Safe. This is in not possible in as-is situation as the payment network provider (PP) should be able to lock a quote for the time a transaction settles on-chain. That is where Kelza Markets come into play, by acting as a Market Maker during the time needed for the PP to ensure they will be able to access the funds.
Kelza introduces a Credit Module and a Vault which will act as creditors for the Safe. Their role is to pay the merchant in advance with liquidity hold in the Vault if the right conditions are met. We'll go into further details in "How it's made".
In order to illustrate with some examples, let's take the case of a user willing to hold SDAI on their SAFE and pay in EURe.
=> Kelza Vault This vault will hold a balance of EURe. At start it will have a minimum capital requirement, that he should not fall below (or at least not for an extended period of time). It is basically responsible to ensure that there is enough EURe liquidity to pay the PP at a certain quote. This works through a flashCredit to the Credit Module which is transferred optimistically, expecting (in most conditions) a higher amount of EURe in return. This Vault also performs yield generating strategies (like lending on Aave) for excess capital (above minimum capital requirement). In case the EURe in the vault falls below the minimum capital requirement, the vault should withdraw available funds in strategies in order to meet it's capital requirement.
=> Kelza CreditModule The role of the Credit Module is
When a payment request is initiated by the PP on CreditModule the following will be triggered: -flashCredit() to Vault (Vault transfers requested amount of EURe) -transfer() of that amount to the PP (or merchant) -transferFrom() to transfer SDAI + fee from the Safe to the CreditModule at quote returned from canSafePay() -swap() on Balancer for SDAI + fee to EURe, which is then transfered to vault (and not deposited, this should be a donation to the vault, no new shares should be minted)
This swap is quite basic and could be improved (with private transaction for example). We're aware that a limitation is also linked to the liquidity of SDAI/EUR, but if volumes come through the CreditModule this should benefit the pool with arbitrageurs ans LP's playing their role. Other type of swaps or routes could also be configured.
Kelza plans to unlock the full potential of yield bearing assets for day-today financial needs through those operations.