Skip to main content

Create onchain payment quote

Endpoint accepts idempotency-key header to prevent the same quote from being created twice. In case of a duplicate request, the error code DUPLICATE_PAYMENT_QUOTE containing the id of the original quote (paymentQuoteId) will be returned. The key should be a random v4 UUID to avoid false collisions.

Required scopes:

  • partner.payment-quote.onchain.create

Header Parameters
idempotency-key uuid
Request Body — REQUIRED
btcAddress string — REQUIRED

Possible values: 1 ≤ length

BTC address to send funds to.

sourceCurrency string — REQUIRED

Possible values: [BTC, USD, EUR, USDT, GBP, AUD]

Currency to spend.

description string

Possible values: length ≤ 250

Payment description.

amount object — REQUIRED

Amount to send. FeePolicy defaults to EXCLUSIVE.

amount string — REQUIRED

Currency amount in decimal format

currency string — REQUIRED

Possible values: [BTC, USD, EUR, USDT, GBP, AUD]

Currency code

feePolicy string

Possible values: [INCLUSIVE, EXCLUSIVE]

Should the fee be included in the amount or added on top of it.

onchainTierId string — REQUIRED

Possible values: 1 ≤ length

Id of the tier retrieved from /payment-quotes/onchain/tiers.

beneficiary object

Beneficiary info required for travel rule compliance.

isOwnDestination boolean

If the destination belongs to the transaction initiator

type string

Possible values: [SELF, INDIVIDUAL, BUSINESS, UNKNOWN]

destinationType string

Possible values: [EXCHANGE_OR_PLATFORM, SELF_CUSTODY_WALLET]

Indicates whether the destination is a self-custody wallet or an exchange/platform. Required when the travel rule jog flag (release-travel-rule-jog) is enabled.

vaspId string

Possible values: length ≤ 100

ID of the selected exchange/platform VASP from the VASP directory. Required (exclusively with vaspName) when destinationType is ExchangeOrPlatform.

Responses
200

OK

Schema — OPTIONAL
estimatedDeliveryDurationInMin int32 — OPTIONAL

Estimated delivery duration in minutes. For onchain payments, this is the time it takes for the transaction to be mined.

paymentQuoteId uuid

The payment quote's ID

description string — OPTIONAL

The description forwarded from the related invoice

validUntil date-time — OPTIONAL

The expiry timestamp

conversionRate object — OPTIONAL

The conversion rate details

amount string

Currency amount in decimal format

sourceCurrency string

Possible values: [BTC, USD, EUR, USDT, GBP, AUD]

Source currency code

targetCurrency string

Possible values: [BTC, USD, EUR, USDT, GBP, AUD]

Target currency code

amount object

The amount that the receiver will receive in sender’s currency

amount string

Currency amount in decimal format

currency string

Possible values: [BTC, USD, EUR, USDT, GBP, AUD]

Currency code

totalFee object — OPTIONAL

The total of all fees

amount string

Currency amount in decimal format

currency string

Possible values: [BTC, USD, EUR, USDT, GBP, AUD]

Currency code

totalAmount object

The amount that the sender will spend

amount string

Currency amount in decimal format

currency string

Possible values: [BTC, USD, EUR, USDT, GBP, AUD]

Currency code

reward object — OPTIONAL

The reward that the sender might receive, if applicable

amount string

Currency amount in decimal format

currency string

Possible values: [BTC, USD, EUR, USDT, GBP, AUD]

Currency code

401

Unauthorized

403

Forbidden