Skip to content

Create an offer.

POST
/api/v2/buy/offer
object
sourceCurrency

CAIP-19 identifier for the source (fiat) currency. Alternative to quoteCurrency — when both sourceCurrency and targetCurrency are provided, quoteCurrency and baseCurrency are derived automatically.

string
nullable
Example
swift:0/iso4217:EUR
targetCurrency

CAIP-19 identifier for the target (crypto) currency. Alternative to baseCurrency — when both sourceCurrency and targetCurrency are provided, quoteCurrency and baseCurrency are derived automatically.

string
nullable
Example
bip122:000000000019d6689c085ae165831e93/slip44:0
baseCurrency
required

Base currency

string
Example
ETH
quoteCurrency
required

Quote currency

string
Example
EUR
paymentMethod
required

Payment method

string
Example
iDeal
baseCurrencyAmount

BaseCurrency amount, must be null if quoteCurrencyAmount is filled.

number format: float
nullable
Example
0.1
quoteCurrencyAmount

QuoteCurrency amount, must be null if baseCurrencyAmount is filled.

number format: float
nullable
Example
0.1
returnUrl

URL to which the user will be redirected after they pay the order.

string
nullable
Example
https://example.com/return
callbackUrl

URL to receive callbacks on.

string
Example
https://example.com/callback
partnerOrderIdentifier

Identifier that can be used to link to the order in your system.

string
nullable
Example
123456789
walletAddress

Wallet address

string
Example
1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
walletAddressTag

Wallet address tag

string
Example
123456789
expireTime

Expire-time in seconds

string
Example
500
fixedAmount

Make the amount fixed, customers won’t be able to change the amount.

boolean
nullable
Allowed values: 1 0
Example
true
fixedCurrency

Make the currency fixed, customers won’t be able to change the currency.

boolean
nullable
Allowed values: 1 0
Example
true
fixedPaymentMethod

Make the payment method fixed, customers won’t be able to change the payment method.

boolean
nullable
Allowed values: 1 0
Example
true
showWalletAddress

Whether the wallet address is visible on the checkout page.

boolean
nullable
Allowed values: 1 0
Example
true
signature

Signature

string
Example
afnsifuhwaensdkfnsdsir9324989r3ssd

Returns an UUID and expire time

object
offerUuid
string
returnUrl
string
expiresAt
string

A list of possible errors for this endpoint.

object
code
required
string
Allowed values: ER300 ER301 ER302 ER303 ER304 ER305 ER306 ER307 ER308 ER309 ER310 ER311 ER312 ER313 ER314 ER315 ER316 ER317 ER318 ER319 ER320 ER321 ER322 ER323 ER324 ER325 ER326 ER327 ER328 ER329 ER330 ER331 ER332 ER333 ER334 ER335 ER336 ER337 ER338 ER339 ER402 ER403 ER800 ER801 ER802 ER803 ER805 ER806 ER999
message
required
string
solution
required
string
Example
{
"errors": {
"ER300": {
"code": "ER300",
"message": "Base Currency should not be blank when Fixed Currency is set.",
"solution": "Provide a valid Base Currency."
},
"ER301": {
"code": "ER301",
"message": "Base Currency should be a string.",
"solution": "Provide a valid string for Base Currency."
},
"ER302": {
"code": "ER302",
"message": "Quote Currency should not be blank.",
"solution": "Provide a valid Quote Currency."
},
"ER303": {
"code": "ER303",
"message": "Quote Currency should be a string.",
"solution": "Provide a valid string for Quote Currency."
},
"ER304": {
"code": "ER304",
"message": "Base Currency Amount should be a number.",
"solution": "Provide a valid number for Base Currency Amount."
},
"ER305": {
"code": "ER305",
"message": "Quote Currency Amount should be a number.",
"solution": "Provide a valid number for Quote Currency Amount."
},
"ER306": {
"code": "ER306",
"message": "Payment Method should not be blank when Fixed Payment Method is set.",
"solution": "Provide a valid Payment Method."
},
"ER307": {
"code": "ER307",
"message": "Payment Method should be a string.",
"solution": "Provide a valid string for Payment Method."
},
"ER308": {
"code": "ER308",
"message": "Return URL should not be blank.",
"solution": "Provide a valid Return URL."
},
"ER309": {
"code": "ER309",
"message": "Return URL should be a string.",
"solution": "Provide a valid string for Return URL."
},
"ER310": {
"code": "ER310",
"message": "Callback URL should be a string or null.",
"solution": "Provide a valid string for Callback URL or leave it null for default value."
},
"ER311": {
"code": "ER311",
"message": "Partner Order Identifier should be a string or null.",
"solution": "Provide a valid string for Partner Order Identifier or leave it null."
},
"ER312": {
"code": "ER312",
"message": "Wallet Address should be a string or null.",
"solution": "Provide a valid string for Wallet Address or leave it null."
},
"ER313": {
"code": "ER313",
"message": "Wallet Address Tag should be a string or null.",
"solution": "Provide a valid string for Wallet Address Tag or leave it null."
},
"ER314": {
"code": "ER314",
"message": "Expire Time should be a int or null.",
"solution": "Provide a valid int for Expire Time or leave it null for default value."
},
"ER315": {
"code": "ER315",
"message": "Fee should be a number or null.",
"solution": "Provide a valid number for Fee or leave it null for default value."
},
"ER316": {
"code": "ER316",
"message": "Fixed Amount should be a boolean or null.",
"solution": "Provide a valid boolean for Fixed Amount or leave it null."
},
"ER317": {
"code": "ER317",
"message": "Fixed Currency should be a boolean or null.",
"solution": "Provide a valid boolean for Fixed Currency or leave it null."
},
"ER318": {
"code": "ER318",
"message": "Fixed Payment Method should be a boolean or null.",
"solution": "Provide a valid boolean for Fixed Payment Method or leave it null."
},
"ER319": {
"code": "ER319",
"message": "Show Wallet Address should be a boolean or null.",
"solution": "Provide a valid boolean for Show Wallet Address or leave it null."
},
"ER320": {
"code": "ER320",
"message": "Exactly one or none of baseCurrencyAmount or quoteCurrencyAmount must be set.",
"solution": "Set Exactly one or none of baseCurrencyAmount or quoteCurrencyAmount."
},
"ER321": {
"code": "ER321",
"message": "Callback URL should not be blank.",
"solution": "Provide a valid Callback URL."
},
"ER322": {
"code": "ER322",
"message": "Expire Time should not be blank.",
"solution": "Provide a valid Expire Time."
},
"ER323": {
"code": "ER323",
"message": "Fee should not be blank.",
"solution": "Provide a valid Fee."
},
"ER324": {
"code": "ER324",
"message": "Something went wrong.",
"solution": "Please contact support for assistance."
},
"ER325": {
"code": "ER325",
"message": "Wallet address is required",
"solution": "Please provide a valid wallet address."
},
"ER326": {
"code": "ER326",
"message": "Invalid Base Currency and Quote Currency combination.",
"solution": "Please provide a valid Base Currency and Quote Currency combination."
},
"ER327": {
"code": "ER327",
"message": "Invalid payment method.",
"solution": "Please provide a valid payment method."
},
"ER328": {
"code": "ER328",
"message": "Something went wrong.",
"solution": "Please contact support for assistance."
},
"ER329": {
"code": "ER329",
"message": "Invalid expire time.",
"solution": "Please provide a valid expire time"
},
"ER330": {
"code": "ER330",
"message": "Exactly one of baseCurrencyAmount or quoteCurrencyAmount must be set when Fixed Amount is set.",
"solution": "Set Exactly one of baseCurrencyAmount or quoteCurrencyAmount."
},
"ER331": {
"code": "ER331",
"message": "Secret not set",
"solution": "Please contact support for assistance."
},
"ER332": {
"code": "ER332",
"message": "Payment Method should not be null.",
"solution": "Provide a valid Payment Method or leave it out of the request."
},
"ER333": {
"code": "ER333",
"message": "Login token not found.",
"solution": "Provide a valid login token and uuid."
},
"ER334": {
"code": "ER334",
"message": "Login token has expired.",
"solution": "Request a new login token."
},
"ER335": {
"code": "ER335",
"message": "Login token has no user attached.",
"solution": "Request a new login token."
},
"ER336": {
"code": "ER336",
"message": "Signature is invalid.",
"solution": "Provide a valid Signature."
},
"ER337": {
"code": "ER337",
"message": "Base Currency should not be blank.",
"solution": "Provide a valid Base Currency."
},
"ER338": {
"code": "ER338",
"message": "Signature should be a string.",
"solution": "Provide a valid string for Signature."
},
"ER339": {
"code": "ER339",
"message": "Signature is required when Wallet Address, Fee, Return Url or Callback Url is set.",
"solution": "Provide a valid Signature."
},
"ER402": {
"code": "ER402",
"message": "targetCurrency contains an unsupported CAIP-19 identifier.",
"solution": "Provide a valid and supported CAIP-19 identifier for targetCurrency."
},
"ER403": {
"code": "ER403",
"message": "sourceCurrency contains an unsupported CAIP-19 identifier.",
"solution": "Provide a valid and supported CAIP-19 identifier for sourceCurrency."
},
"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."
}
}
}