LP token
kLP, the Kimp Pool liquidity token. Pricing against NAV, deposits in ETH or USDC, instant and queued withdrawals, and a worked example.
kLP is the ERC-20 token issued by the Kimp Pool. It represents a pro-rata share of the pool's net asset value. kLP is freely transferable. It carries no governance rights and no claim beyond its share of NAV.
Price#
kLP price = NAV / kLP supplyNAV is defined in Mechanics. The first deposit into an empty pool mints kLP at 1.00 USD per kLP. After that, every mint and burn happens at the current kLP price, so deposits and withdrawals never dilute existing holders.
The kLP price moves with three things: fees accrued to the pool, the pool's side of net trader P&L, and the USD value of ETH held by the pool.
Deposits#
Deposits are accepted in ETH or bridged USDC. The deposited amount is valued in USD at deposit time and kLP is minted at the current price.
| Parameter | Value |
|---|---|
| Accepted assets | ETH, bridged USDC (GIWA KRW stablecoin once available) |
| Deposit fee | None |
| Minimum deposit | None at the protocol level |
| Mint price | Current kLP price |
Worked example. The pool holds a NAV of 1,000,000 USD with a supply of 950,000 kLP. The kLP price is 1,000,000 / 950,000 = 1.0526 USD. A deposit of 10,000 USD mints 10,000 × 950,000 / 1,000,000 = 9,500 kLP. After the deposit, NAV is 1,010,000 USD, supply is 959,500 kLP, and the price is unchanged at 1.0526 USD.
Withdrawals#
Withdrawals burn kLP and pay out ETH or USDC at the current kLP price. There is no withdrawal fee. The path depends on pool utilization.
utilization = total open interest across all assets / NAV| Condition | Path |
|---|---|
| Utilization after the withdrawal is at most 80% | Instant, via withdraw |
| Utilization after the withdrawal would exceed 80% | Queued, via requestWithdraw |
A queued request locks the kLP in the pool contract. It is processed at the next weekly settlement, Friday 08:00 UTC, after all series have settled and before the next series lists. At that point open interest is zero, unless a series is extended by an Upbit halt, in which case requests are processed when it settles. Queued requests are paid in full at the post-settlement kLP price. Locked kLP keeps earning and losing with the pool until it is processed.
A queued request can be cancelled at any time before processing. The kLP is returned to the holder.
Payout asset#
A withdrawer chooses ETH or USDC. If the pool does not hold enough of the chosen asset, the request reverts on the instant path, or is paid in the other asset at the same USD value on the queued path. ETH payouts are valued at the finalized global ETH/USD median from the ETH Kimp Index at execution.
Contract calls#
function deposit(address asset, uint256 amount, uint256 minKlpOut) external payable returns (uint256 klpOut);function withdraw(uint256 klpIn, address assetOut, uint256 minAmountOut) external returns (uint256 amountOut);function requestWithdraw(uint256 klpIn, address assetOut) external returns (uint256 requestId);function nav() external view returns (uint256 navUsd);The full interface is in Interfaces. All amounts in USD use 18 decimals.