Create an order
Creates a new order of the specified type:
-
PAYIN: Receive funds from external sources into virtual balance or real accounts
- originCurrencySymbol and destinationCurrencySymbol must be fiat
- Must include exactly one payment method
- destinationAccountId is optional (defaults to virtual balance)
-
PAYOUT: Send funds from virtual balance to external accounts
- originCurrencySymbol and destinationCurrencySymbol must be fiat
- destinationAccountId is required (must be a real bank account)
-
ONRAMP: Convert fiat to crypto
- originCurrencySymbol must be fiat
- destinationCurrencySymbol must be crypto
- destinationAccountId is required (must be a crypto wallet)
- paymentMethods is optional (defaults to virtual balance)
-
OFFRAMP: Convert crypto to fiat
- originCurrencySymbol must be crypto
- destinationCurrencySymbol must be fiat
- destinationAccountId is optional (defaults to virtual balance)
-
BALANCE_TRANSFER: Transfer between virtual balances
- originCurrencySymbol and destinationCurrencySymbol must be fiat
- No destinationAccountId needed (handled internally)
-
PAYMENT_LINK: Create a payment link for external users
- originCurrencySymbol and destinationCurrencySymbol must be fiat
- destinationAccountId is optional (defaults to virtual balance)
- paymentMethods can be empty (all methods) or multiple methods
- dueDate can be set for expiry
Path parameters
Headers
Bearer authentication of the form Bearer <token>, where token is your auth token.
Request
Currency symbol for origin. Must be fiat for PAYIN/PAYOUT/PAYMENT_LINK/BALANCE_TRANSFER and crypto for OFFRAMP (e.g., COP, USD, ETH). Not required when quoteId is provided.
Currency symbol for destination. Must be fiat for PAYIN/PAYOUT/PAYMENT_LINK/BALANCE_TRANSFER/OFFRAMP and crypto for ONRAMP (e.g., COP, USD, BTC). Not required when quoteId is provided.
Destination Account ID (bank account or wallet). Required for PAYOUT and ONRAMP. Optional for PAYIN, OFFRAMP, and PAYMENT_LINK (defaults to merchant virtual balance if omitted).
Amount in destination currency. Must provide either amountIn or amountOut (but not both) when quoteId is not provided. Not required when quoteId is provided.
ISO 8601 date for order expiry, applies to PAYMENT_LINK type.
Array of payment methods. Required for PAYIN (exactly one method). Optional for PAYMENT_LINK (can be empty for all available methods or multiple specific methods).
Quote ID to fix exchange rate for cross-currency or crypto operations (ONRAMP, OFFRAMP, BALANCE_TRANSFER). When provided, originCurrencySymbol, destinationCurrencySymbol, amountIn, and amountOut must not be provided.
Government-issued ID number required for the operation (e.g. DNI, RUT, Cédula)
Whether to send in-app notifications to the contact. Requires contactId to be set.
Indicates that the order is initiated by the merchant for themselves, rather than involving a third-party contact (such as a customer or supplier).
Response
Destination account ID (bank or wallet)
External ID (idempotent identifier)
National ID document (e.g. DNI, RUT, Cédula) that must be provided to complete the order
Whether in-app notifications are enabled