Skip to main content
POST

Authorizations

Authorization
string
header
required

Session JWT (from register/login) or API key (pk_...). X-API-Key: <token> is accepted as an alternative header.

Headers

Idempotency-Key
string

Alternative to the idempotency_key body field.

Body

application/json
amount
string
required

Positive decimal string, up to the currency's decimals (2 for USD/BOB/MXN/ARS, 6 for USDT/USDC/GOLD/SILVER/PLATINUM, 8 for BTC).

Example:

"10.500000"

to_account_id
string<uuid>
to_email
string<email>
to_phone
string

E.164 phone of the destination account. Only accounts with an OTP-verified phone resolve (404 recipient_not_found otherwise; 422 recipient_ambiguous if more than one account shares the number).

to_contact_id
string<uuid>

Send straight to a contact from your book (uses its linked CBPay account, or its verified phone).

to_qr_token
string

Profile QR token of the destination account (scanned from its CBPay QR). Also accepts the extended checkout QR payload (cbpay:pay?to=…&checkout=…) — the embedded checkout token is honored automatically.

checkout_token
string

Optional token of a universal checkout link to pay directly. The destination is forced to the link's account and the amount must cover the due quoted server-side in the chosen asset (422 checkout_amount_mismatch with the updated due otherwise). On completion the link is settled and auto-converted to its settlement_asset.

asset
enum<string>

Balance currency to move (any of USD, USDT, USDC, BTC, GOLD, SILVER, PLATINUM, BOB, MXN or ARS); the destination receives in this same currency. When omitted it resolves to the sender's settlement asset (USD is the principal balance).

Available options:
USD,
USDT,
USDC,
BTC,
GOLD,
SILVER,
PLATINUM,
BOB,
MXN,
ARS
description
string
idempotency_key
string
save_contact
boolean
default:true

The destination is saved as a contact automatically; send false to skip it.

Response

Idempotency replay.

transfer_id
string<uuid>
from_account_id
string<uuid>
to_account_id
string<uuid>
asset
string
Example:

"USDT"

amount
string
description
string
status
string
Example:

"completed"

created_at
string<date-time>
idempotency_hit
boolean