Recommended architecture
Recommended setup for production integrations:
- Store the real HMAC credentials on your backend. The
tokenIdandsecretshould never leave your server infrastructure. - Use the SDK server-side to sign partner-authenticated requests. All trading, account creation, and delegated signing calls should be made from your backend.
- Expose only your own app-specific endpoints to the frontend. Your frontend talks to your backend API — your backend talks to the Limitless API.
- Keep public market reads in the browser. Unauthenticated endpoints like market data and orderbooks can be called directly from the frontend.
Overview
The programmatic API introduces three capabilities:| Capability | Description |
|---|---|
| Scoped API tokens | HMAC-SHA256 authenticated tokens with granular scopes (trading, account_creation, delegated_signing) |
| Partner sub-accounts | Create and manage user profiles linked to your partner account |
| Delegated signing | Submit orders without end users managing private keys — the server signs via a managed wallet |
Partner lifecycle
Bootstrap your partner account
Create a standard Limitless account by logging in with your wallet at limitless.exchange. This gives you a
profileId and wallet address.Get partner capabilities enabled
Apply for programmatic API access. The team will review your application and enable token management and allowed scopes on your account.
Apply for Programmatic API Access
Fill out the partner application form to get started. You’ll need your Limitless wallet address from Step 1.
Derive a scoped API token
Authenticate with your Privy identity token and call
POST /auth/api-tokens/derive to create a scoped token. The response includes a tokenId and secret — store the secret securely, it is only returned once.Create sub-accounts
Use the scoped token to create sub-accounts for your end users. Choose server wallet mode for Web2 integrations (delegated signing) or EOA mode for Web3 users who manage their own keys.
Trade on behalf of sub-accounts
With the FOK order — executes immediately at market price or is cancelled entirely:
delegated_signing scope and server wallet accounts, submit unsigned orders — the server signs them automatically. Both GTC (limit) and FOK (market) order types are supported.GTC order — stays on the orderbook until filled or cancelled:Scopes
| Scope | Description | Self-service |
|---|---|---|
trading | Place and cancel orders. Default scope. Required base for delegated_signing. | Yes |
account_creation | Create sub-account profiles linked to the partner. | Yes |
delegated_signing | Server signs orders on behalf of sub-accounts via managed wallets. Must be paired with trading. | Yes |
admin | Access admin-protected endpoints. | No (admin-provisioned only) |
Sub-account modes
Server wallet (Web2 partners)
SetcreateServerWallet: true when creating a sub-account. The server provisions a managed Privy wallet and links it to the profile. The partner submits unsigned orders and the server signs them via the managed wallet.
EOA (Web3 partners)
OmitcreateServerWallet or set it to false. The partner provides wallet ownership proof via x-account, x-signing-message, and x-signature headers. The end user signs their own orders with their private key.
Delegated order types
Delegated orders support two execution strategies:GTC (Good Till Cancelled)
Limit orders that rest on the orderbook at a specified price until they are filled or explicitly cancelled. Useprice and size to specify the order.
| Parameter | Description |
|---|---|
price | Price between 0 and 1 |
size | Number of contracts |
FOK (Fill or Kill)
Market orders that execute immediately at the best available price or are cancelled entirely — no partial fills. Instead ofprice and size, FOK orders use makerAmount.
| Parameter | Description |
|---|---|
makerAmount | BUY: USDC amount to spend (e.g., 50 = spend $50 USDC). SELL: number of shares to sell (e.g., 18.64 = sell 18.64 shares). |
HMAC authentication
All day-to-day programmatic API calls use HMAC-SHA256 request signing. See the Authentication page for the signing protocol, canonical message format, and code examples.API endpoints
| Endpoint | Auth | Description |
|---|---|---|
GET /auth/api-tokens/capabilities | Privy | Check partner capability configuration |
POST /auth/api-tokens/derive | Privy | Create a scoped API token |
GET /auth/api-tokens | Any | List active tokens |
DELETE /auth/api-tokens/{tokenId} | Any | Revoke a token |
POST /profiles/partner-accounts | HMAC | Create a sub-account |
POST /orders | HMAC | Place orders (with optional delegated signing) |
SDK support
All three official SDKs provide built-in support for the programmatic API:TypeScript
Client with hmacCredentials, ApiTokenService, PartnerAccountService, DelegatedOrderServicePython
Client with hmac_credentials, api_tokens, partner_accounts, delegated_ordersGo
Client with WithHMACCredentials, ApiTokens, PartnerAccounts, DelegatedOrders