Skip to content

Generate a sell quote.

POST
/api/v1/sell/quote

Generates a quote for a coin to fiat currency pair.

object
currencyPair
required

The currency pair that is used for the quote.

string
Example
BTC-EUR
paymentMethod

The payment method that the user wants to use to receive the payment.

string
default: bankTransfer
Example
bankTransfer
fiatAmount

The amount at which the user wants to buy cryptos.

number
nullable
Example
50
cryptoAmount

The amount of cryptos that the user wants to buy.

number
nullable
fee

The profit in terms of a percentage for this order. If not present or null, your default fee is used. The default fee is also used for DCA and the widgets and can be set by your accountmanager.

number
nullable
Example
1.5

Returns a quote and appropriate data.

object
quote
required

The quote that is generated based on the submitted data.

string
Example
eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEyMzQ1NjcsImV4cCI6MTU1NDU0N
currencyPair
required

The currency pair that is used for the quote.

string
Example
BTCEUR
fiatAmount

The amount that the user will receive.

number
Example
50
cryptoAmount

The amount of cryptos that the user will have to pay.

number
Example
0.5
fiatNetworkFee
required

The fee charged for consolidating transactions on the blockchain.

number
Example
0
btcdirectFee
required

The fee charged by BTC Direct.

number
Example
0.75
btcdirectFeePercentage

The fee charged in percentage by BTC Direct.

number
Example
0.75
partnerFee
required

The fee earned by the partner.

number
Example
1.00
partnerFeePercentage

The fee earned in percentage by the partner.

number
Example
1.00
singleCoinEstimate
required

The estimated value of a single coin.

number
Example
96779.04
expiryDate
required

The date and time when this quote expires.

string
Example
2019-06-06T16:16:16Z
bankAccountDisabled
required

Whether or not the bank account provided has been disabled. Only bank accounts which have not been disabled can be used to sell cryptos to us.

boolean
userLimitExceeded
required

Replaced by quoteUnconfirmableReasons.

Whether the user has exceeded their personal limit.

boolean
currencyLimitExceeded
required

Replaced by quoteUnconfirmableReasons.

Whether the currency limit has been exceeded.

boolean
quoteUnconfirmableReasons
required

Reasons why this quote can not be confirmed.

Array<string>
Allowed values: currencyLimitExceeded paymentMethodLimitExceeded paymentMethodDisabled userLimitExceeded userRegistrationNotCompleted userVerificationLevelInvalid
Example
[
"currencyLimitExceeded",
"userLimitExceeded",
"userRegistrationNotCompleted"
]
sourceCurrency
One of:
CryptoCurrency

A cryptocurrency representation

object
code
required

The currency code.

string
Example
BTC
name
required

The currency name.

string
Example
Bitcoin
decimals
required

The precision.

integer
Example
8
caip19
string
""
supportsTag
required

Whether the currency supports a memo or a destination tag.

boolean
ticker
required

The currency ticker.

string
Example
BTC
chain
required

The chain through which the currency is delivered.

string
nullable
Example
Solana
smartContractAddress

The token smart contract address

string
nullable
Example
0x514910771af9ca656af840dff83e8264ecf986ca
targetCurrency
One of:
object
code

The currency code.

string
Example
EUR
name

The currency name.

string
Example
Euro
decimals

The precision.

integer
Example
2
caip19
string
""

A list of possible errors for this endpoint.

object
code
required
string
Allowed values: ER010 ER011 ER012 ER019 ER056 ER800 ER801 ER802 ER803 ER805 ER806 ER999
message
required
string
solution
required
string
Example
{
"errors": {
"ER010": {
"code": "ER010",
"message": "Unknown currency pair.",
"solution": "Provide a supported currency pair."
},
"ER011": {
"code": "ER011",
"message": "The provided fiatAmount is invalid.",
"solution": "Provide a valid fiatAmount."
},
"ER012": {
"code": "ER012",
"message": "The provided cryptoAmount is invalid.",
"solution": "Provide a valid cryptoAmount with max 8 decimals."
},
"ER019": {
"code": "ER019",
"message": "No bankAccount provided.",
"solution": "Provide the bankAccount"
},
"ER056": {
"code": "ER056",
"message": "Invalid IBAN number provided.",
"solution": "Provide a valid IBAN number."
},
"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."
}
}
}