Skip to Content
DevelopersAPI ReferenceOverview

API Reference

The Vault Client API is a REST API for programmatic access to wallets, transfers, balances, and webhooks. It is served through the platform’s API gateway and is profile-scoped: every request path includes the profile (tenant) you operate on.

Base URL

https://<your-vault-domain>/api/v1/profiles/{profile_id}/...

{profile_id} is the UUID of your profile, shown in the dashboard. Platform administration (users, roles, policy configuration) is performed in the dashboard, not through this API — see Authentication for the split.

Authentication

All requests are authenticated with an API key passed in the X-API-Key header:

curl https://vault.example.com/api/v1/profiles/$PROFILE_ID/wallets \ -H "X-API-Key: <your-api-key>"

See Authentication for how keys are issued and managed.

Conventions

ConventionValue
Field namingsnake_case in all request and response bodies
IdentifiersUUIDs (wallet_id, asset_id, blockchain_id, …)
TimestampsRFC 3339 / ISO 8601, UTC
Content typeapplication/json

Idempotency

Write operations (create wallet, create address, create transfer, fee estimate, temporary whitelist) require an Idempotency_key header containing a UUID. Retrying a request with the same key returns the original result instead of creating a duplicate:

curl -X POST .../transfers \ -H "X-API-Key: $KEY" \ -H "Idempotency_key: 3e0b6d0e-2a4e-4b7e-9d3f-1c2a4b5d6e7f" \ -d '{ ... }'

Pagination

List endpoints use page-based pagination via page and page_size query parameters. Responses include total_size, page, and page_size:

GET .../assets?page=1&page_size=50

Errors

Errors return an object with an error_code and a human-readable message:

{ "error_code": 400, "message": "invalid request parameters" }
HTTP statusMeaning
400Invalid request parameters
401Missing or invalid API key
403Key not authorised for this profile or operation
404Resource not found
409Conflict (e.g. reused idempotency key with a different body)
429Rate limit exceeded
5xxServer error — safe to retry with the same idempotency key

Rate limiting

Requests are rate-limited at the API gateway per key. Limits are configured per deployment; on 429, back off and retry. Contact your administrator for the limits that apply to your environment.

Endpoints at a glance

AreaCoverage
WalletsList/create wallets, addresses, balances, assets, blockchains
TransfersCreate/list transfers, fee estimation
PoliciesTemporary whitelist addresses; other policy management is dashboard-only
WebhooksEvent notifications, signature verification, delivery inspection
UsersDashboard-only — not part of the public API