Skip to main content
Calibri uses conventional HTTP status codes plus a machine-readable dot-coded error string in the body.

Error body

Codes are namespaced by domain (market.order.*, public.*, account.*, identity.*, prediction.*).
Match on the code, not the HTTP status and not the human-readable text. New codes are added over time — treat an unknown code as a generic failure of its HTTP class rather than crashing on it.

HTTP status codes

Trading and orders

Self-custody — Safe, relay, and session keys

There are no deposit, withdrawal, or beneficiary error codes: Calibri holds no balance for you, so funding and withdrawal are on-chain actions on your own Safe rather than API calls. See Funding your account.

Identity and sessions

Rate limits

Requests are limited per route class, with stricter limits on order intake, wallet relays, and member-intake endpoints than on public reads. Implement exponential backoff on 429.

Authentication

A 401 usually means a signing mistake — check the canonical message.

API overview

Base URLs, response format, and pagination.