Skip to main content

Documentation Index

Fetch the complete documentation index at: https://polyfeed.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Every error response is JSON:
{ "error": "human-readable message" }
No nested codes, no stack traces. Server-side details go to logs; clients get the same shape across providers.

Status codes

StatusCauseRetry?
400 Bad RequestInvalid query params, malformed JSON body, unsupported timeframeNo — fix the request
401 UnauthorizedMissing/bad Authorization headerNo — supply a valid key
403 ForbiddenTier doesn’t grant the coin or routeNo — upgrade or change request
404 Not FoundUnknown coin, market, slug, chain, or out-of-range timestampNo
413 Payload Too LargeBody exceeds 100 KiBNo — shrink the body
429 Too Many RequestsPer-key rate limit hitYes — honor Retry-After
500 Internal Server ErrorBug or upstream outageYes — exponential backoff
503 Service UnavailableDatabase/indexer transient failureYes — backoff
504 Gateway TimeoutRequest exceeded 30 sMaybe — narrow query window

Idempotency

Read endpoints are idempotent — safe to retry. Billing endpoints (/v1/billing/x402/settle) are idempotent on (provider, providerRef). Retrying the same payment payload after a transient error will not double-charge or double-provision.

Reporting bugs

X-Request-Id header is set on every response. Include it when filing issues.