/api/v1/ordersPublished contract, not openCreate an order
Locks the rate and returns a dedicated deposit address. The order carries the breakdown as locked: it is replayable, which lets you reconstruct the exact price applied even months later. The Idempotency-Key header is required.
Authentication: Authorization: Bearer … See authentication
Parameters
| Field | Type | Description |
|---|---|---|
quoteIdrequired | string | Identifier of the accepted quote. |
beneficiaryrequired | object | Fields imposed by the rail schema. The name must match the verified identity: no third-party payouts. |
networkIdrequired | string | Network the deposit will be sent on. It determines the address returned and, on some networks, the mandatory memo. |
curl -sS -X POST https://fiatside.com/api/v1/orders \
-H 'Authorization: Bearer sk_live_...' \
-H 'Idempotency-Key: 7f3a1c92-5d0e-4a1b-9c2f-6b8e0d4a1f33' \
-H 'Content-Type: application/json' \
-d '{
"quoteId": "qt_01J9Z...",
"networkId": "tron",
"beneficiary": {
"railId": "sepa_instant",
"beneficiaryName": "Camille Dupont",
"iban": "FR7630001007941234567890185"
}
}'{
"reference": "K7Q4-M2XB",
"state": "AWAITING_DEPOSIT",
"deposit": {
"asset": "USDT",
"network": "tron",
"address": "T...",
"memo": null,
"amountBase": "1000000000",
"expiresAt": "2026-09-02T12:41:00Z"
},
"payout": { "railId": "sepa_instant", "netMinor": 91228, "currency": "EUR" },
"rateLock": { "midRate": "0.92168430", "lockedUntil": "2026-09-02T12:41:00Z" }
}- The memo is null on most networks and mandatory on XRP, Stellar and TON. Omitting it there loses the funds: treat the field as required as soon as it is non-null.
Possible errors: unauthorized, invalid_request, quote_expired, idempotency_conflict, beneficiary_rejected, country_not_served. Full catalogue