The wallet signs the ceiling of every charge before anything trades. Kairos can charge less than the signed ceiling, never more.
Your fee schedule
Kairos sets up your schedule with you. There is no self-serve API: tell your Kairos contact what you want. A schedule is a list of bands. Each band gives a maker rate and a taker rate:Rate shapes
A rate is in whole basis points, from0 to 1000 (10%). Pick a shape per side:
- Flat
- Curve
- Parabolic
The same rate at every price.
Bands
A schedule has 1–16 bands. The first starts at0 / 0. Each later band raises minNotionalUsd, minVolume30dUsd, or both, and never lowers either. For each trade, the highest band whose two thresholds the trade meets applies:
minNotionalUsdis compared with the trade’s notional (its collateral amount, in USD).minVolume30dUsdis compared with the user’s rolling 30-day trading volume on Kairos.
Scope
You can have one schedule for every venue, plus one per venue (Polymarket, Predict.fun). Kairos can also give a single user their own schedule, optionally with an end date. The most specific active schedule wins: a user’s own over yours, and a venue’s over the all-venue one.Limits
- Combined ceiling: 10%. Kairos’s highest possible rate plus your highest possible rate must be 1000 bps or less. A plan over it is refused with
422 the combined Kairos and partner fee exceeds the 10% platform ceiling. - No per-order flat fees, minimum or maximum charges, or rebates.
- Hyperliquid trades never carry a partner fee.
- Changing your schedule affects new plans only. A prepared plan keeps the terms the wallet signed.
What the wallet signs
When you prepare a trade plan, the plan’stradeBudget pins the fee terms. The planHash the wallet signs covers them. Illustrative values for a $52 Polymarket buy:
Show these to the user before the wallet signs. Amounts ending in
Raw are integers in the token’s base units (decimals: 6 for pUSD and USDC, 18 for BNB Chain USDT).
How a fill is charged
For each fill:- Fees are on notional (what the shares cost), not on the number of shares.
- If the wallet’s Kairos tier improves after signing, it pays less. If it gets worse, Kairos still charges no more than it signed for.
- Each fill’s fee is rounded to $0.000001.
- If a fill would go past the plan’s signed budget, the charge is clipped. Your share is cut first.
maxPlatformFeeBps: 75, your flat taker rate of 25 bps, and Kairos’s current rate of 50 bps. A taker fill of 100 shares at 0.52 has a notional of $52. Kairos charges 50 bps ($0.26) and you charge 25 bps ($0.13), for $0.39 in total.
How fees are collected
Kairos never takes a fee out of an order, and holds no allowance on the wallet. Fees add up as a balance the wallet owes, per venue. When the balance reaches your settlement threshold (default $10, up to $10,000; ask Kairos to change it), the wallet must pay it before its next trade plan:With the SDK
Over HTTP
1
Read what the wallet owes
owedRaw can be negative: the wallet overpaid, and the credit counts against later fees.2
Open a settlement
venue is polymarket or predictfun. The other calls below take the same headers.It freezes the whole current balance into amountRaw, and answers with what the wallet must do in walletRequest. If a settlement is already open for this wallet, you get that one back. 409 this wallet has no unpaid fees means there’s nothing to pay.3
Sign or send
- Polymarket (
kind: "signature"): passwalletRequest.requestto the wallet. TheBatchholds one call:pUSD.transfer(treasury, amountRaw)from the trading wallet. Sign within 30 minutes (expiresAt). - Predict.fun (
kind: "transaction"): the request is aneth_sendTransactionofUSDT.transfer(treasury, amountRaw)on BNB Chain. Send it exactly as given, as its own transaction. There’s no deadline:expiresAtisnull.
4
Answer
submitted.5
Poll until it's final
status is confirmed, failed or expired. Kairos credits a payment only once its block is final, which can take a few minutes. Until a read sees it confirmed, new trade plans still answer FEE_SETTLEMENT_REQUIRED.Settlement states
A Predict.fun payment whose hash was reported but only lands after its settlement expired is still credited, if it lands within 7 days.
Settlement errors
Reads (
GET /v3/fees, GET …/settlements/{id}) need trade:read when you use an API key. Writes need trade:execute. With a partner id, send the wallet’s sign-in token.
Hyperliquid
Hyperliquid trades carry no partner fee and owe nothing through settlement. Where a Hyperliquid builder fee is configured, setup asks the wallet to approve it alongside the trading agent (ApproveBuilderFee, with the maximum rate shown as a percentage). The builder fee is at most 1%.
Reporting
GET /v3/fees shows a wallet’s balance and open settlement. For your partner earnings across wallets, ask Kairos for a statement: there is no partner reporting endpoint yet.
