# Zero Latency Labs > Zero Latency Labs is a crypto perpetuals exchange. This is the Trading API reference and integration guides. Official SDKs are coming soon; for now, request signing is manual. ## Docs - [Create account](https://docs.zerolatencylabs.com/api-reference/trading/account/create-account.md): Handles account creation with master key authentication. - [Create subaccount](https://docs.zerolatencylabs.com/api-reference/trading/account/create-subaccount.md): Handles the creation of a new subaccount under an existing account. - [Get account](https://docs.zerolatencylabs.com/api-reference/trading/account/get-account.md): Retrieves the authenticated account, including its subaccount count. - [List subaccounts](https://docs.zerolatencylabs.com/api-reference/trading/account/list-subaccounts.md): Retrieves subaccount summaries visible to the authenticated API key. - [Create API key](https://docs.zerolatencylabs.com/api-reference/trading/api-keys/create-api-key.md): Creates a new API key for an account. - [Delete API key](https://docs.zerolatencylabs.com/api-reference/trading/api-keys/delete-api-key.md): Deletes an API key on an account. - [List API keys](https://docs.zerolatencylabs.com/api-reference/trading/api-keys/list-api-keys.md): Lists the API keys registered on an account (prefixes only, no raw keys). - [Create WS ticket](https://docs.zerolatencylabs.com/api-reference/trading/device-keys/create-ws-ticket.md): Mint a single-use ticket for the private WebSocket. - [List device keys](https://docs.zerolatencylabs.com/api-reference/trading/device-keys/list-device-keys.md): List the calling account's device keys (prefixes only). - [Log out](https://docs.zerolatencylabs.com/api-reference/trading/device-keys/log-out.md): Revoke the session key, optionally delete the device key. - [Mint device key](https://docs.zerolatencylabs.com/api-reference/trading/device-keys/mint-device-key.md): Authenticated by the session-key signature in the `X-PUBLIC-KEY` / `X-SIGNATURE` / `X-REQUEST-ID` headers (same as `POST /api/v1/api-keys`); a pinned device key cannot exceed the signing session's reach. The raw secret is returned once in the response body; the client stores it and presents it in th… - [Revoke a device key (logout)](https://docs.zerolatencylabs.com/api-reference/trading/device-keys/revoke-a-device-key-logout.md): Account-scoped, so a caller cannot delete another account's key. - [Create device pairing](https://docs.zerolatencylabs.com/api-reference/trading/device-pairing/create-device-pairing.md): Mint a pairing for the authenticated account. - [Deposit pairing keys](https://docs.zerolatencylabs.com/api-reference/trading/device-pairing/deposit-pairing-keys.md): Deposit the phone's public keys into a pairing. - [Poll pairing status](https://docs.zerolatencylabs.com/api-reference/trading/device-pairing/poll-pairing-status.md): Poll the desktop's pairing mailbox. - [Get fill](https://docs.zerolatencylabs.com/api-reference/trading/fills/get-fill.md): Retrieves a specific fill by its unique ID. - [List fills](https://docs.zerolatencylabs.com/api-reference/trading/fills/list-fills.md): Retrieves a paginated list of fills for the caller's account. - [List funding payments](https://docs.zerolatencylabs.com/api-reference/trading/funding/list-funding-payments.md): Retrieves historical funding payments for a portfolio. - [Health check](https://docs.zerolatencylabs.com/api-reference/trading/health/health-check.md): Returns 200 OK when the OG can serve traffic, 503 otherwise. - [List leverage settings](https://docs.zerolatencylabs.com/api-reference/trading/leverage/list-leverage-settings.md): Retrieves all leverage settings for a portfolio. - [Set leverage](https://docs.zerolatencylabs.com/api-reference/trading/leverage/set-leverage.md): Sets or updates the leverage preference for a portfolio on a specific market. - [Add admin key](https://docs.zerolatencylabs.com/api-reference/trading/master-keys/add-admin-key.md): Adds an admin master key to an account. Only an admin key can add another admin key. The request type determines what key is being added; the auth type determines who signs. - [Add scoped key](https://docs.zerolatencylabs.com/api-reference/trading/master-keys/add-scoped-key.md): Adds a scoped key to a specific subaccount. The signer must itself be an admin key — scoped keys cannot promote each other. The body's `RequestType` selects which scoped-key flavour (Secp256k1 or Passkey) is being added; the auth header carries whatever signature scheme the signing admin key uses. - [Remove admin key](https://docs.zerolatencylabs.com/api-reference/trading/master-keys/remove-admin-key.md): Removes an admin master key from an account. Only an admin key can remove another admin key. - [Remove scoped key](https://docs.zerolatencylabs.com/api-reference/trading/master-keys/remove-scoped-key.md): Removes a scoped master key from a specific subaccount. As with the add path, the signer must be an admin key. - [Cancel an order](https://docs.zerolatencylabs.com/api-reference/trading/orders/cancel-an-order.md): Handles the ingestion of a client-signed order cancellation request. - [Get order](https://docs.zerolatencylabs.com/api-reference/trading/orders/get-order.md): Retrieves a specific order by its unique ID. - [List orders](https://docs.zerolatencylabs.com/api-reference/trading/orders/list-orders.md): Retrieves a paginated list of orders for the caller's account. - [Place a limit order](https://docs.zerolatencylabs.com/api-reference/trading/orders/place-a-limit-order.md): Handles the ingestion of a client-signed order placement request. - [Place a market order](https://docs.zerolatencylabs.com/api-reference/trading/orders/place-a-market-order.md): Handles the ingestion of a client-signed market order placement request. - [Update an order](https://docs.zerolatencylabs.com/api-reference/trading/orders/update-an-order.md): Handles the ingestion of a client-signed order update request. - [Close a portfolio](https://docs.zerolatencylabs.com/api-reference/trading/portfolio/close-a-portfolio.md): Handles the close of an existing portfolio. - [Create a portfolio](https://docs.zerolatencylabs.com/api-reference/trading/portfolio/create-a-portfolio.md): Handles the creation of a new portfolio for an existing account. - [Get portfolio balance](https://docs.zerolatencylabs.com/api-reference/trading/portfolio/get-portfolio-balance.md): Returns the cash balance of a portfolio. - [List portfolio cash balances](https://docs.zerolatencylabs.com/api-reference/trading/portfolio/list-portfolio-cash-balances.md): Returns the cash balances for all portfolios visible to the authenticated API key. - [Rename a portfolio](https://docs.zerolatencylabs.com/api-reference/trading/portfolio/rename-a-portfolio.md): This updates only the portfolio's display name; it does not affect trading or balances. - [Reopen a portfolio](https://docs.zerolatencylabs.com/api-reference/trading/portfolio/reopen-a-portfolio.md): Handles the reopening of a previously-closed portfolio. - [List open positions](https://docs.zerolatencylabs.com/api-reference/trading/positions/list-open-positions.md): Lists the authenticated account's open positions. - [Get fee schedule](https://docs.zerolatencylabs.com/api-reference/trading/public/get-fee-schedule.md): Returns the public fee schedule (all tiers). - [Create a session](https://docs.zerolatencylabs.com/api-reference/trading/sessions/create-a-session.md): Handles session creation with master key authentication. - [List sessions](https://docs.zerolatencylabs.com/api-reference/trading/sessions/list-sessions.md): Lists an account's session keys for the logged-in account-management page. - [List sessions (master key)](https://docs.zerolatencylabs.com/api-reference/trading/sessions/list-sessions-master-key.md): List an account's session keys for a master-key holder. - [Revoke a session](https://docs.zerolatencylabs.com/api-reference/trading/sessions/revoke-a-session.md): Handles session revocation with master key authentication. - [Deposit cash](https://docs.zerolatencylabs.com/api-reference/trading/transfers/deposit-cash.md): Handles the ingestion of a client-signed deposit request. Processes `DepositCash` requests. `DepositSpot` is currently unsupported. The request is validated, rate-limited, and submitted to the exchange. - [Transfer cash](https://docs.zerolatencylabs.com/api-reference/trading/transfers/transfer-cash.md): Transfers cash between portfolios, either intra-account (between portfolios owned by the same account) or inter-account (between portfolios that may belong to different accounts). - [Withdraw cash](https://docs.zerolatencylabs.com/api-reference/trading/transfers/withdraw-cash.md): Handles the ingestion of a client-signed withdrawal request. - [Signing Checklist & Troubleshooting](https://docs.zerolatencylabs.com/auth/common-signing-mistakes.md): Get a signature right the first time, and debug a rejected one. - [Credentials](https://docs.zerolatencylabs.com/auth/credentials.md): A reference table for every credential the API accepts. - [Device Pairing](https://docs.zerolatencylabs.com/auth/device-pairing.md): A QR relay that moves only public keys from a phone to a desktop — no secret crosses it. - [Master Keys](https://docs.zerolatencylabs.com/auth/master-keys.md): The root-of-trust keys that mint sessions and manage your account. - [Authentication](https://docs.zerolatencylabs.com/auth/overview.md): Which credential each request needs, and how signing works. - [Read Credentials](https://docs.zerolatencylabs.com/auth/read-credentials.md): The bearer keys for GET endpoints, and how their scope works. - [Session Keys](https://docs.zerolatencylabs.com/auth/session-keys.md): The Ed25519 keys you sign day-to-day trades with. - [SessionSig Header Auth](https://docs.zerolatencylabs.com/auth/session-sig.md): Sign reads and key management with the SessionSig headers. - [Signed Payload Envelope](https://docs.zerolatencylabs.com/auth/signed-payload.md): How to build and sign the write-request envelope. - [Withdrawals Are Admin-Rooted](https://docs.zerolatencylabs.com/auth/withdrawals-security.md): Why withdrawals require an admin-rooted session, not just a signature. - [Accounts, Subaccounts, and Portfolios](https://docs.zerolatencylabs.com/concepts/accounts-subaccounts-portfolios.md): How portfolios hold your cash and positions, and how subaccounts isolate risk. - [Collateral and Cash](https://docs.zerolatencylabs.com/concepts/collateral-and-cash.md): How USDC collateral works, and how to fund and move it. - [Fees](https://docs.zerolatencylabs.com/concepts/fees.md): Maker and taker trading fees, the public tier schedule, and the fee formula on every fill. - [Markets, Assets, and Precision](https://docs.zerolatencylabs.com/concepts/markets-assets-precision.md): Convert human prices and sizes to the integers the API expects, and back. - [Orders and Time-in-Force](https://docs.zerolatencylabs.com/concepts/orders-and-tif.md): How to place limit and market orders, and how they behave. - [Positions, Leverage, and Funding](https://docs.zerolatencylabs.com/concepts/positions-leverage-funding.md): How positions form and how margin and funding work. - [Degraded Modes](https://docs.zerolatencylabs.com/errors/degraded-modes.md): Transient 500/503/504 responses, the retryable RequestAck statuses, and how to back off safely. - [Error Codes](https://docs.zerolatencylabs.com/errors/error-codes.md): The stable reference for status codes and order outcomes. - [Error Model](https://docs.zerolatencylabs.com/errors/error-model.md): How errors are reported, and why a 200 can still be a rejection. - [Core Concepts](https://docs.zerolatencylabs.com/get-started/core-concepts.md): The building blocks of the ZLL Trading API: accounts, keys, signing, orders, units, limits, and errors. - [Environments](https://docs.zerolatencylabs.com/get-started/environments.md): Base URLs and rate limits for the ZLL Trading API. - [Overview](https://docs.zerolatencylabs.com/get-started/overview.md): The REST API behind the Zero Latency Labs perpetuals exchange. - [Quickstart](https://docs.zerolatencylabs.com/get-started/quickstart.md): Place your first order on staging, end to end. - [Testnet Faucet](https://docs.zerolatencylabs.com/get-started/testnet-faucet.md): There is no self-serve faucet yet. Test collateral on staging is provisioned out of band. - [What Is a Perp?](https://docs.zerolatencylabs.com/get-started/what-is-a-perp.md): A perpetual future tracks an asset's price with no expiry, and how ZLL runs them. - [Deposit, Withdraw, and Transfer](https://docs.zerolatencylabs.com/guides/deposit-withdraw-transfer.md): Move USDC cash on and off the exchange and between portfolios: endpoints, auth, bodies, and reading the ack. - [Fund and Trade](https://docs.zerolatencylabs.com/guides/fund-and-trade.md): The full fund-and-trade path with error handling: check cash, set leverage, place an order, read the ack, then confirm positions and fills. - [Manage Positions](https://docs.zerolatencylabs.com/guides/manage-positions.md): Read open positions, reduce or flatten with reduce-only orders, track funding, and watch portfolio status. - [Changelog](https://docs.zerolatencylabs.com/reference/changelog.md): Dated, reverse-chronological log of notable Trading API changes, breaking ones first. - [Before You Integrate](https://docs.zerolatencylabs.com/reference/faq.md): The mistakes that trip up most first integrations, and the one-line fix for each. - [Rate Limits & Request Size](https://docs.zerolatencylabs.com/reference/rate-limits.md): How the per-account rate limit and request-size cap work. - [SDKs & Code Samples](https://docs.zerolatencylabs.com/reference/sdks.md): There is no official ZLL SDK yet; until one ships you build and sign each request yourself. - [Support](https://docs.zerolatencylabs.com/reference/support.md): Where to get help: self-serve docs first, then your onboarding contact for account-specific questions. - [Versioning & Stability](https://docs.zerolatencylabs.com/reference/versioning.md): How the API is versioned, what counts as a breaking change, and why clients must ignore unknown fields. ## OpenAPI Specs - [order-gateway.openapi](https://docs.zerolatencylabs.com/specs/order-gateway.openapi.yaml)