Trador Docs
API and agents

API reference

Explore public Trador market data, trading, account, and AI endpoints.

The Trador API provides market data, spot transaction preparation, wallet-authenticated conversations, and x402 data products. It publishes an OpenAPI document at /docs and an interactive explorer at /docs/ui.

The paths below are relative to the public API origin.

Response envelope

JSON endpoints use a consistent envelope:

{
  "code": 0,
  "message": "ok",
  "data": {}
}

Application failures preserve the HTTP status and return a non-zero application code:

{
  "code": 3003,
  "message": "No executable routing quote is available",
  "data": null
}

Clients should check both the HTTP status and the envelope code. Do not infer success only from the presence of a JSON body.

API contract

MethodRouteAuthenticationPurpose
GET/docsNoneOpenAPI 3 document
GET/docs/uiNoneInteractive Scalar explorer

Trading

MethodRoutePurpose
GET/trading/stocksList Robinhood Stock Tokens with adjusted prices and Arcus tradability
GET/trading/stocks/{symbol}Read one Robinhood Stock Token snapshot
POST/trading/swap/check-approvalBuild the ERC-20 approval required by the router
POST/trading/swap/quoteQuote an aggregated spot swap
POST/trading/swap/submitSubmit a wallet-signed Arcus RFQ for settlement

Symbols are normalized to uppercase. Swap sides are BUY or SELL, and the quote asset is USDG. Amounts are integer strings in token base units. Slippage tolerance is a percentage from 0.01 through 5.

Example quote request:

curl -X POST "$TRADOR_API_URL/trading/swap/quote" \
  -H 'content-type: application/json' \
  -d '{
    "symbol": "TSLA",
    "amount": "1000000",
    "swapper": "0x0000000000000000000000000000000000000001",
    "side": "BUY",
    "quoteAsset": "USDG",
    "slippageTolerance": 0.5
  }'

Arcus quotes are wallet-bound, so swapper must be a valid EVM address. Use the paid executable-price endpoint when a wallet-neutral venue comparison is needed.

Market data

MethodRoutePurpose
GET/market-data/quotesCurrent perpetual market snapshots
GET/market-data/{symbol}/candles?range=1DHistorical candles for a supported range
GET/market-data/{symbol}/news?limit=5Recent company news, from 1 to 10 items
GET/market-data/{symbol}/financialsQuarterly financials and summarized metrics

Market snapshots include price, previous price, change, mark, oracle, funding, open interest, and 24-hour volume. Candle data includes OHLC, volume, trade count, interval, range, and current change.

News and financial data may be temporarily unavailable. Clients should handle standard 5xx responses and retry read-only requests conservatively.

Authentication and user

MethodRoutePurpose
GET/auth/siwe/nonceIssue a one-time nonce
POST/auth/siwe/messageBuild an origin-bound EIP-4361 message
POST/auth/siwe/verifyVerify the signature and create a session
GET/auth/sessionRead the current session, if any
POST/auth/logoutClear the session
GET/user/meRead the signed-in account

Authenticated requests use the signed session cookie. Browser calls must include credentials.

AI conversations

All chat routes require a valid session.

MethodRoutePurpose
GET/chat/conversationsList conversation summaries
POST/chat/conversationsCreate an empty conversation
GET/chat/conversations/{conversationId}Read a conversation with messages
DELETE/chat/conversations/{conversationId}Delete a conversation owned by the user
POST/chat/conversations/{conversationId}/streamSave a turn and stream the response

Conversation identifiers are UUIDs. User messages are limited to 20,000 characters.

x402

GET /x402 publishes the paid-product catalog without requiring payment. Paid product routes under /x402/* use an x402 payment challenge. See x402 agent access.

On this page