Skip to main content
Complete request, response, field, and endpoint reference for ELUUP’s x402 market data APIs.

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:
For application-level errors:
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 token identifier, 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 returns 502 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 — no tokens 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

Profit fields (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 uses data.results. Preserve this distinction when building typed clients or SDK wrappers.
x402 docs: Overview · Quickstart · Payment Flow · API Reference · Errors & Troubleshooting · Examples