Simulation of Kima's Liquidity Management
Last updated
Last updated
The purpose of running the simulations is to test the system’s behavior and benchmark its performance and business KPIs. For the purpose of simulation, the Kima team researched existing activity on various cross-chain bridges to characterize the demand for cross-chain transfers.
The team identified the distributions that best describe the pools' historical data, comparing various distribution types. The log-normal distribution has proven to be the best fit for historical data distributions.
The following scatter plot shows the estimated log-normal distribution parameters (scale and shape) for transfers of several assets on the three networks - Ethereum, Polygon, and Optimism.
Each dot in the chart represents a pool (USDT, USDC, WETH, etc.), with corresponding scale and shape values that describe the pool’s distribution. As can be seen, Ethereum pools tend to have higher scale values since transfers tend to be bigger, which can be understood as a consequence of high gas fees making small transfers uneconomical.
The following describes a benchmark simulation that uses simulated data based on the estimated log-normal distributions. In this simulation, there is one asset that can be transferred across three networks. There are three pools in this simulation, one for each network (A, B, and C). We generate random transactions for AB, BA, AC, CA, BC, and CB. Transactions are generated from a log-normal distribution with the chosen scale and shape parameters.
In the following chart, the scale and shape parameters were chosen to represent current market demand (left-hand side of the scatter plot presented above).
The X axis is simulation time.
The Y axis shows pool balances A, B, and C as different colors and the pools’ corresponding K1 - the lower threshold for liquidity for each pool.
We see that pools reach below K1, up to the Maximum Fee Limit set by users, and tend to recover above K1 because of the incentive structure. Whenever pool liquidity falls below K1, the pool charges penalties, followed by paying bounties.
Based on a given transfer demand, characterized as a distribution with scale and shape parameters, we analyze how liquidity provision impacts the system performance and the expected return for LPs.
In this simulation, the liquidity in the system is set at the start. We ran multiple simulations with higher initial liquidity, keeping the demand (transaction distributions) the same across simulations.
The LPs in this simulation are passive. They provide the initial liquidity and enjoy the fee income. More liquidity in the system increases the quality of service for users: fewer transactions are rejected due to lack of liquidity or high penalties. At the same time, increasing the liquidity while keeping the demand constant may have a dilution effect, which decreases the return for the LPs - as the rewards are distributed to more LPs.
The following charts show the impact of increasing liquidity (X-axis) and the liquidity provider’s return - APR% (left Y-axis), and transfer quality of service as measured by rejection rate (right Y-axis).
The return is calculated as the LP fee income divided by the liquidity provided and normalized to yearly terms.
The results of the simulations confirm the expected system behavior:
Low liquidity level (X-axis) relative to the demand results in a high rejection rate (right Y-axis)
Increasing liquidity decreases the rejection rate and improves the quality of service
By increasing liquidity, LPs increase the Quality of Service at the cost of return (the dilution effect), but can still enjoy lucrative 2-figure returns
The red circle in the chart above corresponds to (roughly) 10:1 capital efficiency, which generates a return of ~90%. This level of liquidity (2.2 times the average hourly volume) maintains a 97% quality of service level (3% rejection rate).
The above simulation does not yet account for additional mechanisms to improve the system’s efficiency. Specifically, meeting higher QoS and higher returns with less liquidity. This can be achieved by incentivizing Active Liquidity Providers to move liquidity to where it is most needed.