Kimia applies three explicit fees, plus funding (which is not a fee but
conceptually adjacent).
Trading fees
| Fee | Default | Applies to | Sink |
|---|
| Taker | 10 bps (0.10%) | Anyone crossing the spread | market.fee_vault |
| Maker | 5 bps (0.05%) | Resting liquidity filled by a taker | Reserved (see below) |
Computation:
notional=BASE_PRECISIONbase_amount×price,fee=10,000notional×fee_bps
Fees are charged in USDC on the quote side and deducted from
collateral at fill time.
The maker fee in V1 acts as a rebate placeholder. The 5 bps is still
subtracted from the maker’s fill, but the rebate distribution mechanism is
gated behind V2 (pending final governance design). Makers currently pay
effective 5 bps.
Liquidation fee
Charged when a position is force-closed:
| Portion | Share |
|---|
| Liquidator reward | 50% of fee |
| Insurance fund | 50% of fee |
Default fee: 500 bps (5%) of closed notional.
See liquidation for the full flow.
Withdrawal / deposit fees
None. Depositing and withdrawing USDC is free. The only cost is the Solana
network transaction fee (~0.00001 SOL).
Funding is not a fee
Funding payments redistribute value between longs and shorts; they’re not
pocketed by the protocol. If you hold through a funding cycle:
- Long when mark > oracle → you pay
- Short when mark > oracle → you receive
- …and vice versa
There’s also a small structural carry offset of ≈0.02% per hour (longs pay,
shorts receive) that represents cost-of-carry. This is symmetric and does not
flow to the protocol.
See funding rate concept for the formula.
Fee sinks
market.fee_vault, collects all trading fees. Admin-sweepable via a separate
governance-controlled path.
market.insurance_vault, collects half of liquidation fees + forfeited
order margins from liquidated users. This buffer absorbs bad debt before NAV
is impacted.
Example fee calculation
Long 1 SOL at $130 taker:
notional = 1 × 130 = 130 USDC
fee = 130 × 10 / 10_000 = 0.13 USDC
The fee is immediately debited from your collateral upon fill.