# Kravata - [Welcome to Kravata](https://docs-api.kravata.co/index.md): Financial infrastructure to move money between fiat and digital assets across LATAM. - [Overview](https://docs-api.kravata.co/stack/overview.md): Integrate users, accounts, custody wallets, ramps and fiat payments with the Kravata Stack API. - [Authentication](https://docs-api.kravata.co/stack/authentication.md): Obtain an access token for the Kravata Stack API and set up production access with mTLS and an IP allowlist. - [Real-time quotes (WebSocket)](https://docs-api.kravata.co/stack/websocket.md): Receive live rates and firm quotes over Socket.IO instead of polling the quote endpoint. - [Webhooks](https://docs-api.kravata.co/stack/webhooks.md): Receive real-time notifications about events in your Kravata Stack integration. - [Client Login](https://docs-api.kravata.co/stack/api-reference/authentication/client-login.md): Obtains a temporary access token using the `apiKey` and `secretKey` issued by Kravata during onboarding. - [Get IP Allowlist](https://docs-api.kravata.co/stack/api-reference/authentication/get-ip-allowlist.md): Returns the IP allowlist currently registered for your client. The client is taken from the access token. - [Update IP Allowlist](https://docs-api.kravata.co/stack/api-reference/authentication/update-ip-allowlist.md): Registers the IP ranges (CIDR notation) allowed to call the API with your credentials. The client is taken from the access token, so you can only change your own allowlist. - [Get Tier User Assignments](https://docs-api.kravata.co/stack/api-reference/users/get-tier-user-assignments.md): Retrieves a paginated list of all tier user assignments across all users. - [Get Tier User Assignment by ID](https://docs-api.kravata.co/stack/api-reference/users/get-tier-user-assignment-by-id.md): Retrieves a single compliance tier assignment, for example to check which tier a user is in and since when. - [User Registration](https://docs-api.kravata.co/stack/api-reference/users/user-registration.md): By consuming this endpoint, you can register users by providing the required user information. - [Get Users](https://docs-api.kravata.co/stack/api-reference/users/get-users.md): Retrieves the list of users registered, including their current status and basic information. - [Generate KYC Link](https://docs-api.kravata.co/stack/api-reference/users/generate-kyc-link.md): Generates the identity verification (KYC) link for one of your users. Send the returned URL to the user so they complete the verification. - [Get Accounts](https://docs-api.kravata.co/stack/api-reference/accounts/get-accounts.md): Lists every bank account registered under your client, for you and all of your users. - [Get Accounts by User](https://docs-api.kravata.co/stack/api-reference/accounts/get-accounts-by-user.md): Lists the bank accounts that belong to a single user. - [Get Account by ID](https://docs-api.kravata.co/stack/api-reference/accounts/get-account-by-id.md): Retrieves a single bank account, for example to confirm it is `APPROVED` before using it as the destination of a withdrawal or payout. - [Create Account](https://docs-api.kravata.co/stack/api-reference/accounts/create-account.md): By consuming this endpoint, you can register bank accounts for both you and your users by providing the required bank account information. - [Get Banks](https://docs-api.kravata.co/stack/api-reference/accounts/get-banks.md): Lists the banks supported for payouts and withdrawals. Use the `id` as `bankId` when registering an account (**POST /admin/account/{user_id}**) and the `code` as `bankCode` / `bank` in PSE pay-ins. - [Activate Earn](https://docs-api.kravata.co/stack/api-reference/earn/activate-earn.md): Activates earn for a user, so their balance starts generating yield. Earn must be enabled for your client. - [Deactivate Earn](https://docs-api.kravata.co/stack/api-reference/earn/deactivate-earn.md): Deactivates earn for a user. Their balance stops generating yield. - [Get Earn Status](https://docs-api.kravata.co/stack/api-reference/earn/get-earn-status.md): Returns the earn status and accumulated earnings of a user. - [Get Networks](https://docs-api.kravata.co/stack/api-reference/custody/get-networks.md): Lists the blockchain networks supported by Kravata. Use the `id` as `networkId` when registering an external wallet. IDs can differ between environments, so always read them from this endpoint. - [Get Tokens](https://docs-api.kravata.co/stack/api-reference/custody/get-tokens.md): Lists the tokens (digital assets) supported by Kravata. Use the `id` as `tokenId` when registering an external wallet. Only active tokens are returned. - [Get Custodians](https://docs-api.kravata.co/stack/api-reference/custody/get-custodians.md): Lists the custodians (exchanges or wallet providers) supported for external wallets. Use the `id` as `custodianId` when registering an external wallet; for a self-custodial wallet choose the decentralized option. - [Get Wallets](https://docs-api.kravata.co/stack/api-reference/custody/get-wallets.md): Lists all custody wallets that Kravata manages for your client and your users. - [Get Wallets by User](https://docs-api.kravata.co/stack/api-reference/custody/get-wallets-by-user.md): Lists the custody wallets of a single user. - [Get Wallet Balance](https://docs-api.kravata.co/stack/api-reference/custody/get-wallet-balance.md): Returns the balance of one custody wallet of a user. - [Create Internal Wallet](https://docs-api.kravata.co/stack/api-reference/custody/create-internal-wallet.md): By consuming this endpoint you will be able to create a new wallet - [Create External Wallet](https://docs-api.kravata.co/stack/api-reference/custody/create-external-wallet.md): Registers an external (user-owned) wallet, such as a personal MetaMask address, on behalf of one of your users. The wallet is created with status `PENDING` and moves to `APPROVED` or `REJECTED` after an automatic compliance screening. - [Get Balances](https://docs-api.kravata.co/stack/api-reference/custody/get-balances.md): Retrieves the current balance of a custody wallet managed by Kravata for a specific user. This endpoint allows you to check the available funds in a given wallet for monitoring, reporting, or transactional purposes. - [Get Balances by User](https://docs-api.kravata.co/stack/api-reference/custody/get-balances-by-user.md): Retrieves the balances of a single user, per asset. - [Create Wallet Transfer](https://docs-api.kravata.co/stack/api-reference/custody/create-wallet-transfer.md): By consuming this endpoint, you can create a new wallet_transfer to move your tokens between your wallets. - [Get Wallet Transfers](https://docs-api.kravata.co/stack/api-reference/custody/get-wallet-transfers.md): Retrieves the list of wallet transfer requests associated with a specific user under the given client. This endpoint allows you to fetch all transfer operations for tracking, validation, or reporting purposes. - [Get Quote](https://docs-api.kravata.co/stack/api-reference/liquidity-ramps/get-quote.md): By consuming this endpoint you can calculate the ramp details by providing the desired parameters. The response body will show the calculated ramp details based on them. - [Create Withdrawal](https://docs-api.kravata.co/stack/api-reference/liquidity-ramps/create-withdrawal.md): Creates a withdrawal: moves funds from one of the user's wallets (`originId`) to a registered destination, converting between assets when needed (for example USDC → COP to a bank account). - [Create On-Ramp](https://docs-api.kravata.co/stack/api-reference/liquidity-ramps/create-on-ramp.md): Creates an on-ramp: the user pays in fiat (COP) and receives the stablecoin in a registered external wallet. - [Create Off-Ramp](https://docs-api.kravata.co/stack/api-reference/liquidity-ramps/create-off-ramp.md): Creates an off-ramp: the user sends stablecoin from a registered external wallet and receives fiat in a registered bank account. The operation starts in `AWAITING_DEPOSIT` until the funds arrive; the deposit instructions are returned in the response. - [Create Deposit](https://docs-api.kravata.co/stack/api-reference/liquidity-ramps/create-deposit.md): Creates a deposit: the user pays in fiat and the funds are credited, converted to the corresponding digital asset, to one of the user's custody wallets. - [Get Operations](https://docs-api.kravata.co/stack/api-reference/liquidity-ramps/get-operations.md): Lists the operations (deposits, withdrawals, ramps and transfers) of your client, newest first. - [Get Operation by ID](https://docs-api.kravata.co/stack/api-reference/liquidity-ramps/get-operation-by-id.md): Retrieves a single operation, including its current status and deposit instructions. - [Get FIAT Balance Summary](https://docs-api.kravata.co/stack/api-reference/payments/get-fiat-balance-summary.md): Returns the aggregated fiat balance of your client across all of its users. - [Get FIAT Balances](https://docs-api.kravata.co/stack/api-reference/payments/get-fiat-balances.md): Lists the fiat balance of every user of your client. - [Get FIAT Balance by User](https://docs-api.kravata.co/stack/api-reference/payments/get-fiat-balance-by-user.md): Returns the fiat balance of a single user. - [Get FIAT Operations](https://docs-api.kravata.co/stack/api-reference/payments/get-fiat-operations.md): Lists the fiat operations (pay-ins, payouts and payments) of your client. - [Get FIAT Operations by User](https://docs-api.kravata.co/stack/api-reference/payments/get-fiat-operations-by-user.md): Lists the fiat operations of a single user. - [Get FIAT Operation by User and ID](https://docs-api.kravata.co/stack/api-reference/payments/get-fiat-operation-by-user-and-id.md): Retrieves a single fiat operation of a specific user. - [Register Bre-B Key](https://docs-api.kravata.co/stack/api-reference/payments/register-bre-b-key.md): Registers the Bre-B key of a user so they can receive instant payments through Colombia's Bre-B system. Each user can have a single key. - [Create Pay-In](https://docs-api.kravata.co/stack/api-reference/payments/create-pay-in.md): Creates a pay-in to collect fiat from one of your users. For `PSE`, the response includes the `pseLink` the user must open to pay. - [Create Payout](https://docs-api.kravata.co/stack/api-reference/payments/create-payout.md): Sends fiat from a user's available balance to a registered bank account. - [Create Payment](https://docs-api.kravata.co/stack/api-reference/payments/create-payment.md): Creates a payment that, in a single request, collects the funds from the user (pay-in) and sends them to a destination account (payout). - [Create Payout Sweep](https://docs-api.kravata.co/stack/api-reference/payments/create-payout-sweep.md): Sweeps the available fiat balances of all your users into a single payout to one destination account. One operation is created per source user, grouped under a `batchId`. - [Register Webhook Endpoint](https://docs-api.kravata.co/stack/api-reference/webhooks/register-webhook-endpoint.md): Registers an endpoint on your server that Kravata will call whenever the configured `triggerEvent` occurs (for example, a user accepting the Terms and Conditions inside the Widget SDK, or an OTP being requested). - [List Webhook Endpoints](https://docs-api.kravata.co/stack/api-reference/webhooks/list-webhook-endpoints.md): Lists the webhook endpoints registered for your client, so you can verify their configuration (`url`, `triggerEvent`, `isActive`, `retryConfig`, etc.). - [Get Webhook Deliveries](https://docs-api.kravata.co/stack/api-reference/webhooks/get-webhook-deliveries.md): Returns the delivery history of your webhooks: every attempt Kravata made to notify your endpoints, its status and the last error. Use it to audit notifications and to detect events your server did not receive. - [Overview](https://docs-api.kravata.co/business/overview.md): Create on-ramp and off-ramp orders between fiat and stablecoins with the Kravata Business API. - [Authentication](https://docs-api.kravata.co/business/authentication.md): Obtain and refresh access tokens for the Kravata Business API. - [Ramp flows](https://docs-api.kravata.co/business/ramp-flows.md): Send-based and receive-based orders, order statuses and how to report your transfer. - [Real-time quotes (WebSocket)](https://docs-api.kravata.co/business/websocket.md): Receive ramp quotes over Socket.IO every time the rate changes. - [Webhooks](https://docs-api.kravata.co/business/webhooks.md): Receive real-time notifications when your orders change. - [Errors](https://docs-api.kravata.co/business/errors.md): Error format and common error messages of the Kravata Business API. - [Get Access Token](https://docs-api.kravata.co/business/api-reference/authentication/get-access-token.md): By consuming this endpoint, you can request the refresh and access token. Provide your username and password in the request body. - [Refresh Access Token](https://docs-api.kravata.co/business/api-reference/authentication/refresh-access-token.md): By consuming this endpoint you can refresh the access token by providing the refresh token. - [Get Client Info](https://docs-api.kravata.co/business/api-reference/authentication/get-client-info.md): By consuming this endpoint you will be able to retrieve your information and status. - [Get Bank Accounts](https://docs-api.kravata.co/business/api-reference/accounts/get-bank-accounts.md): By consuming this endpoint you can retrieve the details, status and IDs of your registered accounts. The ID of the chosen account is necessary to place your order. Before doing so, please make sure the account status is "accepted"**.** - [Register Bank Account](https://docs-api.kravata.co/business/api-reference/accounts/register-bank-account.md): Registers an external bank account for your company or for one of your users. The account is created with status `in_review` and can be used once Kravata approves it (`accepted`). - [Get Banks](https://docs-api.kravata.co/business/api-reference/accounts/get-banks.md): Lists the active banks. Use the `id` as `bankId` when registering a bank account. - [Get Countries](https://docs-api.kravata.co/business/api-reference/accounts/get-countries.md): Lists the countries. Use the `code` (ISO 3166-1 alpha-2) in `constitutionCountry.code` when registering a user. - [Get Cities](https://docs-api.kravata.co/business/api-reference/accounts/get-cities.md): Lists the cities. Use the `name` in `constitutionCity` when registering a user, and the `id` where a city ID is required. - [Get Wallets](https://docs-api.kravata.co/business/api-reference/wallets/get-wallets.md): ### Get Wallet Details - [Register Wallet](https://docs-api.kravata.co/business/api-reference/wallets/register-wallet.md): Registers an external wallet (an address you or one of your users control) for your company or one of your users. The wallet is created with status `in_review` and can be used once Kravata approves it (`accepted`). - [Get Custodians](https://docs-api.kravata.co/business/api-reference/wallets/get-custodians.md): Lists the custodians (exchanges or wallet providers) supported for external wallets. Use the `id` as `supportedCustodianId` when registering a wallet. For a self-custodial wallet (e.g. MetaMask), use the custodian **"SIN CUSTODIO / DESCENTRALIZADA"**. - [Get Tokens](https://docs-api.kravata.co/business/api-reference/wallets/get-tokens.md): Lists the active tokens. Use the `id` as `supportedTokenId` when registering a wallet. - [Get Networks](https://docs-api.kravata.co/business/api-reference/wallets/get-networks.md): Lists the networks available for a token. Use the `id` as `supportedNetworkId` when registering a wallet: the network must be one of the networks returned for the wallet's token. - [Get Users](https://docs-api.kravata.co/business/api-reference/users/get-users.md): Lists the users (end customers) registered under your company. Available for the B2B2B model. - [Register User](https://docs-api.kravata.co/business/api-reference/users/register-user.md): Registers a user (end customer) under your company. Available for the B2B2B model. The user starts as `pending` and can operate once Kravata approves it. - [Quote Ramp (Send Based)](https://docs-api.kravata.co/business/api-reference/ramp-orders/quote-ramp-send-based.md): By consuming this endpoint you can calculate the ramp details by providing the desired parameters. The response body will show the calculated ramp details based on them. - [Create Ramp (Send Based)](https://docs-api.kravata.co/business/api-reference/ramp-orders/create-ramp-send-based.md): By consuming this endpoint you will be able to create a new ramp for converting your assets. - [Quote Ramp (Receive Based)](https://docs-api.kravata.co/business/api-reference/ramp-orders/quote-ramp-receive-based.md): By consuming this endpoint you can calculate the ramp details by providing the desired parameters. The response body will show the calculated ramp details based on them. - [Create Ramp (Receive Based)](https://docs-api.kravata.co/business/api-reference/ramp-orders/create-ramp-receive-based.md): By consuming this endpoint you will be able to create a new ramp for converting your assets. - [Add Transaction Hash](https://docs-api.kravata.co/business/api-reference/ramp-orders/add-transaction-hash.md): ### Post /AddHash - [Upload Payment Proof](https://docs-api.kravata.co/business/api-reference/ramp-orders/upload-payment-proof.md): Uploads the bank transfer receipt (payment proof) of an on-ramp. Only available for `on_ramp` ramps in status `pending`. - [Get Ramps](https://docs-api.kravata.co/business/api-reference/ramp-orders/get-ramps.md): This endpoint retrieves the order history for the given client ID. - [Get Transaction Purposes](https://docs-api.kravata.co/business/api-reference/ramp-orders/get-transaction-purposes.md): Lists the transaction purposes you can declare when creating a ramp (`transactionPurpose`). - [Create Custody Wallet](https://docs-api.kravata.co/business/api-reference/custody/create-custody-wallet.md): Creates a custody wallet managed by Kravata for your company or one of your users. Custody wallets are created already `accepted` and can receive funds right away. - [Get Custody Wallets](https://docs-api.kravata.co/business/api-reference/custody/get-custody-wallets.md): Lists the custody wallets of your company or one of your users. - [Get Custody Wallet Balance](https://docs-api.kravata.co/business/api-reference/custody/get-custody-wallet-balance.md): Returns the current balance of a custody wallet, read in real time from the custody provider. - [Create Wallet Transfer](https://docs-api.kravata.co/business/api-reference/custody/create-wallet-transfer.md): Moves tokens between two custody wallets of your company and your users. - [Get Wallet Transfers](https://docs-api.kravata.co/business/api-reference/custody/get-wallet-transfers.md): Lists the wallet transfers of your company or one of your users, newest first (up to 10 results). - [Create Webhook](https://docs-api.kravata.co/business/api-reference/webhooks/create-webhook.md): This endpoint allows you to create a new webhook for your account. By specifying the URL and the process you want to monitor, you can set up real-time notifications for specific events. - [Get Webhooks](https://docs-api.kravata.co/business/api-reference/webhooks/get-webhooks.md): With this endpoint, you can retrieve all the webhooks you’ve configured for your account. The response provides detailed information about each webhook, allowing you to verify their setup and ensure they’re active and correctly configured. - [Delete Webhook](https://docs-api.kravata.co/business/api-reference/webhooks/delete-webhook.md): This endpoint allows you to deactivate a specific webhook configuration associated with your account. Therefore, it updates the webhook's status to **inactive**, ensuring it no longer sends notifications while keeping its configuration for future reference or reactivation. ## OpenAPI Specs - [openapi](/business/openapi.json) - [openapi](/stack/openapi.json)