Base URL
All paths are relative to the API host:/v1 prefix. Blockchain Events endpoints additionally live under /v1/indexer.
Response envelope
Successful responses are wrapped in a consistent envelope:
Error responses use the same envelope with
status: false and no data (some
validation errors add an errors array). See Errors.
Content types
SendContent-Type: application/json on requests with a body, and
Accept: application/json to receive JSON. All request and response bodies are JSON.
Pagination
Three pagination styles are used depending on the service. All are documented per endpoint; this table is the single reference for which service uses which:- Page / pageSize
- Limit / offset
Page-based (Payments, Subscriptions, Products, Blockchain Events). Request with
Products and Blockchain Events return a
page and pageSize (or limit) query parameters:meta block instead of inline fields:Page-size limitsDefaults are
page=1 and pageSize/limit=20. Maximums vary by service: Payments
and Subscriptions cap at 100; Products caps at 200; Blockchain Events caps at 200.Data types & formats
Terminal status vocabulary
Wallet and Tokenization each run their own on-chain transaction lifecycle, and they settle with different words for the same underlying concept. This is intentional per-service vocabulary, not a bug: check the enum for the specific service rather than assuming one word applies everywhere.
Both also pass through a
PENDING state first; see each overview for the full
lifecycle.
Network identifiers
Wallet, Tokenization, and Blockchain Events each identify chains differently. There is no unified scheme today, so use the mapping below rather than assuming a value from one service works in another:
Confirmed crosswalk for the chains Wallet currently supports (see
Get supported chains for the live,
authoritative list):
Wallet’s supported-chains list does not currently confirm coverage for every
network Blockchain Events and Tokenization expose (
ATC, ETH, POL, LISK).
Don’t assume a Blockchain Events/Tokenization network code has a corresponding
Wallet chainId until you see it on
Get supported chains.Webhook signatures
Wallet and Blockchain Events both sign webhook deliveries, but with different schemes. Verify against the correct one for the service you’re integrating:
See Outcome webhook and
Blockchain Events webhooks & capabilities
for the full verification code for each.
Idempotency
Value-moving wallet operations require anIdempotency-Key request header so a
retried request never executes twice:
Generate a unique key per operation (a UUID works well) and send it on the request:
Send a unique key (a UUIDv4 works well) per operation. Reuse a key only when
retrying the same request; every new operation must use a fresh key.
Rate limiting
Endpoints are throttled. When you exceed a limit you receive429 Too Many Requests:
retryAfter field (seconds) tells you when to retry. Back off and retry after
that interval. The token endpoint is limited to 30 requests/minute/IP.