> For the complete documentation index, see [llms.txt](https://docs.kairosswap.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kairosswap.com/faq.md).

# FAQ

Everything below links out to the deeper reference pages. If your question isn't answered here, reach out on [X (@KairosSwap)](https://x.com/KairosSwap) or in the [Telegram](https://t.me/+IM8fDT0MJBBlNzUx).

***

## The Basics

### What is Kairos?

Kairos is a non-custodial, permissionless protocol for onchain **interest rate swaps**. It lets anyone create markets where two parties exchange fixed-rate and floating-rate payment obligations on a reference rate — an Aave supply rate, a staking yield, SOFR, or anything else an oracle can report.

Traders use it to take leveraged positions on rate movements. Lenders and borrowers use it to hedge rate risk. Treasuries and DATs use it to convert variable income into predictable fixed income. See [Popular Use Cases](/popular-use-cases.md) for worked examples of each.

### What is an interest rate swap, in plain terms?

It's an agreement to trade *payment streams*, not principal. One side pays a fixed rate on an agreed **notional** amount; the other pays a floating rate on the same notional. At the end of the term, only the **net difference** between the two legs changes hands.

Because nobody ever exchanges the notional itself, the capital required is tiny relative to the exposure — which is exactly why interest rate swaps are the largest derivatives market on earth, with over $500 trillion in notional outstanding.

### Do I need to hold the underlying asset to trade a rate?

No. Swaps on Kairos are fully synthetic. You can buy a swap on Ethena's sUSDe yield without holding a single USDe, or trade the ETH staking rate without running a validator. You post collateral in the market's collateral token and take a view on the rate.

### What does "notional" mean, and why is it so much larger than my deposit?

**Notional** is the size the interest payments are calculated against. **Collateral** is what you actually deposit. Your collateral only has to cover the *maximum payment you could owe over the term* — not the notional itself.

A worked example: a 30-day swap on a rate around 5%, on $1,000,000 notional, generates a maximum payment obligation of roughly $1,000,000 × 5% × (30/365) ≈ $4,100. That's the order of magnitude of collateral you post — not $1,000,000.

### What's the difference between "long" and "short" a rate?

| You think rates will… | Position    | On Kairos         | You pay                    | You receive                |
| --------------------- | ----------- | ----------------- | -------------------------- | -------------------------- |
| **Rise**              | Long rates  | **BUY\_FIXED**    | A locked-in fixed rate     | The realized floating rate |
| **Fall**              | Short rates | **BUY\_FLOATING** | The realized floating rate | A locked-in fixed rate     |

Every Kairos market is created as a **pair** — one BUY\_FIXED market and one BUY\_FLOATING market sharing the same oracles, collateral token, term, and leverage. See [Trade on Interest Rates](/how-tos/trade-on-interest-rates.md).

### What chains is Kairos deployed on?

Kairos launches on **Ethereum mainnet**, and mainnet is the only supported network at launch. Deployed contract addresses will be published in these docs once the launch deployment is live — always verify an address against this documentation before interacting with any contract.

### How do I get started?

1. An Ethereum wallet — MetaMask, Coinbase Wallet, Rabby, WalletConnect, or similar.
2. The market's collateral token, plus a little ETH for gas.
3. Head to the app, pick a direction, and follow the [Buy a Rate Swap](/how-tos/buy-a-rate-swap.md) walkthrough.

Start small. Swaps are leveraged instruments, and the fastest way to learn how a market behaves is a position sized so that being wrong is cheap.

### What's the difference between Degen Mode and Pro Mode?

**Degen Mode** is the simple interface: pick a direction, slide to the amount you want to wager, confirm. **Pro Mode** exposes the full market view — notional entry, the live rate chart, order widget, and per-market positions. Both open the same underlying swap. See [Buy a Rate Swap](/how-tos/buy-a-rate-swap.md) and [Read Kairos Charts](/how-tos/read-kairos-charts.md).

***

## How Kairos Compares

### How is Kairos different from Pendle?

They solve adjacent problems with fundamentally different mechanics. **Pendle tokenizes yield** — it wraps a yield-bearing asset and splits it into a principal token (PT) and a yield token (YT), which trade against each other on an AMM. **Kairos swaps payment obligations** — no principal ever moves, and no asset needs to be wrapped.

Four structural differences follow from that:

|                        | Pendle                                          | Kairos                                                                  |
| ---------------------- | ----------------------------------------------- | ----------------------------------------------------------------------- |
| **What you hold**      | A tokenized claim on principal or yield         | A swap contract on a payment stream                                     |
| **Shorting yield**     | Buy PT — requires committing **full principal** | BUY\_FLOATING — collateral covers only the payment obligation           |
| **What can be traded** | Assets that have been tokenized into SY/PT/YT   | Any rate with an oracle feed, onchain or off                            |
| **Maturity**           | A fixed calendar date shared by all holders     | The market's full term, running from **your** entry                     |
| **Pricing**            | Implied yield from AMM trades                   | Oracle-anchored base rate + a deterministic, path-independent fee curve |

The comparison people usually mean is against **Boros**, Pendle's rate-trading product. Boros is narrowly scoped to **perpetual funding rates over short durations** — genuinely useful for funding-rate traders, but not a tool a lender can use to hedge a two-year fixed-rate loan book. Kairos is built for the full duration curve, from hours to years.

### Can you show me where that difference actually bites?

Three cases where the mechanics diverge materially.

**1. Shorting yield at size.** Suppose you believe sUSDe yields are going to fall, and you want $500,000 of exposure to that view.

* *On Pendle:* you buy PT-sUSDe. PT locks in the fixed yield, but you must deploy the **full $500,000 of principal** to get $500,000 of notional exposure. Your view on the rate is inseparable from a $500,000 capital commitment to the underlying asset.
* *On Kairos:* you buy a BUY\_FLOATING swap on $500,000 notional in a market referencing the sUSDe rate. On a 90-day term at an 8% base rate in a 10× market, your collateral is roughly `$500,000 × 9% × (90/365) / 10 ≈ $1,110`. You've expressed the same directional view with about 0.2% of the capital, and you've taken on no exposure to the price of USDe itself.

The long-yield side is less lopsided — YT is already a capital-efficient way to go long yield — but the asymmetry on the short side is structural, not a matter of degree.

**2. Rates that aren't tokenized.** A Morpho V2 lender originates a $1,000,000 two-year fixed-rate loan at 10% and wants to neutralize the duration risk.

There is no PT/YT for "the borrow rate on Morpho Market A over the next two years." Tokenization requires a wrappable yield-bearing token; a market-specific borrow rate isn't one. Kairos requires only an oracle, so anyone can permissionlessly create that exact market: a 2-year term, that specific reference rate, USDC collateral.

The lender enters a swap paying \~8% fixed and receiving the floating Morpho rate. If rates rise to 11%, the loan still earns 10% and the swap nets \~3% — roughly $30,000/year — covering the opportunity cost of the below-market loan. If rates fall to 5%, the swap loses but the above-market 10% loan gains value. Either way the rate exposure is neutralized. This is the trade that makes fixed-rate lending viable at scale, and it isn't expressible through yield tokenization.

The same argument extends further: **SOFR, EURIBOR, perp funding, restaking reward rates** — none of them have a token to wrap, all of them have feeds. A trader expecting a 50bp Fed cut can post $5,000 against $2,000,000 notional of 90-day SOFR exposure and net roughly $1,973 if they're right. There is no tokenization route to that trade at all.

**3. Constant tenor vs. a shrinking clock.** Pendle maturities are fixed calendar dates shared by everyone in the pool. Buy YT twelve days before expiry and you get twelve days of exposure — the tenor you get depends on when you show up relative to a date somebody else chose.

On Kairos, `swapTerm` is a market parameter and **every purchase runs that full term from your own entry timestamp**. A 90-day market gives you 90 days whether you buy on day one or day two hundred. For a hedger matching a swap to a loan, or a trader who wants stable duration exposure without rolling into an expiring pool, that difference compounds.

### When is Pendle the better tool?

Being straight about this matters more than the pitch:

* **You want to hold the asset and earn the yield.** PT is a direct fixed-yield instrument on capital you're deploying anyway. Kairos is an overlay on exposure you already have — it doesn't generate yield on its own.
* **You want zero liquidation risk.** PT and YT can't be liquidated. Kairos positions are collateralized and *can* be — if rates move far enough against you before expiry, you lose your collateral. That's the price of the capital efficiency.
* **You want convex upside on yield with a hard-capped downside.** A YT's worst case is the premium you paid, with non-linear upside. A Kairos swap is linear in both directions.
* **You're trading a major asset where Pendle already has deep liquidity.** Kairos markets are new; on the assets Pendle has spent years bootstrapping, its books are deeper today.

### Do Kairos and Pendle compete, or compose?

Mostly they compose — and the most interesting positions use both.

A trader can buy Pendle YT-sUSDe expiring in 90 days at an 8% implied yield, then **post that YT as collateral in a Kairos market** referencing the same sUSDe rate and buy a floating-rate swap on $500,000 notional. They then earn the YT's native yield *and* the swap's spread on rate movements — leveraged long exposure to the same view, funded by collateral that was already working.

That's more capital efficient than looping through a money market, because margin plus a small swap fee replaces a full borrow rate. The full worked example, including the downside scenario, is the first entry in [Popular Use Cases](/popular-use-cases.md).

More broadly, Kairos is designed to complement the existing stack rather than displace it. Money markets like Aave, Morpho, and Kamino gain a hedge their lenders previously couldn't access; tokenization platforms gain a rate-risk transfer layer their products can plug into. PTs and vault receipt tokens work as Kairos collateral precisely because the goal is to be connective tissue, not a destination.

***

## Trading Swaps

### How is the rate I get quoted determined?

Three components, all locked in at the moment you open the swap:

1. **Base rate** — read from the market's tenor-aware base swap rate oracle for that market's term.
2. **Utilization fee** — a kinked curve that rises as your trade consumes pool capacity. It compensates LPs for liquidity scarcity.
3. **Risk premium** — an optional oracle-supplied markup, configured independently for each side of the market pair.

A BUY\_FIXED buyer pays `baseRate + utilFee + riskPremium` and receives the realized floating rate. A BUY\_FLOATING buyer pays the realized floating rate and receives a fixed rate. The full mechanics are in [Core Concepts](/protocol/core-concepts.md).

### What leverage can I get?

Two different numbers get called "leverage," and they mean different things:

* **`leverageMultiplier`** is a per-market parameter, capped at **18×** and immutable after creation. It scales *down* how much collateral both the buyer and the LP side must post for a given notional.
* **Effective notional-to-collateral ratio** is what most people mean by leverage — and it can reach **5,000× or more**. It's high because your collateral is sized off `rate × term`, not off notional. Short terms and low reference rates produce dramatic ratios; long terms and high rates produce modest ones.

The formula:

```
buyerCollateral = notional × (|baseRate| + utilFee + riskPremium) × term / (YEAR × leverage)
```

So a 30-day swap on a 3% rate at 10× market leverage needs roughly `3% × (30/365) / 10 ≈ 0.025%` of notional in collateral — about 4,000× effective leverage. The same market at a 2-year term on a 10% rate needs far more.

**Higher leverage means a thinner buffer, which means liquidation comes sooner.** Read [Leverage](/protocol/core-concepts.md#leverage) before sizing up.

### What fees do I pay?

| Fee                    | When                                                  | Where it goes                                                   |
| ---------------------- | ----------------------------------------------------- | --------------------------------------------------------------- |
| **Utilization fee**    | Baked into your rate at entry                         | LP pool                                                         |
| **Risk premium**       | Baked into your rate at entry (if the market has one) | LP pool                                                         |
| **Protocol fee**       | Charged at entry: `notional × feeRate × term / YEAR`  | Protocol treasury, optionally split with the market creator     |
| **Liquidation bounty** | Prefunded at entry                                    | **Refunded to you at normal expiry** if you're never liquidated |
| **Early exit fee**     | Only if you close before expiry                       | LP pool                                                         |

### Can I reduce fees by splitting my trade into smaller pieces?

No. The utilization fee is the **definite integral of the fee curve** over the range of utilization your trade consumes, averaged over trade size — not the endpoint rate. Splitting one trade into ten produces the exact same total fee. This is a deliberate design property, not an accident.

### Why did my fee stay high right after a big LP deposit?

The utilization fee is priced against a **seasoned exponential moving average** of pool collateral over a rolling one-hour window — not the instantaneous balance. A fresh deposit expands capacity *immediately* (so you can trade larger size right away) but takes up to an hour to fully lower the fee.

This decoupling is the protocol's defense against just-in-time liquidity: an LP can't deposit, cheapen a buyer's fee, and withdraw a block later. Note the asymmetry — the fee is charged against `min(EMA, spot)`, so a large *withdrawal* raises fees immediately. See [Seasoned utilization fee](/protocol/core-concepts.md#seasoned-utilization-fee).

### Can I add more collateral to an open swap?

No. Collateral is sized and posted when the swap is opened and is fixed for the life of that position. There is no top-up to escape a liquidation. If you want a larger buffer, that decision has to be made at entry — choose a market with a lower `leverageMultiplier`, or size your notional down.

(The "Adjust Collateral" control on the Portfolio page manages your *liquidity provider* collateral by market, not the collateral backing an open swap position.)

### Can I close a swap before it expires?

Only if the market was created with `earlyExitAllowed = true` — it's an immutable per-market setting. Where it's enabled, `exitSwapEarly` settles the position using the same pipeline as normal settlement, but treats *now* as the expiry, re-reads the base rate for the remaining tenor to price the unrealized fixed leg, and charges the market's `earlyExitFee`.

You can also set a `minExitAmount` as a slippage guard on what you receive. See [`exitSwapEarly`](/protocol/swaps.md#exitswapearly).

### Can I sell or transfer my position?

Yes, two ways. A position can be moved directly with `transferSwapPosition`, or it can be wrapped as an **ERC-721 NFT** via `SwapPositionWrapper`.

Wrapping is **custodial**: the wrapper takes ownership of the underlying swap in SwapCore and mints you an NFT representing it. From then on the NFT transfers as pure ERC-721 — moving the token does *not* touch SwapCore, and no per-holder authorization is needed. Settlement funds flow to the wrapper and are redeemed by whoever holds the NFT at that time. The lifecycle is wrap → transfer freely → settle → redeem (which burns the token). Only the original wrapper needs to call `setAuthorization` before wrapping.

If you're indexing transfers, note the consequence: an NFT transfer emits no SwapCore event, because the underlying position never changes hands there.

That composability is what makes swap positions usable as building blocks elsewhere in DeFi: collateral in a lending market, an input to a structured product, or an asset on a secondary marketplace. See [Composability](/popular-use-cases.md#composability-erc-721-swap-positions-as-defi-building-blocks).

### What slippage protection do I have when opening a swap?

Three independent guards, all optional:

* **`rateBound`** — a ceiling on the fixed rate you'll pay (BUY\_FIXED) or a floor on the base rate you'll receive (BUY\_FLOATING).
* **`maxMarkup`** — a ceiling on `utilFee + riskPremium` combined.
* **`maxTotalIn`** — a ceiling on the **total tokens pulled from your wallet**, covering collateral + protocol fee + liquidation bounty.

Use `maxTotalIn` even when your rate bound looks safe. Collateral is sized off the *magnitude* of the base rate, so a rate move in your favor can still increase the tokens pulled. `rateBound` alone does not bound what you spend.

There's a second reason it matters, and it surprises integrators: your collateral is sized off the **larger-magnitude base rate of your market and its twin**, not off your own market's quote alone. This keeps the losing side's collateral sufficient to cover the winning side's backing across the pair. If you compute an expected total from the quote you see on your side, you can under-estimate what will actually be pulled. See [`buySwap`](/protocol/swaps.md#buyswap).

***

## Settlement & Liquidation

### How does settlement work?

Once the term elapses, the protocol computes each leg's payment as `notional × rate × term`, nets them against each other, caps each side at its posted collateral, and transfers only the difference to whichever side is owed. Both parties then get their remaining collateral back. If you were never liquidated, your prefunded liquidation bounty comes back too.

In the UI this is the **"Claim Payments"** button on an expired position — see [Close a Rate Swap](/how-tos/close-a-rate-swap.md).

### Who settles my swap? Do I have to do it myself?

Settlement is **permissionless**. Anyone can call `makePayment` on any expired swap — keepers, bots, the LP, or you. There's no whitelist and no privileged settler. Keepers typically batch many swaps into one call.

### What is a liquidation, and when does it happen?

Both sides of a swap post collateral as a guarantee of future payments. A position becomes liquidatable when one side's collateral can no longer cover what it **already owes** on accrued payments.

Two properties worth internalizing:

* **Liquidation is based on accrued P\&L, not projected P\&L.** Where the rate *might* go is irrelevant. A swap is only liquidatable when one side's collateral is mathematically insufficient right now.
* **It's symmetric.** The LP pool faces liquidation on exactly the same terms as the buyer. Only one side is liquidated per call; the other settles normally.

See [Liquidation](/how-tos/liquidation.md).

### Who can liquidate?

Anyone. `liquidateSwap` is permissionless and the caller is paid a reward. On a buyer-side liquidation, the liquidator receives the **prefunded bounty** banked from the buyer at entry. On a pool-side liquidation, they receive `liquidationIncentive × poolCollateralBacking`, drawn from the LP backing for that swap.

### What happens if I get liquidated?

The swap closes immediately and your remaining collateral, after the liquidator's reward is paid, transfers to the counterparty. The liquidator's reward is the **liquidation bounty you prefunded at entry** — a percentage of your required collateral set per market and capped at 5%. That bounty is refunded to you in full at normal expiry if you're never liquidated, so being liquidated costs you the bounty on top of settling what you owed.

**Your maximum loss on a swap is what you posted.** You cannot end up owing more.

### My settlement transaction reverted with E450. What does that mean?

Settlement needs a stored oracle snapshot at or after your swap's expiry timestamp. `makePayment` tries to write that snapshot itself, so in normal conditions this never surfaces. `E450` means the reference oracle was unhealthy at settlement time *and* no post-expiry snapshot was captured earlier.

**`E450` is temporary, not terminal.** It only fires inside a **settlement grace period** after expiry. Within that window the protocol refuses to guess at missing data and asks you to wait. Once the grace period elapses, settlement stops waiting and adjudicates:

1. It retries the oracle read with a guaranteed gas budget. If the oracle recovered, settlement proceeds normally on real data.
2. If the read still fails, settlement **extrapolates** the expiry index from the trailing rate implied by the final snapshots, emits `ExpiryIndexExtrapolated`, and settles the swap.
3. Because that index history is now compromised, the protocol **permanently terminates both halves of the market pair** to new swaps. Existing positions still settle; nothing new can be opened.

So a dead oracle does not strand your position forever — it delays settlement to the end of the grace period, then forces a resolution and closes the market to new business.

One related code you may hit: **`E451`** means the settlement call didn't carry enough gas to run that fallback adjudication safely. Retry with a higher gas limit.

The preventative measure — useful for integrators and keepers — is to call the permissionless `updateMarketRateIndex` shortly after a swap matures. A snapshot captured while the oracle is healthy settles the swap on real data and avoids the fallback path entirely. See the settlement / snapshot model in [Core Concepts](/protocol/core-concepts.md).

### My settlement succeeded but I never received the funds. What now?

If the transfer to you reverts at settlement or liquidation — for example, because your address became blocked on the collateral token between entry and expiry — the payout is moved to escrow and a `BuyerTransferFailed` event is emitted. Call [`claimEscrow`](/protocol/swaps.md#claimescrow) once the blocker is resolved.

Escrowed funds are always delivered to the original position owner, never to whoever calls the function. An authorized delegate can trigger the claim but cannot redirect the money.

***

## Providing Liquidity

### How do LPs make money?

LPs are the counterparty to every swap and earn on every one: the **risk premium**, which compensates for uncertainty in the base rate over the tenor, and the **utilization fee**, which rises as the pool fills up. LPs also take the other side of rate movements, so directional P\&L flows through the pool.

Because swap pricing is oracle-derived rather than bonding-curve-based, Kairos LPs aren't exposed to the arbitrage-driven adverse selection that afflicts traditional AMMs. See [How it Works](/liquidity-providers/how-it-works.md).

### What are the risks of providing liquidity?

The pool takes the opposite side of every swap it backs, so it loses when rates move in the buyer's favor. Margin requirements are deterministic and each swap is independently collateralized, so **the pool's maximum loss on any individual position is capped at its posted backing for that swap**. Beyond directional risk: oracle failure, smart contract risk, and thin-market risk all apply. Read the [Legal Disclaimers & Risk Disclosures](/liquidity-providers/legal-disclaimers-and-risk-disclosures.md) in full.

### Do I have to supply both sides of the market?

No — and this is a deliberate design choice. Each market is **single-sided**: it sells either fixed or floating swaps, and is paired with a corresponding market for the opposite side. LPs pick which direction of rate exposure they want rather than being forced into a 50/50 position. That's what lets an LP manage their own interest rate risk precisely.

### What is the profit vest, and why can't I withdraw at the current share price?

Every deposit records a **profit-vest anchor**: the share price at deposit, plus a vest window (12 hours by default, bounded to 1 hour–7 days and timelocked). While the window is active, withdrawals price your shares at `min(burnPrice, entryPrice)`.

Note which price that is. Withdrawals settle at the pool's **burn price**, which is deliberately at or below the headline share price — it takes the more conservative of the fair and accrued-only marks and deducts any early-exit vesting reserve still draining. If you quote your exit from the informational share price you'll over-estimate what you receive. The vest cap then applies on top of that burn price.

This neutralizes the deposit → oracle-update → withdraw NAV sandwich. Three things to know:

* **It's one-directional.** The cap binds only when the share price is *above* your anchor. Exits below the anchor realize the full loss — this is not a put option.
* **It applies uniformly across your position.** There's no per-tranche accounting. A mid-vest top-up *below* your anchor blends it downward; a top-up at or above leaves it unchanged.
* **Every deposit extends the window, and never shortens it.** A top-up pushes the vest end to the later of your existing end and a fresh full window, so topping up can only delay your uncapped exit.

Check `getLpVestState(marketId, lp)` on the `Views` contract before supplying or withdrawing — it returns your anchor, vest end, and whether the cap is currently active.

### Why is my withdrawal reverting?

Several guards can block a withdrawal:

* **Expired unsettled swaps in the pool.** The share price would be stale until they settle — settle them with `makePayment` first. If the pool's expiry queue has grown long enough that the bounded scan gives up before finding the unsettled entry, the fix is `advanceExpiryPointer(marketId)` instead.
* **Same-block deposit.** A one-block lock is stamped on every deposit to prevent flash-loan deposit-and-withdraw.
* **Last-LP guard.** The pool can't drop to zero shares while swaps are still open; one share is retained to keep accounting alive.
* **Profit-vest surplus.** A full last-LP exit on an idle pool that would sweep cap-protected surplus reverts. Wait for vest expiry or withdraw partially.
* **Undripped early-exit vesting.** A full last-LP exit on an idle pool also reverts while the market's early-exit vesting reserve is still draining. Wait for the drip to finish, or withdraw partially.

Note the one thing that *doesn't* block you: when the pool is idle, the share price is computed directly from collateral and shares with the oracle bypassed entirely — so LP withdrawals remain available even if the reference oracle is down. See [`withdrawCollateral`](/protocol/liquidity.md#withdrawcollateral).

### Can I supply through a vault instead of managing positions myself?

Yes. **Morpho Vaults V2** are supported through a specialized adapter, so a curator can allocate across Kairos markets and handle position management for depositors. Share pricing uses a bucketed mark-to-market system that updates continuously as swaps open and settle, with a share price floor and deposit block protecting existing LPs from dilution when a pool is underwater.

### Are there permissioned markets for institutional LPs?

Yes. A market creator can enable an **LP whitelist** at creation, restricting who may supply collateral. It's designed for institutional liquidity providers with compliance requirements. The flag is set at creation and can't be turned on later.

If you're looking to deploy meaningful size, the [KLP interest form](https://forms.gle/kK1LrqXQWbkzAkZr5) is the fastest route to a conversation — see [Opportunity](/liquidity-providers/providing-liquidity-on-kairos.md).

***

## Markets & Oracles

### Who can create a market?

Anyone. `createMarket` is a public call that deploys **both** sides of the pair — BUY\_FIXED and BUY\_FLOATING — atomically. The caller becomes the market owner and can earn a share of protocol fees generated by volume in their markets, if the creator fee is configured.

The creator sets the reference rate oracle, base rate oracle, collateral token, swap term, leverage multiplier, fee curve, bucket configuration, liquidation incentive, early-exit policy, and whitelist flag. See [Market administration](/protocol/market-admin.md).

### Can a market's parameters change after launch?

**No.** Every economic parameter is immutable once the market is initialized. The only post-creation actions are administrative: transferring ownership (two-step), adding addresses to the LP whitelist if it was enabled at creation, and terminating the market.

This is a deliberate reduction of governance risk — the terms you trade under can't be changed out from under you.

### What does it mean when a market is "terminated"?

Termination blocks **new** swaps only. Existing positions run to their natural expiry and settle normally, on unchanged economic terms. No parameter is altered.

### What oracles does Kairos use, and can any rate become a market?

Kairos is **oracle-agnostic by design** — that's the core architectural bet. Any rate a market creator can source a feed for can become a tradeable market: onchain lending rates, staking and restaking yields, perp funding, or offchain benchmarks like SOFR and EURIBOR. Chainlink and Pyth are used across live markets today.

Each market specifies two oracles: a **reference rate oracle** for the floating leg, and a tenor-aware **base swap rate oracle** that prices the fixed leg at entry and on early exits.

### What is a "rate convention" and why does it matter?

It's how an oracle reports its data, and it determines how the floating leg is computed at settlement. Every oracle is assigned one convention on first use and it's **immutable per oracle thereafter**.

| Convention           | Oracle reports                                | Notes                                                  |
| -------------------- | --------------------------------------------- | ------------------------------------------------------ |
| **Cumulative**       | A monotone index (Aave/Morpho/Compound style) | Clamped so it can never decrease                       |
| **SpotRate**         | An instantaneous rate                         | Accumulated as simple interest; can go negative        |
| **SpotCompoundRate** | An instantaneous rate                         | Accumulated as continuous compounding; can go negative |

The practical consequence: under a **Cumulative** convention, a genuinely falling rate reads as flat and the floating leg can never go negative — which is why BUY\_FIXED markets on a Cumulative oracle reject a negative base rate. SpotRate and SpotCompoundRate *are* able to represent negative rates, which is what makes markets on things like perp funding possible. See [Rate conventions](/protocol/core-concepts.md#rate-conventions).

***

## Security

### Has Kairos been audited?

Yes — by two independent firms. **Octane Security** ran an adversarial, proof-of-concept-driven engagement across the full swap lifecycle, LP pool accounting, oracle integration, the Morpho Vault V2 adapter, and the permissionless settlement and liquidation paths. It surfaced 20 findings; every one was reproduced with a runnable PoC and every one has been fixed and re-verified. A second audit from **Guardian** is forthcoming.

Reports are published on the [Audit Reports](/dev-docs/audit-reports.md) page. Integrators should read them before building on top of the protocol.

### Is there a bug bounty?

Yes — a **$100,000** Guardian Defender contest focused on critical-severity findings, running for 30 days. See [Bug Bounty](/dev-docs/bug-bounty.md) for details and the contest link once live.

### Is Kairos custodial? Can the team take my funds?

No. Kairos is non-custodial and permissionless. Collateral sits in the protocol contracts under the rules encoded at market creation, and those rules are immutable. Settlement and liquidation are permissionless — no privileged actor gates your exit.

### What are the main risks I should understand before trading?

In short: **liquidation risk** (rates move against you and your collateral is consumed), **interest rate risk** (you're exposed to rate movements for the full term), **smart contract risk**, **oracle risk** (stale, manipulated, or failed rate data), **counterparty liquidity risk** (thin markets), and **underpayment risk** (a counterparty's collateral doesn't fully cover what they owe).

Read the full [Risks](/how-tos/risks.md) page before trading. Swaps are leveraged instruments — you can lose all of your posted collateral.

### Can I lose more than I deposit?

No. Each swap is independently collateralized and settlement caps each side's payment at its posted collateral. Your maximum loss is what you put in.

***

## Token & Rewards

### Does Kairos have a token?

Kairos issues **Time Krystals**, earned by opening swap positions and holding them to maturity. Krystals accrue as:

```
Collateral Amount × Swap Term Hours × Klaim Bonus
```

So a $100 swap held 24 hours at a 2× bonus earns 4,800 Krystals. The bonus multiplier can change at any time or with each quest.

**Time Krystals have zero monetary value.** They are not a security, not an investment, carry no profit expectation, and cannot be sold or exchanged for anything of value. Read the [Token Terms](/kairos-quests/token-terms.md) in full — this is not boilerplate.

### What are Kairos Quests?

Recurring campaigns with their own bonus structures and rewards — [Genesis](/kairos-quests/genesis-quest.md), [Chronos](/kairos-quests/chronos-quest.md), [Gravity](/kairos-quests/gravity-quest.md), and [Fellowship](/kairos-quests/fellowship-quest.md). Each has its own page under Kairos Quests.

***

## Building on Kairos

### Can a contract act on behalf of my account?

Yes, through the `onBehalfOf` pattern. Bundlers, routers, wrappers, and vault adapters can act for an end user — but only after that user has explicitly pre-authorized them via `setAuthorization`. Nothing acts on your account without your prior approval. See [Authorization](/protocol/authorization.md).

### Where do I find the ABI, events, and error codes?

* [Overview](/protocol/overview.md) — the mental model and end-to-end lifecycle
* [Swaps](/protocol/swaps.md), [Liquidity provision](/protocol/liquidity.md), [Market administration](/protocol/market-admin.md) — function-by-function reference
* [Views](/protocol/views.md) — read-only helpers for quoting and position monitoring
* [Events](/protocol/events.md) — every event emitted across the lifecycle, for indexers
* [Error Codes](/protocol/error-codes.md) — every revert code and what triggers it
* [Liquidation Bot](/dev-docs/liquidation-bot.md) — a reference keeper/liquidator implementation
* [Whitepaper](/dev-docs/kairos-protocol-whitepaper.md) — the full protocol design

### How do I quote a position off-chain?

Use the [Views](/protocol/views.md) contract. Note the deliberate asymmetry: view functions like `getSwapNetAmount` **project** a virtual index forward, so an off-chain reader sees the value settlement would realize. Settlement itself never projects — it only reads real stored snapshots, and fails closed rather than extrapolating.

***

## Still have questions?

* **X:** [@KairosSwap](https://x.com/KairosSwap)
* **Telegram:** [Join the community](https://t.me/+IM8fDT0MJBBlNzUx)
* **Liquidity providers:** [KLP interest form](https://forms.gle/kK1LrqXQWbkzAkZr5)

*DISCLAIMER: Interest rate swaps are leveraged instruments. You can lose all of your posted collateral if positions move significantly against you. Nothing in this documentation is financial advice. Always understand the risks before trading.*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kairosswap.com/faq.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
