What the Knockout program does: admission and the queue, the pricing path, the limits on loss and payout, settlement, size and fees, and where each one is read on chain.
Everything on this page is a rule or a value of the program on Solana mainnet. It is early,
unaudited software: read Risk before you trade.
Three bounds, fixed at open
Loss is bounded. The most you can lose is your stake. There is no margin call, no negative
balance and no clawback.
Payout is bounded. A target cannot exceed a multiple of the stake, config.params.payoutCapMultiple.
How a win is paid is under admission and the queue.
Time is fixed at open. The tenor is read from config.params.tMaxSeconds and frozen onto the
position. It is the indefinite value, so a position has no protocol clock: it ends at its barrier,
its target, a close, its own timer, or the no-price close. The funding rate is 0, and a position
keeps the rate it opened with.
Admission and the queue
Opening a position takes your stake and nothing else. The program decides whether the position fits
when the venue fills the order, against a rule it applies per market and in total. An order that does
not fit is returned: your whole stake comes back and no fee is charged. A hedge, a smaller target and
a close are never refused by this rule.At a close, your stake comes back at once and the profit is paid from the pool’s free cash. 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. What the pool cannot pay yet joins a queue, first in, first out, and it is
funded by cash that other positions leave in the pool. Anyone may send the instruction that delivers
funded queue money (pay_queue); it goes to the wallet recorded on the account. When the line is
nearly full, a second unpaid win of the same account waits behind its first. The settlement events say
how much was paid now and how much was queued. The program has no auto-deleveraging, no socialised
loss and no write-down of an amount owed: 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 program has no instruction to deposit into the pool or to redeem from it; see
the liquidity pool.
The pricing path
Your entry is the first price of the venue’s price feed at or after your order’s target slot, a short
delay after the order lands. It is a signed quote, and the program verifies it when the filler writes
it. The function that prices an order takes the market and the quote and never the stake, so every
size fills at the same price.An order is returned when its price does not clear one of these:
Time. It comes within a governed number of slots after the target, and a filler writes it inside
the fill window.
Signatures. At least market.minSignatures distinct keys that the program recognises.
Quality. It meets the venue’s quality rule for an entry.
At 1000x the barrier sits a very small distance from the entry. A move too small to see on a chart
can knock the position out. Barrier and take profit are both distances from the entry, so the 1000x
sets how fast a position ends.
Settlement
Settlement is permissionless for every outcome that has evidence behind it: the barrier touched, the
target reached, the position’s own timer run out, and a finite protocol tenor expired. Any address may send
that transaction, and the money goes to the owner’s account whoever sent it. Every priced close carries
a signed quote from the venue’s price feed.If no quote can be obtained for a long time, a no-price close (lastResort) applies: it pays a live position its stake back
with the exit fee waived, and a position already stamped at a level is paid that level (a target level pays the exit fee). It is refused while the oracle is frozen. On a market with trading hours, a position that is
not settled before its session’s close ends at par.A voluntary close needs the owner’s authority: a signature, or a session key the owner authorised. The
settle that completes it can be sent by anybody, at the first price after a short delay from the
request.
Two switches can stop closes, and neither can be lifted by the key that sets it. The guardian can
freeze the oracle, which refuses opens and leaves every priced close without a price. It can also
disable settles, which refuses every close. Only the config authority lifts either. Read
config.oracleFrozen and config.settlesDisabled.
What you sign on an open
You sign a total budget, and the venue takes its fee from inside it, so the debit is at most that
number. You also sign min_collateral_out, the smallest position you accept for that budget. The
position the budget buys is computed from the live parameters in the slot where the transaction
executes. If a governance change in between would buy a smaller position, the transaction refuses.
A min_collateral_out of zero is refused (MinCollateralOutRequired).The terms are fixed when the order lands. The entry is not: it is set by the next price. The barrier and
the target are distances from that entry, so their prices exist once the order is filled. Every number
below is computed from the live parameters for the exact terms you are about to open:
import { openPreview, type ConfigView, type MarketView } from '@rekt-trading/1000x';export function quote(config: ConfigView, market: MarketView, nowUnix: bigint) { // The fourth argument is the optional target in basis points of stake: 20_000 is 2.00x, the floor. const preview = openPreview(config, market, 1_000_000n, 20_000, nowUnix); return { // What you transfer, and what the fee inside it is. totalDebit: preview.totalDebit, entryFee: preview.entryFee, // The gross payout at the target, before the exit fee and the share of the gain the terms withhold. maxPayout: preview.maxPayout, // What the trader receives at the barrier. barrierPayout: preview.barrierPayout, };}
An interface shows barrierPayout on the same screen as the open button.
Size, cap and stake
BTC, ETH, SOL, XRP and HYPE are listed at a tier of 1000x. The protocol’s payout cap is
config.params.payoutCapMultiple. See markets.
The 1000x decides the distance the price has to move, in either direction, before the position
ends. It sets the time scale of the position.
The payout cap decides the ceiling. A target above it is refused, and a position with no target
of its own has the cap as its target.
Every market is 1000x. The market’s tier (market.tier) is a ceiling and the venue’s
config.minTier is a floor, so every position opens at 1000x. A request above the ceiling or below the
floor is refused. Stakes run between minCollateral and maxCollateral. Each of these is a governed
field: read it from the chain. Fees and limits has the values, with the date they were read.
Fees
There is an entry fee (read config.params.entryFeeBps; it is 0, so an open is free), a loss tax on
a close at a loss, an exit fee on most closes (not on one paid at the barrier, nor on a
no-price close that returns the stake of a live position), and funding, which is a governed rate
(borrowRateBpsPerHour) that is 0. The loss tax is a share of the loss, taken before the exit fee
(how a loss is calculated). The exit fee is a share of the exit
value: a lower rate on a win and a higher rate on a loss. On a gain the terms also withhold part of the gain: the share you keep rises with the size of the
move, so a target pays less than its multiple. Fees and limits has
the values, dated, and a worked example. Every rate is written on chain, and the ones that apply to a position are
frozen onto it at open. A returned order or add returns the whole stake.
How it works has each fee, where it is read from and where it goes, and
Fees and limits has the rates.A wallet linked to a referrer pays a lower exit fee, and the referrer is credited a share of the
protocol’s part of that wallet’s trades. Referrals has the rules.
What the product does not do
It is not a hedge. A knockout ends the position at the moment a hedge would be needed.
It does not fill at the price on your screen. Entry and exit are the venue’s next prices after a
short delay. A close you ask for cannot be withdrawn, and its price is not locked until it settles.
It does not roll over. A position ends by its own rules.
Adding to a position does not defend it. Adding while ahead moves the barrier toward the price.
See adding to a position.
Read it on chain
Item
Where it lives on chain
What the stakes hold
vault.totalReserved and the position’s collateral on its book
The queue: what is owed and what is funded
the pool’s capital and queue accounts (capitalPda(), queuePda()); the SettlementQueued and QueuePaid events
The entry price
the EntryFilled event, and the position’s entryPrice once the order is filled
solana account <CONFIG_PDA> --url "$SOLANA_RPC_URL" # every fee, bound and cap in forcesolana account <VAULT_PDA> --url "$SOLANA_RPC_URL" # pool assets, the stakes heldsolana program show <PROGRAM_ID> --url "$SOLANA_RPC_URL" # who can upgrade the program
The SDK exports PROGRAM_ID, and configPda() and vaultPda() derive the two addresses. The SDK
decodes the accounts and events, and the package carries the program’s IDL. For integration
questions, write to support@asymmetra.xyz.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Rekt","description":"Rekt runs two products on Solana. Knockout: go long or short at 1000x with a stake you choose; the position ends at its barrier, at your take profit, when you cash out, or at your own timer. Minute is a timed round, built on Knockout, that you cannot close early. Docs for traders and for builders using the SDK.","colors":{"primary":"#FF5527","light":"#FF5527","dark":"#FF5527"},"logo":{"light":"https://mintcdn.com/rekt/8mgrUcNYOzm4VlKn/logo/rekt-logo.png?fit=max\u0026auto=format\u0026n=8mgrUcNYOzm4VlKn\u0026q=85\u0026s=5a92c6a08c070f13a0f445e6c27c8209","dark":"https://mintcdn.com/rekt/8mgrUcNYOzm4VlKn/logo/rekt-logo.png?fit=max\u0026auto=format\u0026n=8mgrUcNYOzm4VlKn\u0026q=85\u0026s=5a92c6a08c070f13a0f445e6c27c8209","href":"https://rekt.money"},"favicon":"https://mintcdn.com/rekt/8mgrUcNYOzm4VlKn/images/favicon.png?fit=max\u0026auto=format\u0026n=8mgrUcNYOzm4VlKn\u0026q=85\u0026s=679589e5111e71c145382803f8f5310e","appearance":{"default":"dark"},"navbar":{"links":[{"href":"https://status.rekt.money","label":"Status"}]},"footer":{"socials":{"website":"https://rekt.money","x":"https://x.com/getrektapp","discord":"https://rekt.money/discord","telegram":"https://rekt.money/telegram"}},"search":{"prompt":"Search the docs"},"fonts":{"heading":{"family":"Unbounded"},"body":{"family":"Geist"}},"styling":{"codeblocks":"dark","latex":true},"banner":{"content":"Knockout and Minute are early software and unaudited. Trade only with money you can afford to lose entirely.","dismissible":true,"type":"warning"},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"rekt","hasAudioNarration":false,"actualSubdomain":"rekt","customDomains":["docs.rekt.money"],"gitSource":{"type":"github","owner":"asymmetra","repo":"1000x","deployBranch":"main","contentDirectory":"public-docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af8bae48ab3673930437e79","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"SDK","count":16},{"language":"default","tag":"Data","count":14},{"language":"default","tag":"Knockout","count":10},{"language":"default","tag":"Data API reference","count":9},{"language":"default","tag":"Using Rekt","count":5},{"language":"default","tag":"Aggregates","count":4},{"language":"default","tag":"Prices API reference","count":4},{"language":"default","tag":"Minute","count":3},{"language":"default","tag":"Health","count":2},{"language":"default","tag":"Trades","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"venue","slug":"/venue","pageMetadata":{"title":"The venue","sidebarTitle":"The venue","description":"What the Knockout program does: admission and the queue, the pricing path, the limits on loss and payout, settlement, size and fees, and where each one is read on chain.","icon":"shield-check","href":"/venue"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"What the Knockout program does: admission and the queue, the pricing path, the limits on loss and payout, settlement, size and fees, and where each one is read on chain.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Everything on this page is a rule or a value of the program on Solana mainnet. It is early,\nunaudited software: read `,_jsx(_components.a,{href:`/risk`,children:`Risk`}),` before you trade.`]}),`\n`,_jsx(Heading,{level:`2`,id:`three-bounds-fixed-at-open`,children:`Three bounds, fixed at open`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Loss is bounded.`}),` The most you can lose is your stake. There is no margin call, no negative\nbalance and no clawback.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Payout is bounded.`}),` A target cannot exceed a multiple of the stake, `,_jsx(_components.code,{children:`config.params.payoutCapMultiple`}),`.\nHow a win is paid is under `,_jsx(_components.a,{href:`#admission-and-the-queue`,children:`admission and the queue`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Time is fixed at open.`}),` The tenor is read from `,_jsx(_components.code,{children:`config.params.tMaxSeconds`}),` and frozen onto the\nposition. It is the indefinite value, so a position has no protocol clock: it ends at its barrier,\nits target, a close, its own timer, or the no-price close. The funding rate is 0, and a position\nkeeps the rate it opened with.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`admission-and-the-queue`,children:`Admission and the queue`}),`\n`,_jsx(_components.p,{children:`Opening a position takes your stake and nothing else. The program decides whether the position fits\nwhen the venue fills the order, against a rule it applies per market and in total. An order that does\nnot fit is returned: your whole stake comes back and no fee is charged. A hedge, a smaller target and\na close are never refused by this rule.`}),`\n`,_jsxs(_components.p,{children:[`At a close, your stake comes back at once and the profit is paid from the pool’s free cash. `,_jsx(_components.strong,{children:`A win is\npaid in full. Part of it may be paid later, in order. There is no guaranteed time. The amount queued\nahead of you is shown.`}),` What the pool cannot pay yet joins a queue, first in, first out, and it is\nfunded by cash that other positions leave in the pool. Anyone may send the instruction that delivers\nfunded queue money (`,_jsx(_components.code,{children:`pay_queue`}),`); it goes to the wallet recorded on the account. When the line is\nnearly full, a second unpaid win of the same account waits behind its first. The settlement events say\nhow much was paid now and how much was queued. The program has no auto-deleveraging, no socialised\nloss and no write-down of an amount owed: it is paid in full or stays owed. A payout that cannot be\ndelivered is held for its trader, and it is released to the pool if nobody claims it within\n`,_jsx(_components.code,{children:`config.params.unclaimedPayoutExpiryS`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The program has no instruction to deposit into the pool or to redeem from it; see\n`,_jsx(_components.a,{href:`/liquidity`,children:`the liquidity pool`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`the-pricing-path`,children:`The pricing path`}),`\n`,_jsx(_components.p,{children:`Your entry is the first price of the venue’s price feed at or after your order’s target slot, a short\ndelay after the order lands. It is a signed quote, and the program verifies it when the filler writes\nit. The function that prices an order takes the market and the quote and never the stake, so every\nsize fills at the same price.`}),`\n`,_jsx(_components.p,{children:`An order is returned when its price does not clear one of these:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Time.`}),` It comes within a governed number of slots after the target, and a filler writes it inside\nthe fill window.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Signatures.`}),` At least `,_jsx(_components.code,{children:`market.minSignatures`}),` distinct keys that the program recognises.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Quality.`}),` It meets the venue’s quality rule for an entry.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/sdk/orders`,children:`orders and closes`}),` for the rules and `,_jsx(_components.a,{href:`/risk`,children:`Risk`}),` for what they do not cover.`]}),`\n`,_jsx(Heading,{level:`2`,id:`the-barrier`,children:`The barrier`}),`\n`,_jsx(_components.p,{children:`At 1000x the barrier sits a very small distance from the entry. A move too small to see on a chart\ncan knock the position out. Barrier and take profit are both distances from the entry, so the 1000x\nsets how fast a position ends.`}),`\n`,_jsx(Heading,{level:`2`,id:`settlement`,children:`Settlement`}),`\n`,_jsx(_components.p,{children:`Settlement is permissionless for every outcome that has evidence behind it: the barrier touched, the\ntarget reached, the position’s own timer run out, and a finite protocol tenor expired. Any address may send\nthat transaction, and the money goes to the owner’s account whoever sent it. Every priced close carries\na signed quote from the venue’s price feed.`}),`\n`,_jsxs(_components.p,{children:[`If no quote can be obtained for a long time, a no-price close (`,_jsx(_components.code,{children:`lastResort`}),`) applies: it pays a live position its stake back\nwith the exit fee waived, and a position already stamped at a level is paid that level (a target level pays the exit fee). It is refused while the oracle is frozen. On a market with trading hours, a position that is\nnot settled before its session’s close ends at par.`]}),`\n`,_jsx(_components.p,{children:`A voluntary close needs the owner’s authority: a signature, or a session key the owner authorised. The\nsettle that completes it can be sent by anybody, at the first price after a short delay from the\nrequest.`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Two switches can stop closes, and neither can be lifted by the key that sets it.`}),` The guardian can\nfreeze the oracle, which refuses opens and leaves every priced close without a price. It can also\ndisable settles, which refuses every close. Only the config authority lifts either. Read\n`,_jsx(_components.code,{children:`config.oracleFrozen`}),` and `,_jsx(_components.code,{children:`config.settlesDisabled`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`what-you-sign-on-an-open`,children:`What you sign on an open`}),`\n`,_jsxs(_components.p,{children:[`You sign a total budget, and the venue takes its fee from inside it, so the debit is at most that\nnumber. You also sign `,_jsx(_components.code,{children:`min_collateral_out`}),`, the smallest position you accept for that budget. The\nposition the budget buys is computed from the live parameters in the slot where the transaction\nexecutes. If a governance change in between would buy a smaller position, the transaction refuses.\nA `,_jsx(_components.code,{children:`min_collateral_out`}),` of zero is refused (`,_jsx(_components.code,{children:`MinCollateralOutRequired`}),`).`]}),`\n`,_jsx(_components.p,{children:`The terms are fixed when the order lands. The entry is not: it is set by the next price. The barrier and\nthe target are distances from that entry, so their prices exist once the order is filled. Every number\nbelow is computed from the live parameters for the exact terms you are about to open:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`15`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`openPreview`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`type`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` ConfigView`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`type`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` MarketView`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@rekt-trading/1000x'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`export`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` function`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:` quote`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`config`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#4EC9B0`,\"--shiki-dark\":`#4EC9B0`},children:`ConfigView`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`market`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#4EC9B0`,\"--shiki-dark\":`#4EC9B0`},children:`MarketView`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`nowUnix`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#4EC9B0`,\"--shiki-dark\":`#4EC9B0`},children:`bigint`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6A9955`,\"--shiki-dark\":`#6A9955`},children:` // The fourth argument is the optional target in basis points of stake: 20_000 is 2.00x, the floor.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#4FC1FF`,\"--shiki-dark\":`#4FC1FF`},children:` preview`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = `}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`openPreview`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`config`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`market`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`1_000_000`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`n`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`20_000`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`nowUnix`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6A9955`,\"--shiki-dark\":`#6A9955`},children:` // What you transfer, and what the fee inside it is.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` totalDebit:`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` preview`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`totalDebit`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` entryFee:`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` preview`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`entryFee`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6A9955`,\"--shiki-dark\":`#6A9955`},children:` // The gross payout at the target, before the exit fee and the share of the gain the terms withhold.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` maxPayout:`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` preview`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`maxPayout`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6A9955`,\"--shiki-dark\":`#6A9955`},children:` // What the trader receives at the barrier.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` barrierPayout:`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` preview`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`barrierPayout`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` };`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`An interface shows `,_jsx(_components.code,{children:`barrierPayout`}),` on the same screen as the open button.`]}),`\n`,_jsx(Heading,{level:`2`,id:`size-cap-and-stake`,children:`Size, cap and stake`}),`\n`,_jsxs(_components.p,{children:[`BTC, ETH, SOL, XRP and HYPE are listed at a tier of `,_jsx(_components.strong,{children:`1000x`}),`. The protocol’s payout cap is\n`,_jsx(_components.code,{children:`config.params.payoutCapMultiple`}),`. See `,_jsx(_components.a,{href:`/markets`,children:`markets`}),`.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The 1000x decides the distance`}),` the price has to move, in either direction, before the position\nends. It sets the time scale of the position.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The payout cap decides the ceiling.`}),` A target above it is refused, and a position with no target\nof its own has the cap as its target.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Every market is 1000x. The market’s tier (`,_jsx(_components.code,{children:`market.tier`}),`) is a ceiling and the venue’s\n`,_jsx(_components.code,{children:`config.minTier`}),` is a floor, so every position opens at 1000x. A request above the ceiling or below the\nfloor is refused. Stakes run between `,_jsx(_components.code,{children:`minCollateral`}),` and `,_jsx(_components.code,{children:`maxCollateral`}),`. Each of these is a governed\nfield: read it from the chain. `,_jsx(_components.a,{href:`/limits`,children:`Fees and limits`}),` has the values, with the date they were read.`]}),`\n`,_jsx(Heading,{level:`2`,id:`fees`,children:`Fees`}),`\n`,_jsxs(_components.p,{children:[`There is an entry fee (read `,_jsx(_components.code,{children:`config.params.entryFeeBps`}),`; it is 0, so an open is free), a loss tax on\na close at a loss, an exit fee on most closes (not on one paid at the barrier, nor on a\nno-price close that returns the stake of a live position), and funding, which is a governed rate\n(`,_jsx(_components.code,{children:`borrowRateBpsPerHour`}),`) that is 0. The loss tax is a share of the loss, taken before the exit fee\n(`,_jsx(_components.a,{href:`/limits#how-a-loss-is-calculated`,children:`how a loss is calculated`}),`). The exit fee is a share of the exit\nvalue: a lower rate on a win and a higher rate on a loss. On a gain the terms also withhold part of the gain: the share you keep rises with the size of the\nmove, so a target pays less than its multiple. `,_jsx(_components.a,{href:`/limits#how-a-win-is-calculated`,children:`Fees and limits`}),` has\nthe values, dated, and a worked example. Every rate is written on chain, and the ones that apply to a position are\nfrozen onto it at open. A returned order or add returns the whole stake.\n`,_jsx(_components.a,{href:`/how-it-works#the-fees`,children:`How it works`}),` has each fee, where it is read from and where it goes, and\n`,_jsx(_components.a,{href:`/limits`,children:`Fees and limits`}),` has the rates.`]}),`\n`,_jsxs(_components.p,{children:[`A wallet linked to a referrer pays a lower exit fee, and the referrer is credited a share of the\nprotocol’s part of that wallet’s trades. `,_jsx(_components.a,{href:`/referrals`,children:`Referrals`}),` has the rules.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-the-product-does-not-do`,children:`What the product does not do`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`It is not a hedge.`}),` A knockout ends the position at the moment a hedge would be needed.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`It does not fill at the price on your screen.`}),` Entry and exit are the venue’s next prices after a\nshort delay. A close you ask for cannot be withdrawn, and its price is not locked until it settles.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`It does not roll over.`}),` A position ends by its own rules.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Adding to a position does not defend it.`}),` Adding while ahead moves the barrier toward the price.\nSee `,_jsx(_components.a,{href:`/how-it-works#adding-to-a-position`,children:`adding to a position`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`read-it-on-chain`,children:`Read it on chain`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Item`}),_jsx(_components.th,{children:`Where it lives on chain`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`What the stakes hold`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`vault.totalReserved`}),` and the position’s `,_jsx(_components.code,{children:`collateral`}),` on its book`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`The queue: what is owed and what is funded`}),_jsxs(_components.td,{children:[`the pool’s capital and queue accounts (`,_jsx(_components.code,{children:`capitalPda()`}),`, `,_jsx(_components.code,{children:`queuePda()`}),`); the `,_jsx(_components.code,{children:`SettlementQueued`}),` and `,_jsx(_components.code,{children:`QueuePaid`}),` events`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`The entry price`}),_jsxs(_components.td,{children:[`the `,_jsx(_components.code,{children:`EntryFilled`}),` event, and the position’s `,_jsx(_components.code,{children:`entryPrice`}),` once the order is filled`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`The maximum loss`}),_jsxs(_components.td,{children:[`the position’s `,_jsx(_components.code,{children:`collateral`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`The 1000x tier and payout ceiling`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`market.tier`}),` and `,_jsx(_components.code,{children:`config.params.payoutCapMultiple`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`The funding rate`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`config.params.borrowRateBpsPerHour`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Whether closes can be stopped`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`config.oracleFrozen`}),` and `,_jsx(_components.code,{children:`config.settlesDisabled`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Everything a trade must clear`}),_jsxs(_components.td,{children:[_jsx(_components.a,{href:`/sdk/gates`,children:`the gate list`}),`, each with the error it raises`]})]})]})]}),`\n`,_jsx(CodeBlock,{numberOfLines:`4`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`solana account \u003cCONFIG_PDA> --url \"$SOLANA_RPC_URL\" # every fee, bound and cap in force`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`solana account \u003cVAULT_PDA> --url \"$SOLANA_RPC_URL\" # pool assets, the stakes held`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`solana program show \u003cPROGRAM_ID> --url \"$SOLANA_RPC_URL\" # who can upgrade the program`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`The SDK exports `,_jsx(_components.code,{children:`PROGRAM_ID`}),`, and `,_jsx(_components.code,{children:`configPda()`}),` and `,_jsx(_components.code,{children:`vaultPda()`}),` derive the two addresses. The SDK\ndecodes the accounts and events, and the package carries the program’s IDL. For integration\nquestions, write to `,_jsx(_components.a,{href:`mailto:support@asymmetra.xyz`,children:`support@asymmetra.xyz`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"The venue","sidebarTitle":"The venue","description":"What the Knockout program does: admission and the queue, the pricing path, the limits on loss and payout, settlement, size and fees, and where each one is read on chain.","icon":"shield-check","href":"/venue"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Three bounds, fixed at open","slug":"three-bounds-fixed-at-open","depth":2,"children":[]},{"title":"Admission and the queue","slug":"admission-and-the-queue","depth":2,"children":[]},{"title":"The pricing path","slug":"the-pricing-path","depth":2,"children":[]},{"title":"The barrier","slug":"the-barrier","depth":2,"children":[]},{"title":"Settlement","slug":"settlement","depth":2,"children":[]},{"title":"What you sign on an open","slug":"what-you-sign-on-an-open","depth":2,"children":[]},{"title":"Size, cap and stake","slug":"size-cap-and-stake","depth":2,"children":[]},{"title":"Fees","slug":"fees","depth":2,"children":[]},{"title":"What the product does not do","slug":"what-the-product-does-not-do","depth":2,"children":[]},{"title":"Read it on chain","slug":"read-it-on-chain","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"rekt","siteName":"Rekt","title":"The venue - Rekt","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-10T19:01:52.017Z","originalFileLocation":"venue.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"What the Knockout program does: admission and the queue, the pricing path, the limits on loss and payout, settlement, size and fees, and where each one is read on chain.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Rekt\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/rekt/aCVMsY4IDHuD7w16/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/rekt/aCVMsY4IDHuD7w16/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/rekt/aCVMsY4IDHuD7w16/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/rekt/aCVMsY4IDHuD7w16/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/rekt/aCVMsY4IDHuD7w16/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/rekt/aCVMsY4IDHuD7w16/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/rekt/aCVMsY4IDHuD7w16/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/rekt/aCVMsY4IDHuD7w16/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/rekt/aCVMsY4IDHuD7w16/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"The venue - Rekt\">\u003cmeta data-mint-head property=\"og:description\" content=\"What the Knockout program does: admission and the queue, the pricing path, the limits on loss and payout, settlement, size and fees, and where each one is read on chain.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Rekt\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.rekt.money/venue\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://rekt.mintlify.site/_mintlify/api/og/v2?division=Knockout\u0026amp;title=The+venue\u0026amp;description=What+the+Knockout+program+does%3A+admission+and+the+queue%2C+the+pricing+path%2C+the+limits+on+loss+and+payout%2C+settlement%2C+size+and+fees%2C+and+where+each+one+is+read+\u0026amp;theme=1ddf76a5e78a4095e3bdffaf\u0026amp;signature=17d338e27636796211fc9da0a92b77d86be542a084300f54a301314ce900b633\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"The venue - Rekt\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"What the Knockout program does: admission and the queue, the pricing path, the limits on loss and payout, settlement, size and fees, and where each one is read on chain.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://rekt.mintlify.site/_mintlify/api/og/v2?division=Knockout\u0026amp;title=The+venue\u0026amp;description=What+the+Knockout+program+does%3A+admission+and+the+queue%2C+the+pricing+path%2C+the+limits+on+loss+and+payout%2C+settlement%2C+size+and+fees%2C+and+where+each+one+is+read+\u0026amp;theme=1ddf76a5e78a4095e3bdffaf\u0026amp;signature=17d338e27636796211fc9da0a92b77d86be542a084300f54a301314ce900b633\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/rekt/aCVMsY4IDHuD7w16/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Rekt\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF5527\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.rekt.money/venue\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/venue.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.rekt.money/#organization\",\"name\":\"Rekt\",\"url\":\"https://docs.rekt.money\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/rekt/8mgrUcNYOzm4VlKn/logo/rekt-logo.png?fit=max\u0026auto=format\u0026n=8mgrUcNYOzm4VlKn\u0026q=85\u0026s=5a92c6a08c070f13a0f445e6c27c8209\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.rekt.money#website\",\"name\":\"Rekt\",\"url\":\"https://docs.rekt.money\",\"publisher\":{\"@id\":\"https://docs.rekt.money/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.rekt.money/venue#webpage\",\"url\":\"https://docs.rekt.money/venue\",\"name\":\"The venue\",\"description\":\"What the Knockout program does: admission and the queue, the pricing path, the limits on loss and payout, settlement, size and fees, and where each one is read on chain.\",\"dateModified\":\"2026-11-10T19:01:52.017Z\",\"isPartOf\":{\"@id\":\"https://docs.rekt.money#website\"},\"breadcrumb\":{\"@id\":\"https://docs.rekt.money/venue#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.rekt.money/venue#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Knockout\",\"item\":\"https://docs.rekt.money\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The venue\",\"item\":\"https://docs.rekt.money/venue\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.rekt.money/venue#article\",\"headline\":\"The venue\",\"name\":\"The venue\",\"description\":\"What the Knockout program does: admission and the queue, the pricing path, the limits on loss and payout, settlement, size and fees, and where each one is read on chain.\",\"url\":\"https://docs.rekt.money/venue\",\"mainEntityOfPage\":{\"@id\":\"https://docs.rekt.money/venue#webpage\"},\"dateModified\":\"2026-11-10T19:01:52.017Z\",\"publisher\":{\"@id\":\"https://docs.rekt.money/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.rekt.money#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Rekt\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Rekt\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/venue.md","siteName":"Rekt","nav":{"global":null,"groups":[{"group":"Knockout","icon":"book-open","pages":[{"title":"Knockout","sidebarTitle":"Overview","icon":"bolt","href":"/index"},{"title":"Fees and limits","sidebarTitle":"Fees and limits","description":"What a trade costs and what you can do: the fees, how a win and a loss are worked out, the stake limits and the minimum hold.","icon":"scale-balanced","href":"/limits"},{"title":"The venue","sidebarTitle":"The venue","icon":"shield-check","href":"/venue"},{"title":"How the product works","description":"Direction, stake, barrier and take profit, and the ways a position ends.","icon":"gears","href":"/how-it-works"},{"title":"Markets","sidebarTitle":"Markets","icon":"chart-line","href":"/markets"},{"title":"The liquidity pool","icon":"layer-group","href":"/liquidity"},{"title":"Referrals","sidebarTitle":"Referrals","icon":"user-plus","href":"/referrals"},{"title":"Risk","icon":"triangle-exclamation","href":"/risk"},{"title":"Report a security issue","sidebarTitle":"Security reports","icon":"shield-halved","href":"/security"},{"title":"Glossary","icon":"book","href":"/glossary"}]},{"group":"Minute","icon":"timer","pages":[{"title":"What a Minute round does","icon":"timer","href":"/minute/how-to-think-about-it"},{"title":"Integrating Minute","icon":"plug","href":"/minute/integrating"}]},{"group":"Using Rekt","icon":"user","pages":[{"title":"Points and ranks","icon":"trophy","href":"/using-rekt/points-and-ranks"},{"title":"Daily streak","icon":"fire","href":"/using-rekt/daily-streak"},{"title":"Challenges","icon":"flag-checkered","href":"/using-rekt/challenges"},{"title":"Invites","icon":"user-plus","href":"/using-rekt/invites"},{"title":"Alerts","icon":"bell","href":"/using-rekt/alerts"}]},{"group":"Data","icon":"database","pages":[{"title":"Data API","sidebarTitle":"Data API","icon":"database","href":"/data-api"},{"group":"Data API reference","pages":[{"group":"Health","pages":[{"title":"Health and limits","deprecated":null,"version":null,"openapi":"/openapi/data-api.json get /v0/health","href":"/api-reference/data/health/health-and-limits"}]},{"group":"Aggregates","pages":[{"title":"Counts and daily volume","deprecated":null,"version":null,"openapi":"/openapi/data-api.json get /v0/stats","href":"/api-reference/data/aggregates/counts-and-daily-volume"},{"title":"Volume by market","deprecated":null,"version":null,"openapi":"/openapi/data-api.json get /v0/markets","href":"/api-reference/data/aggregates/volume-by-market"},{"title":"Payout queue and no-price closes","deprecated":null,"version":null,"openapi":"/openapi/data-api.json get /v0/capital","href":"/api-reference/data/aggregates/payout-queue-and-no-price-closes"},{"title":"Referral totals","deprecated":null,"version":null,"openapi":"/openapi/data-api.json get /v0/referral","href":"/api-reference/data/aggregates/referral-totals"}]},{"group":"Trades","pages":[{"title":"Settled trades","deprecated":null,"version":null,"openapi":"/openapi/data-api.json get /v0/trades","href":"/api-reference/data/trades/settled-trades"},{"title":"One settled trade","deprecated":null,"version":null,"openapi":"/openapi/data-api.json get /v0/trades/{signature}","href":"/api-reference/data/trades/one-settled-trade"}]},{"group":"Minute","pages":[{"title":"Minute rounds","deprecated":null,"version":null,"openapi":"/openapi/data-api.json get /v0/minute/rounds","href":"/api-reference/data/minute/minute-rounds"}]},{"group":"Positions","pages":[{"title":"Ended positions","deprecated":null,"version":null,"openapi":"/openapi/data-api.json get /v0/positions","href":"/api-reference/data/positions/ended-positions"}]}]},{"group":"Prices API reference","pages":[{"group":"Feeds","pages":[{"title":"Feeds and signer keys","deprecated":null,"version":null,"openapi":"/openapi/prices.json get /v1/feeds","href":"/api-reference/prices/feeds/feeds-and-signer-keys"},{"title":"Feed readiness","deprecated":null,"version":null,"openapi":"/openapi/prices.json get /v1/readiness","href":"/api-reference/prices/feeds/feed-readiness"}]},{"group":"Quotes","pages":[{"title":"A signed quote","deprecated":null,"version":null,"openapi":"/openapi/prices.json post /v1/quote","href":"/api-reference/prices/quotes/a-signed-quote"}]},{"group":"Health","pages":[{"title":"Service health","deprecated":null,"version":null,"openapi":"/openapi/prices.json get /v1/health","href":"/api-reference/prices/health/service-health"}]}]}]},{"group":"SDK","icon":"code","pages":[{"title":"Installation","icon":"download","href":"/sdk/installation"},{"title":"Quickstart","icon":"rocket","href":"/sdk/quickstart"},{"title":"Read the protocol","icon":"book-open-reader","href":"/sdk/reading"},{"title":"Orders and closes","sidebarTitle":"Orders and closes","icon":"list-check","href":"/sdk/orders"},{"title":"Session keys","sidebarTitle":"Session keys","icon":"key","href":"/sdk/sessions"},{"title":"Quotes and freshness","icon":"satellite-dish","href":"/sdk/quotes"},{"title":"Getting prices","sidebarTitle":"Getting prices","icon":"satellite-dish","href":"/sdk/prices"},{"title":"Build with an AI agent","sidebarTitle":"Build with an AI agent","icon":"robot","href":"/sdk/ai"},{"title":"Building an agent","icon":"robot","href":"/sdk/agents"},{"title":"Reading gates","icon":"traffic-light","href":"/sdk/gates"},{"title":"Opening a position","icon":"paper-plane","href":"/sdk/opening"},{"title":"Reading positions","icon":"list-check","href":"/sdk/positions"},{"title":"Settling a position","icon":"flag-checkered","href":"/sdk/settling"},{"title":"Error handling","icon":"bug","href":"/sdk/errors"},{"title":"Reference","icon":"list","href":"/sdk/reference"},{"title":"Changelog","icon":"clock-rotate-left","href":"/changelog"}]},{"group":"Tools","icon":"terminal","pages":[{"title":"Wheelman","sidebarTitle":"Wheelman","icon":"terminal","href":"/tools/wheelman"}]}]},"basePath":"","title":"The venue - Rekt","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":[],"chunks":[]}