Introduction
The Parallax public API, SDK, and developer guides — honest about what is live and what is planned.
Parallax is an API-first institutional event-contract exchange. The public REST API is the product; the trading app and admin console are just clients of it. Everything you can do in a UI, you can do against the same contract you build on.
Start here — what's live, what's planned
This is generated from the live capability manifest, so it can't drift from reality.
Live today
11- Service metadataPAR, price range, currencies, algorithm + API version, server time.
- Market discoveryList/filter markets; the only genuinely-paginating endpoint (cursor).
- Market detailA single market incl. legs + as_of_offset.
- Pool + indicative pricePer-leg funded pool + indicative price (IEP, Open-only, non-binding).
- Clearing resultCLEARED/NO_CLEAR, per-leg matched_contracts (a COUNT) + the conservation totals.
- Submit demandFunded sealed demand on a leg; auto Idempotency-Key; returns the real DemandOrder id.
- PositionsThe firm's pooled fractional claims. NOTE: carries no as_of_offset.
- Collateral accountsbalance / held / available / claimable + per-record as_of_offset.
- Claimable refundsUnswept on-ledger Refund contracts (not a full refund ledger).
- Claim a refundSweep a Refund into the account — money is NOT auto-credited; a Claim is required.
- Human auth (WorkOS JWT)AuthKit session JWT, verified at the gateway (JWKS) and mapped to a firm party.
Reachable, but stubbed (503)
2- Record a deposit intentRoute is reachable but funding rails are out of MVP scope — it always returns a typed 503.
- Request a withdrawalRoute is reachable but funding rails are out of MVP scope — it always returns a typed 503.
Planned — not built yet
12- Machine auth (API keys / OAuth2)Headless machine credentials are PLANNED — you cannot integrate server-to-server without a human session token yet.
- Sandbox environmentNo isolated test environment or clock control yet — POST /orders mutates the LIVE exchange.
- Real-time SSE streamsNo streaming transport exists; poll the read endpoints. The SDK ships NO stream* symbols.
- Outbound webhooksNo webhook delivery exists.
- Pull event log (GET /events)The drop-copy/audit pull-log is designed but not built.
- Batch order verbsBulk submit / kill-switch are deferred and additive.
- Eligibility readsThere is no queryable eligibility state; not_eligible is only a write-path rejection reason.
- Admin lifecycle controlsThe admin console is read-only — NO approve/open/freeze/clear/transition mutation exists.
- Cross-firm surveillanceCross-firm/market surveillance views are not built.
- Pre-freeze order cancelCancel-before-freeze is documented (api.md §3.3) but not implemented.
- Python SDKGenerated from the same OpenAPI in Phase 2; use the language-agnostic httpx/curl read quickstart today.
- Java/Kotlin SDKGenerated from the same OpenAPI in Phase 2 for bank OMS integration.
Machine-to-machine credentials are planned. Today you authenticate with a WorkOS human session token —
there is no headless API key yet, and no isolated sandbox (so POST /orders mutates the live exchange).
See Auth and the interim auth recipe.
Where to go next
- 10-minute quickstart — your first read + order with the TS SDK.
- Recipes — task-oriented guides (place an order, reconcile a position, claim a refund, classify errors).
- Mental model — pooled sealed demand vs. a central limit order book.
- Money & numbers — minor-unit strings, prices 0–100, and the one count-vs-money trap.
- API reference — the 12 live endpoints, generated from the OpenAPI contract.