When creating a new invoice, the following parameters are the most important ones:

Parameter nameRequiredDescriptionExampleDedicated Section
invoice.amountYesThe original invoice's amount100Invoice original amount
invoice.currencyFromYesCode of the original invoice's assetUSDInvoice original amount
invoice.currencyToNoCode of the payment assetBTCInvoice payment asset
settlement.currencyYes*Code of the settlement assetEURInvoice settlement asset

* Technically, it's settlement (not settlement.currency) attribute which is required, i.e. sending a request with an empty settlement attribute is also valid (and it's equivalent to sending a request with settlement.currency = null).

Invoice original amount

Parameter invoice.currencyFrom (code of the original invoice's asset) can be set to almost any world fiat currency (USD, EUR, CHF, … ) and also to BTC, please refer to Get assets endpoint to get list of the currently supported assets (those with merchantAsset=true).

Invoice payment asset

Parameter invoice.currencyTo is highly recommended to be set to null. If set to null, the invoice is created and the status of the invoice is set to prepared which allows the customer to select any supported payment methods. Supported payment methods can be enabled/disabled in the dashboard.

It's also possible to set it to:

  • BTC to pre-select payment via native Bitcoin
  • BTC (alongside with parameter invoice.layer2ProtocolName set to LIGHTNING) to pre-select payment via Bitcoin
    Lightning
  • LTC to pre-select payment via native Litecoin

Should you need to create an invoice with other predefined payment method, please contact us at [email protected].

Invoice settlement asset

Parameter settlement.currency configure s the settlement asset in which we credit merchant balance. There are two main options to choose from described in the following subsections.

Without conversion (Keep in kind)

If you set settlement.currency = null when creating an Invoice, all the payments sent to the Invoice will be credited to the merchant account in the same crypto asset as the customer used for the payment. For instance, if the customer chooses to pay with TRX, the payment will be credited to the merchant's TRX balance.

With conversion

You can choose in which asset you want to be credited. To do so, use settlement.currency = <supported-asset-code>. In this case, all the payments to the Invoice will be converted to the settlement asset you set.

Currently, we support the following settlement assets:

settlement.currencyAsset nameAsset type
BTCBitcoinCrypto
CZKCzech korunaFiat
EUREuroFiat
GBPBritish pound sterlingFiat
HUFHungarian forintFiat
PLNPolish zlotyFiat
USDUnited States dollarFiat
USDCUSD CoinCrypto (stablecoin)
USDTTether USDCrypto (stablecoin)

Sample combinations

invoice.currencyFrominvoice.currencyToinvoice.layer2ProtocolNamesettlement.currencyDescription
USDnullEURUSD invoice to be paid by a customer-chosen method and credited in EUR
GBPnullUSDCGBP invoice to be paid by a customer-chosen method and credited in USDC
BTCBTCLIGHTNINGUSDTBTC invoice to be paid by Bitcoin Lightning and credited in USDT
EURnullnullEUR invoice to be paid by a customer-chosen method and credited in the payment asset
CHFLTCBTCCHF invoice to be paid by Litecoin and credited in BTC