Buyback and burn
How 20% of KIMP protocol fees are swapped for $KIMP on a GIWA DEX by a permissionless, rate-limited, price-guarded execute() and burned.
20% of all base trading fees are used to buy $KIMP on the open market and burn it. The process is run by KimpBuyback, a non-upgradeable contract with no owner-controlled withdrawal path. Anyone can trigger it. No one can redirect the funds.
Flow#
- 1
KimpMarketcollects a base fee on open, close or settlement. - 220% of that fee is transferred to
KimpBuyback, in the asset it was paid in: ETH or USDC. - 3Balances accumulate in the contract.
- 4Anyone calls
execute(). The contract swaps its balance for $KIMP on an on-chain GIWA DEX. - 5The contract calls
burn()on the $KIMP it received. Total supply decreases by that amount.
Each execution emits an event with the input amounts, the $KIMP bought, the reference TWAP and the amount burned, so every burn can be audited on the explorer.
Guards#
| Guard | Rule |
|---|---|
| Frequency | At most one successful execute() per 24 hours |
| Price | Execution price may deviate from the DEX TWAP by at most 1% |
| Caller | Permissionless |
| Destination | Burn only. The contract has no transfer function for $KIMP |
| Upgradeability | None |
The 24-hour limit spreads buying over time and keeps a single large order from moving the market. The TWAP guard makes the swap revert if the spot price has been pushed more than 1% away from the time-weighted average, which removes the profit from sandwiching or manipulating the pool just before a call.
Price guard#
twapPrice = time-weighted average $KIMP price from the DEX poolminKimpOut = inputValue / twapPrice × (1 - 0.01)execute() reverts if kimpReceived < minKimpOutWorked example, in abstract units. Suppose the accumulated balance would buy 10,000 $KIMP at the TWAP. With the 1% guard, minKimpOut is 10,000 × 0.99 = 9,900 $KIMP. If the swap returns less than 9,900, it reverts and the fees stay in the contract for a later call. The figures illustrate the rule only. They say nothing about any $KIMP price.
Failed executions#
A reverted call does not start the 24-hour window. The balance rolls over and the next caller can try again. If DEX liquidity is too thin for the full balance to clear inside the 1% guard, each execution swaps at most a per-call input limit set by governance, and the remainder waits for the next window.
Before $KIMP trades#
$KIMP has not launched. Until $KIMP has liquidity on a GIWA DEX, fees routed to KimpBuyback accumulate and are not swapped. The first execution can only happen after the fair launch and after a DEX pool with sufficient TWAP history exists.
Governable parameters#
| Parameter | Launch value | Change process |
|---|---|---|
| Fee share to buyback | 20% | Governance, 48-hour timelock |
| Minimum interval | 24 hours | Governance, 48-hour timelock, cannot go below 24 hours |
| Maximum TWAP deviation | 1% | Governance, 48-hour timelock, cannot exceed 1% |
| Per-call input limit | Set at deployment | Governance, 48-hour timelock |
| DEX pool and TWAP window | Set at deployment | Governance, 48-hour timelock |
Supply effect#
Burns reduce total supply permanently. Half of every dispute slash, and every automatic reporter slash, is also burned. See Dispute rules. There is no mint function, so supply can only fall over time from 1,000,000,000. The size of burns depends entirely on protocol fee volume, which is not guaranteed. See Distribution.