Skip to content

Create a checkout url for checkout.

POST
/api/v2/buy/checkout
One of:
object
baseCurrency

Base currency

string
default: BTC
Example
ETH
quoteCurrency

Quote currency

string
default: EUR
Example
EUR
paymentMethod

Payment method

string
default: creditCard
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
default: 100 nullable
Example
0.1
returnUrl

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

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

URL to receive callbacks on.

string
nullable
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 to which the coins will be sent, omit to let the user decide.

string
nullable
Example
1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
walletAddressTag

Wallet address tag

string
nullable
Example
123456789
expireTime

Expire-time in seconds

string
nullable
Example
500
fixedAmount

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

boolean
Allowed values: 1 0
Example
true
fixedCurrency

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

boolean
Allowed values: 1 0
Example
true
fixedPaymentMethod

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

boolean
Allowed values: 1 0
Example
true
showWalletAddress

Whether the wallet address is visible on the checkout page.

boolean
default: true
Allowed values: 1 0
Example
true
sourceCurrency
required

CAIP-19 identifier for the source currency. When provided together with targetCurrency, baseCurrency and quoteCurrency are derived from the registry.

string
nullable
Example
swift:0/iso4217:EUR
targetCurrency
required

CAIP-19 identifier for the target currency. When provided together with sourceCurrency, baseCurrency and quoteCurrency are derived from the registry.

string
nullable
Example
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/spl:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

Returns a checkout URL

object
checkoutUrl
string
baseCurrency
string
quoteCurrency
string
paymentMethod
string
returnUrl
string
callbackUrl
string
baseCurrencyAmount
number
quoteCurrencyAmount
number
partnerOrderIdentifier
string
walletAddress
string
walletAddressTag
string
expireTime
integer
fixedAmount
boolean
fixedCurrency
boolean
fixedPaymentMethod
boolean
showWalletAddress
boolean
default: true
signature
string
partner
string
sourceCurrency
One of:

Currency details including optional CAIP-19 asset identifier

object
code
required

The currency code.

string
Example
USDC_SOL
ticker
required

The currency ticker.

string
Example
USDC
name
required

The human-readable currency name.

string
Example
USD Coin (Solana)
caip19
required

CAIP-19 chain-agnostic asset identifier, e.g. solana:5eykt…/spl:EPjFWdd5…

string
Example
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/spl:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
targetCurrency
One of:

Currency details including optional CAIP-19 asset identifier

object
code
required

The currency code.

string
Example
USDC_SOL
ticker
required

The currency ticker.

string
Example
USDC
name
required

The human-readable currency name.

string
Example
USD Coin (Solana)
caip19
required

CAIP-19 chain-agnostic asset identifier, e.g. solana:5eykt…/spl:EPjFWdd5…

string
Example
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/spl:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

A list of possible errors for this endpoint.

object
code
required
string
Allowed values: ER300 ER301 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."
},
"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."
}
}
}