Orders

Create Verification Order

Creates a verification order whose test deposit activates a Standard-verified customer for trading.
POST/v1/customers/{customer_uuid}/orders/verification/

The customer pays a fixed verification amount (1 unit of the asset; it is kept as the order commission) from their own bank account to the bank details in source.deposit_bank_info, quoting reference; once the deposit arrives the order completes automatically and the account is activated. Only bank rails and fiat assets are accepted. When verification is not configured for the requested rail, the call answers 400. Poll the order with GET /customers/{customer_uuid}/orders/{order_uuid}/.

Authorization

X-Api-Key
string required
API key generated in the Developers section of the Stablegate app. Send it in the X-Api-Key header on every request; the partner API does not require request signing.

Path parameters

customer_uuid
string<uuid> required

Request body

source
object required
account_uuid
string<uuid> | null
Customer account to credit; the customer's default account when omitted

Responses

Successful Response

uuid
string<uuid> required
reference
string required
state
string required
One of: new, processing, done, hold, failed, rejected, rollbacked, cancelled, stopped
deposit_address
string | null
source
object | null
destination
object | null
commission
object required
account
object required
error_message
string | null
third_party_document_required
boolean
The destination is a third-party bank account and the source amount is above the invoice threshold. Until its invoice is attached (third_party_document_uuid on creation or POST .../orders/{order_uuid}/third-party-document/), such an order is not executed automatically: it waits for the operator.
third_party_document_uuid
string<uuid> | null
The invoice (customer document of type proof_of_third_party_deal) attached to the order.
created_at
string<date-time> required
valid_until
string<date-time> | null
exchange_rate
string | null
Exchange rate currently applied to the order: destination asset units per one source asset unit, the same value check-fees returns. Re-priced until the deposit arrives; null when the order has no exchange step.
rate_valid_until
string<date-time> | null
Time until which exchange_rate and destination.amount are held. While the order is new and unfunded they are recalculated after this time; null once the deposit is received or for orders that are not re-priced.
curl https://api.stablegate.com/v1/customers/CUSTOMER_UUID/orders/verification/ \
  --request POST \
  --header 'X-Api-Key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "source": {
    "rail": "sepa",
    "asset": "EUR"
  },
  "account_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}'
{
  "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "reference": "string",
  "state": "new",
  "deposit_address": "string",
  "source": {
    "rail": "bitcoin",
    "asset": "EUR",
    "amount": "string",
    "deposit_bank_info": {
      "iban": "string",
      "bank_name": "string",
      "bank_code": "string",
      "bank_country": "string",
      "holder_name": "string",
      "bank_address": "string"
    },
    "transaction_hash": "string",
    "deposit_status": "received"
  },
  "destination": {
    "rail": "bitcoin",
    "asset": "EUR",
    "amount": "string",
    "client_account": "string"
  },
  "commission": {
    "asset": "EUR",
    "amount": "string"
  },
  "account": {
    "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "code": "string",
    "name": "string",
    "type": "trading"
  },
  "error_message": "string",
  "third_party_document_required": true,
  "third_party_document_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "created_at": "2026-01-01T00:00:00Z",
  "valid_until": "2026-01-01T00:00:00Z",
  "exchange_rate": "string",
  "rate_valid_until": "2026-01-01T00:00:00Z"
}
Copyright © 2026