Environments
Every endpoint lives under
/api/v1. The credentials for each environment are different.
Typical flow
1
Authenticate
Exchange your
apiKey and secretKey for an access token. See Authentication.2
Register your users
Register each end user with POST /api/v1/users/register and check their status with GET /api/v1/admin/users. A user must be
APPROVED before operating.3
Register accounts and wallets
Register bank accounts with POST /api/v1/admin/account/{user_id} and external wallets with POST /api/v1/admin/wallets/external/{user_id}, or create a Kravata custody wallet with POST /api/v1/admin/wallet/{user_id}. Accounts and wallets must be
APPROVED to be used.4
Quote and operate
Get a quote with POST /api/v1/admin/operations/custodian-quote, then create a deposit, withdrawal, on-ramp or off-ramp. For fiat-only flows use the pay-in, payout and payment endpoints.
5
Track the result
Query GET /api/v1/admin/operation/{operation_id} or subscribe to webhooks to be notified when the status changes.
Conventions
Pagination
List endpoints acceptpage (starting at 1) and pageSize query parameters and return this envelope:
/admin/operations, /admin/balances) use page and page_size (maximum 100) instead.
Errors
Errors return an HTTP status code and a JSON body with adetail field:

