Skip to main content
All values are enforced server-side. Build retry logic and clock handling around them.

Windows and expiries

Rate limits

Settlement timing

  • Deposits are credited at chain finality (the finalized block tag), not a fixed confirmation count. Before that, the deposit is invisible to the API.
  • Withdrawals are signed and broadcast asynchronously. Track them through GET /custody/get-withdrawals: QueuedPending (broadcast, hash available) → Confirmed or Failed.

Pagination

All list endpoints share one contract:
  • limit is capped at 100; omitting it returns the maximum page.
  • Cursors are opaque. Pass a response’s next_cursor back as last_cursor to continue; never construct or parse one.
  • next_cursor is non-null whenever a page is non-empty, so “is there another page” can only be inferred from a full page. Reading to the tail costs one empty fetch.
  • Changing filters invalidates a cursor: restart from the first page.