Orders

Create Order

POST/v1/customers/{customer_uuid}/orders/

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
destination
object required
account_uuid
string<uuid> | null
third_party_document_uuid
string<uuid> | null
Uuid of an existing customer document of type proof_of_third_party_deal (category third_party_deals). Needed when the destination is a third-party bank account and the source amount is above the invoice threshold (15 000 EUR equivalent by default); each such order needs a document of its own. Without it the order is still created, with third_party_document_required: true, and is not executed automatically until the invoice is attached with POST /customers/{customer_uuid}/orders/{order_uuid}/third-party-document/ or the operator executes it.

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/ \
  --request POST \
  --header 'X-Api-Key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "source": {
    "rail": "bitcoin",
    "asset": "EUR",
    "amount": 0
  },
  "destination": {
    "rail": "bitcoin",
    "asset": "EUR",
    "client_account": "string",
    "client_account_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  },
  "account_uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "third_party_document_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