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.
For the documentation on CryptAPI Pro click here.
This endpoint is used to check the information for Bitcoin.
Info fetched successfully
Error fetching info
import requests url = "https://api.cryptapi.io/btc/info/" query = { "prices": "0" } response = requests.get(url, params=query) data = response.json() print(data)
{- "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'}"
}
This method is used to generate a new Bitcoin address to give your clients, where they can send payments.
This service's minimum value can be checked on the pricing page, any values below that will be ignored.
Fee is calculated as follows: max(min_fee, 0.01 * amount)
Which means that the fee is 1% or the minimum fee, whichever is greater.
Notice: The length of this request can't surpass the 8192
characters!
callback required | string The URL the callbacks will be sent to. Must be a valid URL. | ||||||||||||||||||
address required | string Address or addresses where the payment will be forwarded to. | ||||||||||||||||||
pending | integer Set this to 1 if you want to be notified of pending transactions (before they're confirmed) (default: False) | ||||||||||||||||||
confirmations | integer Number of confirmations you want before receiving the callback (Min. 1) (default: 1) | ||||||||||||||||||
string E-mail address to receive payment notifications | |||||||||||||||||||
post | integer Set this to 1 if you wish to receive the callback as a POST request (default: GET) | ||||||||||||||||||
priority | string Set confirmation priority, needs to be one of
|
Address was created
Error creating address
import requests url = "https://api.cryptapi.io/btc/create/" query = { "callback": "string", "address": "string", "pending": "0", "confirmations": "0", "email": "string", "post": "0", "priority": "fast" } response = requests.get(url, params=query) data = response.json() print(data)
{- "address_in": "14PqCsA7KMgseZMPwg6mJy754MtQkrgszu",
- "address_out": "1H6ZZpRmMnrw8ytepV3BYwMjYYnEkWDqVP (single address) {1H6ZZpRmMnrw8ytepV3BYwMjYYnEkWDqVP: 0.70, 1PE5U4temq1rFzseHHGE2L8smwHCyRbkx3: 0.30} (multiple addresses)",
- "callback_url": "example.com/invoice/1234?payment_id=5678",
- "priority": "default",
- "status": "success"
}
This method generates a base64-encoded image for payments
import requests url = "https://api.cryptapi.io/btc/qrcode/" query = { "address": "string", "value": "0", "size": "0" } response = requests.get(url, params=query) data = response.json() print(data)
{- "status": "success",
- "qr_code": "...",
- "payment_uri": "..."
}
This method allows you to estimate blockchain fees to process a transaction.
Attention: 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.
Note: These not include CryptAPI's fees.
Estimated cost
Your request couldn't be processed, please try again later
import requests url = "https://api.cryptapi.io/btc/estimate/" query = { "addresses": "0", "priority": "fast" } response = requests.get(url, params=query) data = response.json() print(data)
{- "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'}"
}
This method allows you to easily convert prices from FIAT to Crypto or even between cryptocurrencies
import requests url = "https://api.cryptapi.io/btc/convert/" query = { "value": "0", "from": "string" } response = requests.get(url, params=query) data = response.json() print(data)
{- "value_coin": "0.01",
- "exchange_rate": "47000",
- "status": "success"
}
This method is used to check logs for your callback URLs.
List of payments sent to this callback
address_in | string Generated Address, give this to your client |
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 |
status | string Status |
notify_pending | boolean Get notified of pending transactions |
notify_confirmations | integer Number of confirmations required before sending the callback |
priority | string The confirmation priority you requested |
Array of objects (log_items_btc) List of payments made to this address |
Your request couldn't be processed, please try again later
No request or no payment callbacks found
import requests url = "https://api.cryptapi.io/btc/logs/" query = { "callback": "string" } response = requests.get(url, params=query) data = response.json() print(data)
{- "address_in": "14PqCsA7KMgseZMPwg6mJy754MtQkrgszu",
- "address_out": "1H6ZZpRmMnrw8ytepV3BYwMjYYnEkWDqVP (single address) {1H6ZZpRmMnrw8ytepV3BYwMjYYnEkWDqVP: 0.70, 1PE5U4temq1rFzseHHGE2L8smwHCyRbkx3: 0.30} (multiple addresses)",
- "callback_url": "example.com/invoice/1234?payment_id=5678",
- "status": "success",
- "notify_pending": true,
- "notify_confirmations": 1,
- "priority": "default",
- "callbacks": [
- {
- "txid_in": "33f11611f863d7475eb10daada2f225f0877561cf58cdfff175e99635dfd9120",
- "txid_out": "5ea53d5e728bfdb56b54c0b945990b69ae1e66cec56ab24679c9a622c4695276",
- "value": 100000,
- "value_coin": 0.1,
- "value_forwarded": 100000,
- "value_forwarded_coin": 0.1,
- "confirmations": 13,
- "last_update": "15/02/2018 21:23:42",
- "result": "done",
- "fee_percent": 1,
- "fee": 2000,
- "logs": [
- {
- "request_url": "example.com/invoice/1234?payment_id=5678",
- "response": "*ok*",
- "response_status": "200",
- "timestamp": "15/02/2018 21:23:42",
- "next_try": "15/02/2018 21:23:42",
- "success": true
}
]
}
]
}