Common Response Structure
All successful and application-level-error API responses use the standard{ success, data, error } wrapper described below.
All successful and application-level-error API responses use the following wrapper:
Response fields
This shape is symmetric and predictable: exactly one of
data / error is populated, and the other is always null — never omitted. You can safely read response.data.data and response.data.error without checking for key presence first.
For successful responses:
Note: This wrapper applies to responses generated by the route handlers (
200, 400, 404, 502). It does not apply to 402 responses — those are generated entirely by the x402 payment middleware and use a different structure. See HTTP 402 — Payment Required.Token Identifier
The token-batch APIs accept a tokenidentifier, which can be:
Identifiers are matched case-insensitively —
mcade and MCADE are treated as the same token and will trigger the duplicate-token rejection if both are included in one request.
POST /v1/token-signals
Returns trading signals for one or more tokens. Payment:$0.05 × number of tokens · scheme exact · network eip155:8453 · max batch 5
Request
Successful response — 200 OK
data.results[]
data.results[].signals[]
POST /v1/token-prices
Returns current token prices in ETH and USD. Payment:$0.03 × number of tokens · scheme exact · network eip155:8453 · max batch 5
Request
Successful response — 200 OK
data.results[]
Backend error — 502 Bad Gateway
If the underlying price logic fails, the endpoint returns502 using the standard response wrapper (success: false).
POST /v1/signal-history
Returns historical trading signals for one or more tokens. Payment:$0.05 × number of tokens · scheme exact · network eip155:8453 · max batch 5
Request
Successful response — 200 OK
data.results[] has the same shape as /v1/token-signals. signalCount is capped at 100.
POST /v1/token-win-rate
Returns the average win rate for one or more tokens. Payment:$0.03 × number of tokens · scheme exact · network eip155:8453 · max batch 5
Request
Successful response — 200 OK
data.results[]
POST /v1/token-avg-prices
Returns average buy and sell prices across agents. Payment:$0.02 × number of tokens · scheme exact · network eip155:8453 · max batch 5
Request
Successful response — 200 OK
data.results[]
POST /v1/top-performers
Returns the highest-performing tokens by win rate or ROI. Not a batch endpoint — notokens array required.
Payment: $0.06 per request (fixed, independent of limit) · scheme exact · network eip155:8453
Request
Successful response — 200 OK
The response property is exactly ROI (capitalized).
POST /v1/aggregate-metrics
Returns aggregate trading metrics across the platform. No request parameters. Payment:$0.06 per request · scheme exact · network eip155:8453
Request
Successful response — 200 OK
realizedProfit*, unrealizedProfit*) can be negative — no non-negative constraint is applied to them.
POST /v1/supported-tokens
Returns the tokens supported by the platform. Free — no x402 payment required.Request
limit: integer, optional, default 100, min 1, max 500.
Successful response — 200 OK
Response Data Shape Summary
Do not assume every endpoint usesdata.results.
Preserve this distinction when building typed clients or SDK wrappers.
x402 docs: Overview · Quickstart · Payment Flow · API Reference · Errors & Troubleshooting · Examples