CryptAPI.io - Payment API Documentation (v3.3.4)

Download OpenAPI specification:Download


CryptAPI.io is a cryptocurrency payment API

It is designed with the intent to allow you to integrate multiple coin payments in your service with the least effort possible.

There are no sign-ups, lengthy implementations or API keys required, it is as easy as a simple CURL request to create a new payment address.

The only thing required is that you implement the logic on your server to handle the callbacks sent to your server when the transaction from the client is confirmed.

Receive a Payment

These endpoints provide a convenient way to generate unique payment addresses for every transaction. By using these endpoints, you can easily keep track of and manage your payments in a more efficient manner.

Create New Address

This method is used to generate a new address to give your clients, where they can send payments.

Please make sure when sending a transaction you consult the minimum transfer value for the crypto/token you wish to use. If the value you send is bellow our minimums, CryptAPI will ignore the transaction.

Before delving into the documentation, why not check if the libraries already have the functionality you need? It could save you time and effort in the long run!

Notice: The length of this request can't surpass the 8192 characters!

Request
path Parameters
ticker
required
string

The ticker parameter in this CryptAPI request refers to the unique identifier of the cryptocurrency to which you are making the request. It is included in the URL of the request and helps to specify the exact cryptocurrency that you want to retrieve data for. The ticker is typically a short code that uniquely identifies the cryptocurrency, token, and its blockchain.

For instance, the ticker for Bitcoin is btc, and the ticker for USDT over TRC-20 is trc20/usdt. With this in mind, a request for USDT over TRC-20 would look like this: api.cryptapi.io/trc20/usdt/create/

Notes:

  • Currently supported cryptocurrencies/tokens can be checked on the cryptocurrencies page.
Example: btc
query Parameters
callback
required
string

The URL where the callbacks will be sent to. Must be a valid URL.

Notes:

  • The callback URL is a unique identifier that is used to generate a new address_in. You can make your callback URL unique by adding GET parameters, such as ?user_id=1234. These will also be returned in the callbacks.
  • You can reuse callback URLs if you want to create a reusable deposit address_in. However, if you change the address, CryptAPI systems will not change the address_out. You will need to change your callback URL to generate a new address_in.
  • We advise you to URL encode the callback URL so that the GET parameters are not lost.
  • GET parameters that you add to the callback URL will be sent as GET, even if you enable the post parameter.
  • It is advisable to store the callback URL when creating a new payment address_in if you want to use the logs endpoint later.
  • For more information on callbacks, please refer to our callback documentation.
address
required
string

Address(es) where the payment will be forwarded to.

If using multiple addresses (you may use up to 20 addresses), you must use the following format percentage_1@address_1|percentage_2@address_2. Percentages are set from 0.0001 (0.01%) to 1.0 (100%) and must add up to 1.00 (100%).

Addresses must be valid for the ticker you are using. Otherwise, the API will reject the payment. For example, if you try to use a Bitcoin address while requesting a USDT TRC-20 address, the API will throw an error.

Notes:

  • For multiple addresses the minimum value per transaction (see cryptocurrencies page) is multiplied by the following formula: 1 + (N - 1) / 3, where N is the number of output addresses.
  • Check our knowledge base for more information about multi-address minimums.
Example: address=bc1qhfn0lw2kdu6umgf08x54y0ha7wclsj3g5sp6t3
pending
integer
Default: 0

Set the parameter topending=1 to enable this feature. When enabled you will be notified of pending transactions (were sent by the customer but not yet confirmed by the blockchain).

Notes:

  • To avoid receiving multiple callback requests, please ensure that the response to the callback request is a plain text response with the message ok.
  • For a comprehensive list of fields sent by CryptAPI, please refer to our pending callback documentation.
Example: pending=1
confirmations
integer
Default: 1

To determine the number of blockchain confirmations required before receiving the confirmed callback, you need to specify the desired value.
Min: 1
Example: confirmations=3
email
string

E-mail address to receive payment notifications

Notes:

  • Before getting e-mail payment notifications, you must confirm your e-mail address here.
Example: email=info@cryptapi.io
post
integer
Default: 0

Set this to post=1 to enable this feature. When enabled callback will be sent as POST.

When disabled, will default to GET.

Notes:

  • GET parameters you added to the callback URL will still be sent as GET.
Example: post=1
priority
string
Default: "default"

Provides you with the ability to specify for forwarding funds to the designated address. It determines the level of fees paid to the blockchain network and can impact the speed at which the transaction is confirmed.

Notes:

  • This feature is only supported when using Bitcoin, Ethereum/ERC-20, and Litecoin. Priorities are different per currency/network.
  • The priorities applicable to each specific blockchain can be found in our knowledge base.
Example: priority=fast
multi_token
integer
Default: 0

This feature allows customers to make payments using any token supported by the CryptAPI, even if the token differs from the one initially specified by the user.

However, it is important to ensure that your Wallet supports the tokens you expect customers to pay with, and that your system can handle price conversions. For instance, if a customer wants to receive 1000 USDT (or its equivalent), but a client sends 1000 TRX, your system should be able to handle this scenario.

Notes:

  • Prior to enabling this parameter, make sure that the wallet you are using supports all the tokens supported by CryptAPI.
  • If you are using a deposit address from your preferred exchange to receive funds, it is advisable to leave this parameter disabled. This is because deposit addresses may sometimes differ between blockchains and tokens.
  • By default, this parameter is disabled. To enable it, use the value multi_token=1.
  • This feature is only available for TRC-20, BEP-20, ERC-20, and POLYGON blockchains.
  • If this parameter is disabled and the customer sends a different token than the one initially specified, CryptAPI will ignore those funds.
  • On unsupported blockchains, if this parameter is enabled, the API will not throw an error. Instead, it will simply ignore it.
  • For more information about this parameter, please refer to our knowledge base.
Example: multi_token=1
multi_chain
integer
Deprecated
Default: 0

This parameter is specifically designed for Ethereum/ERC-20 and EVM-Compatible blockchains. Currently, the EVM-Compatible blockchains supported by CryptAPI are BSC (BEP-20) and POLYGON.

This functionality is possible because these blockchains share the same address type, such as 0xA6B78B56ee062185E405a1DDDD18cE8fcBC4395d. Wallets like Trust Wallet or Exodus Wallet that support these blockchains typically provide the same address for each chain. This means that if you receive funds, regardless of which blockchain they were sent through (Ethereum/ERC-20 or EVM-Compatible), your wallet will be able to handle them.

By enabling this parameter, CryptAPI will process the funds if they are received in the designated address on any of these supported blockchains. However, it is important to note that CryptAPI must also support the specified token on the respective blockchains. For example, if the token is USDT, which is supported on all blockchains, and the customer was supposed to send it Ethereum/ERC-20, but sent it on POLYGON, CryptAPI will still process the transaction.

If you want CryptAPI to process any token sent by the customer, you must enable the multi_token.

Notes:

  • Before enabling this parameter, ensure that the wallet you are using supports all the tokens and blockchains supported by CryptAPI.
  • If you are using a deposit address from your preferred exchange to receive funds, it is advisable to leave this parameter disabled. This is because deposit addresses may sometimes differ between blockchains and tokens.
  • This parameter is only available for BEP-20, Ethereum/ERC-20, and POLYGON blockchains.
  • By default, this parameter is disabled. To enable it, use the value multi_chain=1.
  • On unsupported blockchains, if this parameter is enabled, the API will not throw an error. Instead, it will simply ignore it.
  • For more information about this parameter, please refer to our knowledge base.
Example: multi_chain=1
convert
integer
Default: 0

When enabled, returns the converted value converted to FIAT in the callback, with the parameters value_coin_convert and value_forwared_coin_convert.

Notes:

  • By default, this parameter is disabled. To enable it, use convert=1.
  • The value of the fields are json-encoded.
Example: convert=1
Responses
200

Address was created

Response Schema: application/json
address_in
string

Address generated by CryptAPI. You must provide it to your customer in order to receive payments.
address_out
string

Your address(es), where the payment will be forwarded to, should be the same address(es) you provided.
callback_url
string

The callback URL you provided.
priority
string

The confirmation priority you requested.
status
string

Status of the request.

400

Error creating address

get/{ticker}/create/
Request samples
Response samples
application/json
{
  • "address_in": "14PqCsA7KMgseZMPwg6mJy754MtQkrgszu",
  • "address_out": "1H6ZZpRmMnrw8ytepV3BYwMjYYnEkWDqVP (single address)\n\n{1H6ZZpRmMnrw8ytepV3BYwMjYYnEkWDqVP: 0.70, 1PE5U4temq1rFzseHHGE2L8smwHCyRbkx3: 0.30} (multiple addresses)\n",
  • "priority": "default",
  • "status": "success"
}

Check Payment Logs


This method provides valuable information and callbacks for addresses that are created through the create endpoint.

It allows users to retrieve a list of callbacks made at the specified callbacks parameter, allows to track payment activity and troubleshoot any issues that may arise.

Request
path Parameters
ticker
required
string

The ticker parameter in this CryptAPI request refers to the unique identifier of the cryptocurrency to which you are making the request. It is included in the URL of the request and helps to specify the exact cryptocurrency that you want to retrieve data for. The ticker is typically a short code that uniquely identifies the cryptocurrency, token, and its blockchain.

For instance, the ticker for Bitcoin is btc, and the ticker for USDT over TRC-20 is trc20/usdt. With this in mind, a request for USDT over TRC-20 would look like this: api.cryptapi.io/trc20/usdt/create/

Notes:

  • Currently supported cryptocurrencies/tokens can be checked on the cryptocurrencies page.
Example: btc
query Parameters
callback
required
string

The URL of the callback. Must match the callback URL provided during the payment creation process.

Notes:

  • It is recommended to store the callback URL when creating a new payment address if you plan to use this endpoint later.
  • It is advisable to URL encode the callback URL when making the request. However, if you are using one of our libraries, there is no need for URL encoding.
Example: callback=https://example.com?user_id=1124
Responses
200

List of payments sent to this callback.

Response Schema: application/json
address_in
string

Generated address for the callback URL provided.
address_out
string

Your address(es), where the payment will be forwarded to, should be the same address(es) you provided.

Notes:

  • Response will be {1H6ZZpRmMnrw8ytepV3BYwMjYYnEkWDqVP: 0.70, 1PE5U4temq1rFzseHHGE2L8smwHCyRbkx3: 0.30} (multiple addresses)
callback_url
string

The callback URL you provided.
status
string

Status of the request. Should be `success` if the request didn't fail.
notify_pending
boolean

Shows if you enabled the pending callback when creating the address.
notify_confirmations
integer

Number of confirmations required before sending the confirmed callback.

priority
string

The confirmation priority you requested.
Array of objects (log_items)

List of payments made to this address, together with the logs of the callbacks to your system.
400

Your request couldn't be processed, please try again later

404

No request or no payment callbacks found

get/{ticker}/logs/
Request samples
Response samples
application/json
{}

Utils

Utilities that give useful information.

Service Information

Endpoint that provides information regarding CryptAPI Service (e.g supported blockchains, cryptocurrencies and tokens).

Request
query Parameters
prices
integer
Default: 0

Enable if you want to receive also the coin prices, by setting prices=1.
Example: prices=1
Responses
200

Info fetched successfully.

Response Schema: application/json
object
object
get/info/
Request samples
Response samples
application/json
{
  • "btc": {
    },
  • "trc20": {
    }
}

Check Coin Information

This endpoint is used to fetch information of the cryptocurrency/token you provided in the ticker parameter.

Request
path Parameters
ticker
required
string

The ticker parameter in this CryptAPI request refers to the unique identifier of the cryptocurrency to which you are making the request. It is included in the URL of the request and helps to specify the exact cryptocurrency that you want to retrieve data for. The ticker is typically a short code that uniquely identifies the cryptocurrency, token, and its blockchain.

For instance, the ticker for Bitcoin is btc, and the ticker for USDT over TRC-20 is trc20/usdt. With this in mind, a request for USDT over TRC-20 would look like this: api.cryptapi.io/trc20/usdt/create/

Notes:

  • Currently supported cryptocurrencies/tokens can be checked on the cryptocurrencies page.
Example: btc
query Parameters
prices
integer
Default: 1

Enable if you want to receive also the coin prices, by setting prices=1.
Responses
200

Info fetched successfully.

Response Schema: application/json
coin
string

Human readable name of the currency.
minimum_transaction
integer
Deprecated

Minimum transaction value for this currency in integer (meant to help with precise calculations in some programming languages), values below this value are disregarded by CryptAPI.
minimum_fee
integer
Deprecated

CryptAPI currently doesn't charge a minimum fee.
On Bitcoin and Bitcoin Cash there's a minimum transaction fee of 546 Satoshis due to dust threshold. For Litecoin it's 5460 Litoshis.

Notes:

  • Value in integer meant to help with precise calculations on some programming languages.
fee_percent
number

Fee percentage for this currency.
prices_updated
string

Datetime of the last price update.
status
string

Status of the request.
prices
object

Object with the exchange rate of this currency in various FIAT currencies.

Keys are the names of the currencies, values are the exchange rates.

Updated every 5 minutes.

400

Error fetching info.

get/{ticker}/info/
Request samples
Response samples
application/json
{
  • "coin": "Bitcoin",
  • "minimum_transaction": "20000",
  • "minimum_fee": "200",
  • "fee_percent": "1.00",
  • "prices_updated": "2019-10-14T13:00:09.585Z",
  • "status": "success",
  • "prices": "{'DKK': '56281.94', 'CAD': '10985.14', 'AED': '30517.01', 'BRL': '34243.36', 'USD': '8308.47', 'MXN': '160193.26', 'CNY': '58740.88', 'INR': '591471.72', 'JPY': '899719.16', 'HKD': '65173.93', 'GBP': '6616.08', 'EUR': '7535.35'}"
}

Generate QR Code

This method generates a base64-encoded QR Code image for payments.

Request
path Parameters
ticker
required
string

The ticker parameter in this CryptAPI request refers to the unique identifier of the cryptocurrency to which you are making the request. It is included in the URL of the request and helps to specify the exact cryptocurrency that you want to retrieve data for. The ticker is typically a short code that uniquely identifies the cryptocurrency, token, and its blockchain.

For instance, the ticker for Bitcoin is btc, and the ticker for USDT over TRC-20 is trc20/usdt. With this in mind, a request for USDT over TRC-20 would look like this: api.cryptapi.io/trc20/usdt/create/

Notes:

  • Currently supported cryptocurrencies/tokens can be checked on the cryptocurrencies page.
Example: btc
query Parameters
address
required
string

The payment address (address_in from our system).
value
integer

Value to request the user. Not mandatory and can be left empty.

Notes:

  • If the value is left empty, the resulting QR code will only contain the address.
  • It's worth noting that the value parameter might not work in most exchanges and some wallets (works with Trust and Exodus wallets). Some user wallets or exchanges will only read the address and will not process the value field (usually they paste the address and amount in the address field, causing confusion to the customer). Therefore, it is recommended to use the value field at your own discretion.
size
integer
Default: 512

Size of the QR Code image in pixels.
Min: 64
Max: 1024
Example: size=300
Responses
200

The QR Code.

Response Schema: application/json
status
string

Status of the request. Should be success if the request didn't fail.
qr_code
string

Base64-encoded image of the QR Code.

Here is an example of how to use this:

<img src="data:image/png;base64,{qr_code}" alt="Payment QR Code"/>

You may use it in every situation where is supported, just don't forget to add data:image/png;base64, before the qr_code.

payment_uri
string

Payment URI useful if you want to make a clickable button.
get/{ticker}/qrcode/
Request samples
Response samples
application/json
{
  • "status": "success",
  • "qr_code": "...",
  • "payment_uri": "..."
}

Estimate Blockchain Fees


This method allows you to estimate blockchain fees to process a transaction.

Notes:

  • This is an estimation only, and might change significantly when the transaction is processed. CryptAPI is not responsible if blockchain fees when forwarding the funds differ from this estimation.
  • These not include CryptAPI's fees.
Request
path Parameters
ticker
required
string

The ticker parameter in this CryptAPI request refers to the unique identifier of the cryptocurrency to which you are making the request. It is included in the URL of the request and helps to specify the exact cryptocurrency that you want to retrieve data for. The ticker is typically a short code that uniquely identifies the cryptocurrency, token, and its blockchain.

For instance, the ticker for Bitcoin is btc, and the ticker for USDT over TRC-20 is trc20/usdt. With this in mind, a request for USDT over TRC-20 would look like this: api.cryptapi.io/trc20/usdt/create/

Notes:

  • Currently supported cryptocurrencies/tokens can be checked on the cryptocurrencies page.
Example: btc
query Parameters
addresses
integer
Default: 1

The number of addresses to forward the funds to. Should be the same you set in the address parameter.

Notes:

  • Blockchain fees will increase with the number of addresses.
Example: addresses=3
priority
string
Default: "default"

This parameter enables you to specify the priority for forwarding funds to the given address. It determines the level of fees paid to the blockchain network and can impact the speed of transaction confirmation. It's important to note that the priority value varies depending on the currency/network.

Notes:

  • You can refer to our knowledge base to find the specific priorities to use with this endpoint for each blockchain.
  • This feature is supported only when utilizing Bitcoin, Ethereum/ERC-20, and Litecoin.
Example: priority=fast
Responses
200

Estimated cost.

Response Schema: application/json
status
string

Status of the request.
estimated_cost
integer

Estimated cost in the coin.
estimated_cost_currency
object

Object with the estimated cost in various FIAT currencies.

Keys are the names of the currencies, values are the estimated costs.

400

Your request couldn't be processed, please try again later

get/{ticker}/estimate/
Request samples
Response samples
application/json
{
  • "status": "success",
  • "estimated_cost": "0.00001",
  • "estimated_cost_currency": "{'USD': '0.09', 'EUR': '0.08', 'GBP': '0.07', 'CAD': '0.11', 'JPY': '10.21', 'AED': '0.33', 'DKK': '0.58', 'BRL': '0.46', 'CNY': '0.56', 'HKD': '0.69', 'INR': '6.67', 'MXN': '1.81', 'UGX': '310.74', 'PLN': '0.35', 'PHP': '4.56', 'CZK': '1.91', 'HUF': '27.95', 'BGN': '0.15', 'RON': '0.39', 'LKR': '18.02'}"
}

Convert Prices

This method allows for seamless conversion of prices between FIAT currencies and cryptocurrencies, as well as between different cryptocurrencies. Note:

  • Prices are fetched every 5 minutes from CoinMarketCap.
Request
path Parameters
ticker
required
string

The ticker parameter in this CryptAPI request refers to the unique identifier of the cryptocurrency to which you are making the request. It is included in the URL of the request and helps to specify the exact cryptocurrency that you want to retrieve data for. The ticker is typically a short code that uniquely identifies the cryptocurrency, token, and its blockchain.

For instance, the ticker for Bitcoin is btc, and the ticker for USDT over TRC-20 is trc20/usdt. With this in mind, a request for USDT over TRC-20 would look like this: api.cryptapi.io/trc20/usdt/create/

Notes:

  • Currently supported cryptocurrencies/tokens can be checked on the cryptocurrencies page.
Example: btc
query Parameters
value
required
number

The value that you intend to convert, using the cryptocurrency or token associated with the ticker you are utilizing.
Example: value=10
from
required
string

Specify the type of currency you wish to convert, whether it is a FIATs currency or a cryptocurrency.

For a complete list of the cryptocurrencies we support, please refer to our cryptocurrencies page.

In case your desired FIAT currency is not included in the list of supported currencies, please don't hesitate to reach out to us so that we can add it to our service:

  • (USD) United States Dollar
  • (EUR) Euro
  • (GBP) Great Britain Pound
  • (CAD) Canadian Dollar
  • (JPY) Japanese Yen
  • (AED) UAE Dollar
  • (MYR) Malaysian Ringgit
  • (IDR) Indonesian Rupiah
  • (THB) Thai Baht
  • (CHF) Swiss Franc
  • (COP) Colombian Peso
  • (SGD) Singapore Dollar
  • (RUB) Russian Ruble
  • (ZAR) South African Rand
  • (TRY) Turkish Lira
  • (LKR) Sri Lankan Rupee
  • (XAF) CFA Franc
  • (RON) Romanian Leu
  • (BGN) Bulgarian Lev
  • (HUF) Hungarian Forint
  • (CZK) Czech Koruna
  • (PHP) Philippine Peso
  • (PLN) Poland Zloti
  • (UGX) Uganda Shillings
  • (MXN) Mexican Peso
  • (INR) Indian Rupee
  • (HKD) Hong Kong Dollar
  • (CNY) Chinese Yuan
  • (BRL) Brazilian Real
  • (DKK) Danish Krone
Example: from=usd
Responses
200

The value converted.

Response Schema: application/json
value_coin
number

Converted value for the selected currencies.

exchange_rate
number

The exchange rate between the 2 currencies.

status
string

Status of the request.

400

Your request couldn't be processed, please try again later

get/{ticker}/convert/
Request samples
Response samples
application/json
{
  • "value_coin": "0.01",
  • "exchange_rate": "47000",
  • "status": "success"
}

Callbacks

These callbacks are dispatched by our API to your platform when a user sends a payment to the address generated by our system. Your platform should be ready to handle these callbacks which are requests made to the URL provided in the callback parameter.

Each callback is sent with an additional header, x-ca-signature. This is a base64-encoded 1024-bit RSA-SHA256 signature of the callback. The specific data signed depends on the type of callback you're receiving. For callbacks sent via GET, the entire request URL to your system (including all GET parameters) is signed. If the callback is sent via POST, then the entire body of the request is signed. The Public Key for verification can be retrieved from this this endpoint.

Check our knowledge base to learn how to verify the callback with code samples.

CryptAPI will stop sending callbacks under one of these two circumstances:

  • If the your system responds with an *ok* message or an HTTP 200 status code, indicating that the callback has been successfully received and processed.
  • In case your system fails to response successfully to the callback, our API will retry sending the callback in a specific timing. Regarding the timing of these callbacks, we employ an exponential backoff strategy. Initially, the system waits for 6 minutes before making the first retry attempt. With each subsequent attempt, this wait time doubles, hence increasing the time between attempts in an exponential manner until the transaction is older than 3 days.

Every time funds are received in a generated address, callbacks are sent. If you are experiencing difficulties receiving our callbacks, it could be attributed to the following reasons:

  • Incorrect Token Sent: It is possible that you sent the wrong token to the address. For instance, if you created a USDt transaction but mistakenly sent TRX to the address, our system would disregard the transaction.
  • Unreachable Callback URL: The callback URL you provided in the callback parameter may not be accessible online. It is essential to ensure that the URL is reachable and functional.
  • Security System Interference: Your platform might have a security system, such as Cloudflare protection, in place. This security system could be preventing our callbacks from reaching your platform.

Note: To avoid any issues with the callbacks, we strongly recommend whitelisting our server IPs. The IPs that should be whitelisted are: 145.239.119.223 and 135.125.112.47

Pending CallbackWebhook

Callback issued when a client's transaction is pending confirmation.

Notes:

  • Only issued if you have requested to be notified of pending transactions. Only sent when post parameter is set to 1, when creating a new address.
  • Sent via POST if post=1 parameter set, else sent via GET.
Request
query Parameters
uuid
string

This is an unique identifier to each payment your clients have made, so you can easily track any duplicate callbacks sent, in the case our system doesn't mark the callback as successful
Example: uuid=dbfcb40e-5a6b-4305-9fa2-b0fbda6e3ff2
address_in
string

Address generated by CryptAPI, where your customer sent the payment.
Example: address_in=14PqCsA7KMgseZMPwg6mJy754MtQkrgszu
address_out
string

Address(es) where CryptAPI forwarded the payment.
Example: address_out=1H6ZZpRmMnrw8ytepV3BYwMjYYnEkWDqVP (single address)<br/> {1H6ZZpRmMnrw8ytepV3BYwMjYYnEkWDqVP: 0.70, 1PE5U4temq1rFzseHHGE2L8smwHCyRbkx3: 0.30} (multiple addresses)
txid_in
string

Transaction hash of your customer's payment.
Example: txid_in=a2174ffd39289100709f2a07b129cdbba69df2e22e5be1830221dab1fd4e332c
confirmations
integer

Number of confirmations of the current transaction.
Example: confirmations=1
value
integer
Deprecated

Value of the payment in integer.

Notes

  • For some stable coins (e.g USDT or BUSD), this field always come rounded to 'cents' (two decimals), meaning you must always divide it by 100. Example: If value=1054, 1054/100=10.54.
  • It's recommended to use the value_coin field instead.
  • Field meant to help with precise calculations on some programming languages.
Example: value=50000
value_coin
number

This is the payment amount sent by your customer prior to deducting any fees.

Note:

Example: value_coin=0.05
value_coin_convert
string

Converted value to various FIAT currencies of the value_coin.

Notes:

  • This parameter will only be shown if added the convert=1 parameter in the /create/ endpoint.
  • Response is json-encoded.
Example: value_coin_convert={"USD": "3.20", "EUR": "3.05", "GBP": "2.62", "CAD": "4.16", "JPY": "431.90", "AED": "11.77", "DKK": "22.67", "BRL": "16.52", "CNY": "21.43", "HKD": "25.16", "INR": "249.97", "MXN": "64.95", "UGX": "11975.46", "PLN": "14.25", "PHP": "173.14", "CZK": "75.37", "HUF": "1220.10", "BGN": "5.94", "RON": "15.02", "LKR": "1153.30", "TRY": "55.54", "ZAR": "51.36", "RUB": "181.24"}
coin
string

Ticker of the coin used for the payment: ['btc', 'bch', 'ltc'', 'eth', 'trx']

For ERC-20 (ETH) Tokens, this parameter will be erc20_ + the ticker of the token, e.g erc20_usdt

For TRC-20 (Tron) Tokens, this parameter will be trc20_ + the ticker of the token, e.g trc20_usdt

For BEP-20 (BSC) Tokens, this parameter will be bep20_ + the ticker of the token, e.g bep20_usdt

For Polygon Tokens, this parameter will be polygon_ + the ticker of the token, e.g polygon_usdt

Example: coin=btc
price
number

Coin price in USD at the time of the callback.
Example: price=55.59
pending
integer

Being the pending callback, this value should be 1.
Example: pending=1
Responses
200

Expected response from your server.

Response Schema: text/plain
string
Response samples
text/plain
*ok*

Confirmed CallbackWebhook

Callback issued when a client's transaction has been confirmed by the network.

Request
query Parameters
uuid
string

This is an unique identifier to each payment your clients have made, so you can easily track any duplicate callbacks sent, in the case our system doesn't mark the callback as successful.
Example: uuid=dbfcb40e-5a6b-4305-9fa2-b0fbda6e3ff2
address_in
string

Address generated by CryptAPI, where your customer sent the payment.
Example: address_in=14PqCsA7KMgseZMPwg6mJy754MtQkrgszu
address_out
string

Address(es) where CryptAPI forwarded the payment.
Example: address_out=1H6ZZpRmMnrw8ytepV3BYwMjYYnEkWDqVP (single address)<br/> {1H6ZZpRmMnrw8ytepV3BYwMjYYnEkWDqVP: 0.70, 1PE5U4temq1rFzseHHGE2L8smwHCyRbkx3: 0.30} (multiple addresses)
txid_in
string

Transaction hash of your customer's payment.
Example: txid_in=a2174ffd39289100709f2a07b129cdbba69df2e22e5be1830221dab1fd4e332c
txid_out
string

Transaction hash of the payment forwarded to your address(es) by CryptAPI.
Example: txid_out=a2174ffd39289100709f2a07b129cdbba69df2e22e5be1830221dab1fd4e332c
confirmations
integer

Number of blockchain confirmations of the current transaction.

Notes:

  • This parameter will only appear in the confirmed callback.
Example: confirmations=1
fee
integer
Deprecated

CryptAPI fee in integer. Field meant to help with precise calculations on some platforms.

Notes:

  • Field meant to help with precise calculations on some programming languages.
Example: fee=500
value
integer
Deprecated

Value of the payment in integer.

Notes

  • Field meant to help with precise calculations on some programming languages.
  • It's recommended to use the value_coin field instead.
Example: value=50000
value_coin
number

This is the payment amount sent by your customer prior to deducting any fees.

Note:

Example: value_coin=0.05
value_coin_convert
string

Converted value to various FIAT currencies of the value_coin.

Notes:

  • This parameter will only be shown if added the convert=1 parameter in the /create/ endpoint.
  • Response is json-encoded.
Example: value_coin_convert={"USD": "3.20", "EUR": "3.05", "GBP": "2.62", "CAD": "4.16", "JPY": "431.90", "AED": "11.77", "DKK": "22.67", "BRL": "16.52", "CNY": "21.43", "HKD": "25.16", "INR": "249.97", "MXN": "64.95", "UGX": "11975.46", "PLN": "14.25", "PHP": "173.14", "CZK": "75.37", "HUF": "1220.10", "BGN": "5.94", "RON": "15.02", "LKR": "1153.30", "TRY": "55.54", "ZAR": "51.36", "RUB": "181.24"}
value_forwarded
integer
Deprecated

Value forwarded to you, after fees in integer. Field meant to help with precise calculations on some programming languages.
Example: value_forwarded=50000
value_forwarded_coin
number

Value forwarded to you, after fees deducted.
Example: value_forwarded_coin=0.05
value_forwarded_coin_convert
string

Converted value to various FIAT currencies of the value_forwarded_coin.

Notes:

  • This parameter will only be shown if added the convert=1 parameter in the /create/ endpoint.
  • Response is json-encoded.
Example: value_forwarded_coin_convert={"USD": "3.17", "EUR": "3.01", "GBP": "2.59", "CAD": "4.12", "JPY": "427.16", "AED": "11.64", "DKK": "22.41", "BRL": "16.33", "CNY": "21.20", "HKD": "24.88", "INR": "247.19", "MXN": "64.25", "UGX": "11855.29", "PLN": "14.08", "PHP": "171.25", "CZK": "74.50", "HUF": "1206.19", "BGN": "5.88", "RON": "14.86", "LKR": "1140.51", "TRY": "54.93", "ZAR": "50.82", "RUB": "179.22"}
fee_coin
number

Fee paid to CryptAPI, deducted from value_coin amount.
Example: fee_coin=0.02
coin
string

Ticker of the coin used for the payment: ['btc', 'bch', 'ltc'', 'eth', 'trx']

For ERC-20 (ETH) Tokens, this parameter will be erc20_ + the ticker of the token, e.g erc20_usdt

For TRC-20 (Tron) Tokens, this parameter will be trc20_ + the ticker of the token, e.g trc20_usdt

For BEP-20 (BSC) Tokens, this parameter will be bep20_ + the ticker of the token, e.g bep20_usdt

For Polygon Tokens, this parameter will be polygon_ + the ticker of the token, e.g polygon_usdt

Example: coin=btc
price
number

Coin price in USD at the time of the callback.
Example: price=55.59
pending
integer

Being the confirmed callback, this value should be 0.

Payment was confirmed by the blockchain.

Example: pending=0
Responses
200

Expected response from your server.

The callback will be marked as successful when it receives the following response from your server.

Response Schema: text/plain
string
Response samples
text/plain
*ok*