> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rekt.money/llms.txt
> Use this file to discover all available pages before exploring further.

# Knockout

> Go long or short at 1000x on Solana. Pick a direction and a stake. Your stake is the most you can lose.

Rekt runs two products on Solana: **Knockout**, described on this page, and
**[Minute](https://docs.rekt.money/minute/how-to-think-about-it.md)**, a timed round built on Knockout that you cannot close
early.

**Knockout lets you go long or short at 1000x, with two simple limits.** A **barrier**: if the
price hits it, the position is knocked out. And a **cap** on the most a position can pay. You pick a
direction and a stake, and the rules are fixed the moment you open.

If you have gone long or short on other crypto venues, the shape is familiar. The difference is the
end: no margin calls and nothing to top up. If the price hits your barrier, the position closes and
your stake is gone. That is the most you can lose.

Holding a position is free: the funding rate is 0.

> [card] [How the product works](https://docs.rekt.money/how-it-works.md)
>
> Direction, stake, barrier, tenor — and the ways a position ends.

> [card] [The venue](https://docs.rekt.money/venue.md)
>
> What the program does: admission and the queue, the pricing path, the bounds on loss and payout.

> [card] [Fees and limits](https://docs.rekt.money/limits.md)
>
> What a trade costs, the stake limits, the hours, the minimum hold and how a win is paid. Dated,
> and they can change.

> [card] [Build on it](https://docs.rekt.money/sdk/quickstart.md)
>
> A bot that quotes, opens and closes in one file. The SDK reads state, predicts every refusal
> before you send, and prices every close.

> [card] [Orders and closes](https://docs.rekt.money/sdk/orders.md)
>
> An open is an order that the venue's next price fills, and a close is a request anyone
> completes. The rules a client or a bot builds against.

> [card] [The liquidity pool](https://docs.rekt.money/liquidity.md)
>
> One shared pool takes the other side of every position and funds every win. How a win is paid, how
> the pool is read, and how it loses money.

> [card] [Markets](https://docs.rekt.money/markets.md)
>
> BTC, ETH, SOL, XRP and HYPE, around the clock.

## Where it is running

| | |
| - | - |
| **The program** | `1oooxLtzLiYV6LcDybrEPcyXVLPWGnAmeif9s5oNrp6` on Solana mainnet. **This is the ground of truth.** Derive every account address from it rather than copying one |
| **The facts API** | `https://data.rekt.trading` — settled trades, rebuilt by replaying each settlement through the same engine the program runs. No account; a web page on any origin can call it. Per-transaction routes answer the last 48 hours and all-time totals stay on `/v0/stats` and `/v0/markets`; see [Data API](https://docs.rekt.money/data-api.md). Start at `/v0/health` |

> [!WARNING]
>
> **The facts API is a lagging mirror and answers no live question.** There is no RPC endpoint in
> that process. Pool size, open positions, the current price, whether a trade would be admitted —
> none of those routes exist. Read live state from the chain through the SDK; read history from the
> API. Every response carries `asOf` and says `stale: true` when the archive has stopped advancing.

## A trade, in short

* **Pick a market and a direction.** BTC, ETH, SOL, XRP or HYPE, long or short. All five trade
  around the clock. See [markets](https://docs.rekt.money/markets.md).
* **Pick a stake** from **$0.20 to $1,000**. Every position is **1000x** your stake.
* **Add a take profit if you like**, at **2.00x** your stake or more. Without one, the target is the
  payout cap.
* **Your entry is the next price.** The stake is taken when your open lands, and the next price after
  a short delay sets your entry. If no price comes in time, your whole stake comes back.
* **It ends one of three ways:** knocked out at the barrier, closed at your take profit, or cashed
  out by you. You can also set a timer. There is no other clock.
* **Opening is free.** You pay when you close: a loss tax and a higher exit fee on a loss, a lower
  exit fee on a win, and the terms keep part of a gain (less of a big one). The numbers are on
  [Fees and limits](https://docs.rekt.money/limits.md).

| The choice | What it does |
| - | - |
| **Market** | Which price decides your outcome: BTC, ETH, SOL, XRP or HYPE; see [markets](https://docs.rekt.money/markets.md). |
| **Direction** | Long or short. |
| **Stake** | What you put in, from $0.20 to $1,000. It is the most you can lose. |
| **Take profit (optional)** | Any multiple of your stake from 2.00x up to the payout cap. Without one, the target is the payout cap. Reaching it is a gross gain of the multiple less one, times the stake, before the exit fee and the share of the gain the terms keep ([how a win is calculated](https://docs.rekt.money/limits.md#how-a-win-is-calculated)). |
| **1000x** | The same on every market. It sets how far the price has to move to hit your barrier or your take profit, so how fast the position ends. |

## How a win is paid

Opening a position takes your stake and nothing else. If the pool cannot cover a new position when
it fills, the order is returned with your whole stake and no fee.

**A win is paid in full. Part of it may be paid later, in order. There is no guaranteed time. The
amount queued ahead of you is shown.** When you cash out, your stake comes back at once and the
profit is paid from the pool's free cash. Whatever the pool cannot pay yet joins a queue and is paid
first in, first out. [How a win is paid](https://docs.rekt.money/liquidity.md#how-a-win-is-paid) has the rule in full.

> [!NOTE]
>
> The program never writes down an amount it owes: it is paid in full or stays owed. A payout that
> cannot be delivered is held for its trader, and it is released to the pool if nobody claims it
> within `config.params.unclaimedPayoutExpiryS`
> ([the liquidity pool](https://docs.rekt.money/liquidity.md#an-expired-unclaimed-payout-is-released-to-the-pool)).

## Know this before you trade

* **The barrier is close, on purpose.** At 1000x a small, ordinary move can knock you out. That is
  the product working. Size every trade as if that is a normal result.
* **At the barrier you get nothing back.** The position is over and the stake is gone.
* **Doubling down does not protect you.** You can add to a live position. It averages your entry, so
  adding while you are **ahead** moves your barrier closer to the price. See
  [adding to a position](https://docs.rekt.money/how-it-works.md#adding-to-a-position).
* **Your stake is the most you can lose.** There is nothing to top up and no way to owe more.

Read [the venue](https://docs.rekt.money/venue.md) before you trade. The [risk disclosure](https://docs.rekt.money/risk.md) follows it.

## Who takes the other side

One shared pool takes the other side of every position. It pays every win and keeps a share of the
fees. The pool belongs to the protocol: nobody can deposit into it or withdraw from it. See
[the liquidity pool](https://docs.rekt.money/liquidity.md).

## Everything is on chain

Every fee, limit and delay lives in accounts you can read yourself. The protocol can change them,
on chain and in public, and a position keeps the terms it opened with. The SDK reads the live
values:

```ts theme={"dark"}
import { Connection } from '@solana/web3.js';
import { configPda, decodeConfig } from '@rekt-trading/1000x';

// SOLANA_RPC_URL is read from the environment. Never hardcode an endpoint that carries a token.
const connection = new Connection(process.env['SOLANA_RPC_URL'] ?? '', 'confirmed');
const info = await connection.getAccountInfo(configPda().address, 'confirmed');
const config = decodeConfig(new Uint8Array(info!.data));

// The live bounds, the live entry fee and funding rate, the live cap — read, not typed.
// The exit fee is in the market's fee-terms account (`feeTermsTablePda`), not in the config.
console.log(config.params.minCollateral, config.params.maxCollateral);
console.log(config.params.entryFeeBps, config.params.borrowRateBpsPerHour);
console.log(config.params.payoutCapMultiple, config.params.tMaxSeconds);
```

> [!WARNING]
>
> Knockout is early software. It has not been audited by a third party. Trade only with money you
> can afford to lose entirely. [Read the risk disclosure](https://docs.rekt.money/risk.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.