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

# Public API and SDKs

Start with Sidepit's public protocol, Python SDK, agent skills, and CCXT adapter.

Sidepit exposes live production market data and exchange state without credentials. Trading writes are signed by the client; the exchange does not issue a conventional API key.

The official repository is [sidepit/Public-API](https://github.com/sidepit/Public-API). Its protocol submodule pins the public [`sidepit_api.proto`](https://github.com/sidepit/Public-API-Data/blob/main/sidepit_api.proto).

## Choose a path

| Goal                           | Start here                                                     |
| ------------------------------ | -------------------------------------------------------------- |
| Read the market in two minutes | `examples/quickstart.py`                                       |
| Onboard a human safely         | `skills/sidepit-onboarding/SKILL.md`                           |
| Trade with an authorized agent | `skills/sidepit-trade/SKILL.md`                                |
| Build in Python                | `python-client/sidepit_trader/`                                |
| Speak NNG/protobuf directly    | `Public-API-Data/sidepit_api.proto` and repository `AGENTS.md` |
| Use a CCXT-shaped interface    | `integrations/ccxt/` through the local facade                  |

## Keyless live check

```sh
git clone --recurse-submodules \
  https://github.com/sidepit/Public-API
cd Public-API
python3 -m venv python-client/.venv
python-client/.venv/bin/pip install -r python-client/requirements.txt
python-client/.venv/bin/python examples/quickstart.py
```

Expected output includes a named exchange state, active dated forward, live quote, familiar USD/BTC translation, contract size, margins, and expiry. No account or key is needed.

## Production connection

* Host: `api.sidepit.com`
* Transport: NNG over TCP
* Payloads: protobuf
* Signatures: secp256k1 ECDSA over the serialized `Transaction`
* Native price: integer sats per USD
* Clock: DLOB — one-second deterministic auctions

Feeds publish while the exchange is open and are normally quiet while it is closed. Start every client with `ACTIVE_PRODUCT` on port `12125`; do not hardcode the ticker or schedule.

## Client rule

A successful send means queued, not filled. Resolve orders from the order and rejection surfaces. Resolve account actions from receipts, terminal records, and complete account state.

Market intent is `NewOrder.price` omitted or `0`. It is native immediate-or-cancel: the order sweeps available opposite liquidity in one auction and cancels all unfilled quantity.

Read [Wire Protocol](/users-and-agents/api/wire-protocol.md) for ports and fields, [Agent Skills](/users-and-agents/api/agents.md) for the safe human/agent boundary, or [CCXT Integration](/users-and-agents/api/ccxt.md) for the adapter contract.


---

# 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.sidepit.com/users-and-agents/api.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.
