Skip to content

Errors

All errors return a JSON body with the same shape:

{
"error": {
"type": "invalid_request_error",
"code": "amount_too_small",
"message": "Amount must be at least 100 (smallest unit).",
"param": "amount",
"request_id": "req_abc123"
}
}

request_id is unique per request. Include it when contacting ParaSta support.

typeHTTPMeaning
authentication_error401Missing or invalid API key
permission_error403Key lacks permission for the requested action
invalid_request_error400Malformed parameters
not_found_error404Object does not exist
rate_limit_error429Too many requests — see Rate Limits
idempotency_error409Idempotency key reused with different parameters
payment_error402Payment declined (e.g., insufficient balance, network rejected)
network_error502 / 504Blockchain RPC unreachable; safe to retry with idempotency key
api_error5xxParaSta internal error; report with request_id
  • 4xx errors are usually permanent — fix the request before retrying.
  • 5xx and 429 errors are transient — retry with exponential backoff and an Idempotency-Key.
  • Always check error.code for branching logic, not error.message (messages may change).

A full code catalog is at Reference → Error codes.