Skip to main content
The Kravata Stack API lets you operate on behalf of your end users: you register them, register their bank accounts and wallets, and create operations that move value between fiat and digital assets.

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 accept page (starting at 1) and pageSize query parameters and return this envelope:
The operations endpoints (/admin/operations, /admin/balances) use page and page_size (maximum 100) instead.

Errors

Errors return an HTTP status code and a JSON body with a detail field:

Postman collection

Ask your Kravata point of contact for the Kravata Stack Postman collection. It includes every endpoint with example requests and responses.