Skip to content

Confirm a fiat to crypto quote.

POST
/api/v1/buy/confirm

To confirm, you should submit a quote, returnUrl and walletAddress. Optional parameters are callBackUrl, partnerOrderIdentifier and destinationTag.

object
callbackUrl

After the order is finished, we will send a request to this url.

string
Example
https://www.example.com/payment-completed
partnerOrderIdentifier

Unique identifier provided by the partner.

string
Example
4ea2b5e9-a413-4359-a8f6-9263ae8a0ee7
quote
required

The quote generated by the sell/quote endpoint.

string
Example
eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJlbmNyeXB0ZWQiOiJ0b2tlbiJ9.gj80-9FPf_Wl7CGg2eDEFHokoEVtXIT7l4F88ztgxnhGIuhjOrhZ6xZLT3vuJPKXam_jQskm1PuM7T0OQdawDw
returnUrl
required

After the payment is finished, we will redirect the user to this url.

string
Example
https://www.example.com/payment-finished
walletAddress
required

The wallet address we send the cryptos to after the payment is completed.

string
Example
3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5
destinationTag

The destination tag where we send the cryptos to after the payment is completed.

string|integer
nullable
Example
ABC12345
walletType
One of:
string
Allowed values: vasp unhosted

Returns a URL to pay for the order.

object
orderId
required

The order id.

integer
Example
1234
paymentUrl
required

The URL the user should be redirected to, to complete their payment.

string
Example
https://www.example.com/pay?id=1234
expiresAt

The expiry date-time that expires this confirmed quote. After this period it’s no longer possible to pay for this order. The date does not apply for order that are paid through bank transfer.

string format: date-time
nullable
Example
2025-04-07T18:30:00Z

A list of possible errors for this endpoint.

object
code
required
string
Allowed values: ER006 ER007 ER008 ER009 ER014 ER015 ER044 ER045 ER046 ER047 ER048 ER124 ER800 ER801 ER802 ER803 ER805 ER806 ER999
message
required
string
solution
required
string
Example
{
"errors": {
"ER006": {
"code": "ER006",
"message": "The provided quote has expired.",
"solution": "Request a new quote."
},
"ER007": {
"code": "ER007",
"message": "The provided quote contains invalid data. It is possible it has been tampered with.",
"solution": "Provide a valid quote."
},
"ER008": {
"code": "ER008",
"message": "The selected currency is down for maintenance.",
"solution": "Check /api/v1/system/currency-pairs to see whether the selected currency is enabled, and try again."
},
"ER009": {
"code": "ER009",
"message": "The provided quote is not a buy quote.",
"solution": "Request a new buy quote."
},
"ER014": {
"code": "ER014",
"message": "Invalid wallet address.",
"solution": "Provide a valid wallet address for the selected currency pair."
},
"ER015": {
"code": "ER015",
"message": "Invalid destination tag.",
"solution": "Provide a valid destination tag."
},
"ER044": {
"code": "ER044",
"message": "Destination tag not supported for this currency pair.",
"solution": "Leave the destination tag empty."
},
"ER045": {
"code": "ER045",
"message": "Missing quote.",
"solution": "Provide a valid quote."
},
"ER046": {
"code": "ER046",
"message": "Invalid callback URL.",
"solution": "Provide a valid callback URL."
},
"ER047": {
"code": "ER047",
"message": "Invalid return URL.",
"solution": "Provide a valid return URL."
},
"ER048": {
"code": "ER048",
"message": "Invalid JSON data provided.",
"solution": "Provide valid JSON data."
},
"ER124": {
"code": "ER124",
"message": "User is disabled.",
"solution": "Please contact support for assistance."
},
"ER800": {
"code": "ER800",
"message": "Authorization token is invalid.",
"solution": "Provide a valid authorization token."
},
"ER801": {
"code": "ER801",
"message": "Authorization token has expired.",
"solution": "Request a new authorization token."
},
"ER802": {
"code": "ER802",
"message": "Authorization token not found.",
"solution": "Provide an authorization token."
},
"ER803": {
"code": "ER803",
"message": "Multiple authorization methods used.",
"solution": "Use exactly one authorization method."
},
"ER805": {
"code": "ER805",
"message": "API key is invalid.",
"solution": "Provide a valid API key."
},
"ER806": {
"code": "ER806",
"message": "API key not found.",
"solution": "Provide an API key."
},
"ER999": {
"code": "ER999",
"message": "A general error has occurred. Please contact our support team.",
"solution": "Contact our support team."
}
}
}