Platform API error codes
The Platform API uses theAPI_XXX format. The XXX part is a number. The
following sections group the codes by category.
General Errors (000-099)
Authentication and Authorization Errors (100-199)
Portfolio Specific Errors (200-299)
Signature and Cryptographic Errors (300-399)
Validation Errors (400-499)
External Service Errors (500-599)
Deposit and Wallet Operation Errors (550-570)
Internal Errors (600-699)
KMS API error codes
The KMS API uses theKMS_XXX format. The XXX part is a number. The
following sections group the codes by category.
General Errors (000-099)
Key Management Errors (100-199)
Permission Errors (200-299)
Validation Errors (300-399)
External Service Errors (400-499)
Internal Errors (500-599)
Error response formats
Legacy V1 and the B2B API use different envelopes. The first format below
applies to V1. The B2B API puts tracing identifiers in the response headers.
When present,
error.details is always a string[].V1 envelope
B2B API envelope
Read
X-Correlation-Id and X-Request-Id from the response headers. The B2B
API does not put tracing identifiers in the body.
tRPC domain error data
tRPC clients receive the standard transport code inerror.data.code. When a
procedure throws a typed application error, error.data.domainCode is also
present and carries the stable domain-specific code, for example
SOLANA_SVM_SLOT_EXPIRED.
domainCode is additive and optional. Clients should branch on it when
present, fall back to the tRPC transport code otherwise, and treat
error.message as human-readable text rather than a machine identifier.
B2B API enrollment conditions
Solana enrollment uses these existing codes:API_104(403) also means that Solana enrollment is not enabled for the tenant. The tenant can lack the entitlement or the deployment can lack the SVM service.API_400(400) can mean that one request contains Solana and EVMchainIds. Use one namespace in each enrollment request.
Handle errors
- Read
error.codeto identify the error. - Use
error.messagein logs or user messages. - Include the correlation ID and request ID in a support request.
- For validation errors, read
error.details. - For tRPC errors, prefer
error.data.domainCodewhen it is present.