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
| Convention | Value |
|---|---|
| Field naming | snake_case in all request and response bodies |
| Identifiers | UUIDs (wallet_id, asset_id, blockchain_id, …) |
| Timestamps | RFC 3339 / ISO 8601, UTC |
| Content type | application/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=50Errors
Errors return an object with an error_code and a human-readable message:
{
"error_code": 400,
"message": "invalid request parameters"
}| HTTP status | Meaning |
|---|---|
400 | Invalid request parameters |
401 | Missing or invalid API key |
403 | Key not authorised for this profile or operation |
404 | Resource not found |
409 | Conflict (e.g. reused idempotency key with a different body) |
429 | Rate limit exceeded |
5xx | Server 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
| Area | Coverage |
|---|---|
| Wallets | List/create wallets, addresses, balances, assets, blockchains |
| Transfers | Create/list transfers, fee estimation |
| Policies | Temporary whitelist addresses; other policy management is dashboard-only |
| Webhooks | Event notifications, signature verification, delivery inspection |
| Users | Dashboard-only — not part of the public API |