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

# Strike

Strike is a 24/7 cash-settled options exchange. These docs cover the protocol (matching, settlement, custody) and the public /v1 API.

Strike is a cash-settled options exchange with a native Rust matching engine: price-time priority, integer micros end to end, no floating point where money moves. It lists options on equities, indices and crypto, with daily, weekly and monthly expiries. The book never closes: there is no opening auction, no halt, and no weekend. Every quote on the chain is a real resting order.

This documentation has two halves:

* [**Protocol**](/protocol/market-structure.md) covers the contract: [market structure](/protocol/market-structure.md) (series conventions, expiry cutoffs, settlement and the oracle's refusal semantics, the margin figures), and [custody and the money lifecycle](/protocol/custody.md).
* [**API reference**](/api-reference/openapi.md) covers the public `/v1` API: what a fund's engineer needs to go from nothing to deposit, trade, and withdraw. Start with the [Quickstart](/quickstart.md).

## Base URL

```
https://api.strikelabs.app
```

All responses are JSON. All requests that carry a body must send `content-type: application/json`.

## A first request

```bash
curl https://api.strikelabs.app/v1/meta
```

That is the listing universe with a live underlying price for each symbol. From a symbol you get its expiries from [`/v1/series`](/api-reference/info.md), and from an expiry you get the tradable chain from [`/v1/chain`](/api-reference/info.md).

## What this API is

Strike's own wire format on `https://api.strikelabs.app`. It is deliberately **not** Hyperliquid-compatible or a clone of any other venue's surface, so do not assume semantics carry over from one you already integrate with.

* **Reads** are JSON over HTTP, most of them unauthenticated.
* **Writes are signed** by a session key your wallet approved. One wallet prompt, then no prompts. See [Signing](/api-reference/signing.md).
* **Amounts on the wire are decimals**; amounts you *sign* are integer micros. That distinction causes most first-day 401s.
* **European, cash-settled, multiplier 1.0.** One contract is one underlying unit.
* **The book never closes.** No opening auction, no halt, no weekend, no holiday calendar.

## Custody, before you fund anything

**The vault is non-custodial, in the following precise sense:** the vault contract has no operator role (no key that can move funds to an address of its choosing), and it accepts new state only with a zero-knowledge proof over the venue's public ledger and the co-signatures of an attester quorum that replayed it: balances seeded solely by the vault's own deposits, cash conserved, every withdrawal covered and signed, every fill traced to the account's own signature. Claiming a proven withdrawal needs nobody's permission, and a venue that goes silent opens a **forced exit** with your own keys. Some things remain trusted, and we name them rather than hide them: settlement prints, execution prices you did not bound, liquidation prices, and under the epoch proof the attester quorum for trade authorisation. The [custody page](/protocol/custody.md) states the whole model, which contract holds funds today, and those trusted parts. Read it before wiring money.

## The contract

[An OpenAPI contract](/api-reference/openapi.md) governs the public API, written against the venue's source rather than generated from a running server. A test walks it against the venue's real route table and fails the build if they disagree in either direction: a documented endpoint that does not exist, or a public endpoint nobody documented. The docs cannot drift silently.

***

These pages describe what the venue does today, verified against its source, including the parts that are awkward. If a page reads as more reassuring than the code, the page is wrong; report it.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.strikelabs.app/readme.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
