1.0.2 • Public • Published

CryptAPI's NodeJS Library

NodeJS's implementation of CryptAPI's payment gateway


npm install @cryptapi/api


Importing in your project file

const CryptAPI = require('@cryptapi/api')

Generating a new Address

const ca = new CryptAPI(coin, myAddress, callbackUrl, params, cryptapiParams)

const address = await ca.getAddress()


  • coin is the coin you wish to use, from CryptAPI's supported currencies (e.g 'btc', 'eth', 'erc20_usdt', ...).
  • myAddress is your own crypto address, where your funds will be sent to.
  • callbackUrl is the URL that will be called upon payment.
  • params is any parameter you wish to send to identify the payment, such as {orderId: 1234}.
  • cryptapiParams parameters that will be passed to CryptAPI _(check which extra parameters are available here: https://docs.cryptapi.io/#operation/create).
  • address is the newly generated address, that you will show your users in order to receive payments.

Getting notified when the user pays

Once your customer makes a payment, CryptAPI will send a callback to your callbackUrl. This callback information is by default in GET but you can se it to POST by setting post: 1 in cryptapiParams. The parameters sent by CryptAPI in this callback can be consulted here: https://docs.cryptapi.io/#operation/confirmedcallbackget

Checking the logs of a request

const ca = new CryptAPI(coin, myAddress, callbackUrl, params, cryptapiParams)

const data = await ca.checkLogs()

Same parameters as before, the data returned can b e checked here: https://docs.cryptapi.io/#operation/logs

Generating a QR code

const ca = new CryptAPI(coin, myAddress, callbackUrl, params, cryptapiParams)
const address = await ca.getAddress()

// ...

const qrCode = await ca.getQrcode(value, size)

For object creation, same parameters as before. You must first call ``getAddress` as this method requires the payment address to have been created.

For QR Code generation:

  • value is the value requested to the user in the coin to which the request was done. Optional, can be empty if you don't wish to add the value to the QR Code.
  • size Size of the QR Code image in pixels. Optional, leave empty to use the default size of 512.

Response is an object with qr_code (base64 encoded image data) and payment_uri (the value encoded in the QR), see https://docs.cryptapi.io/#operation/qrcode for more information.

Estimating transaction fees

const fees = await CryptAPI.getEstimate(coin, addresses, priority)


  • coin is the coin you wish to check, from CryptAPI's supported currencies (e.g 'btc', 'eth', 'erc20_usdt', ...)
  • addresses The number of addresses to forward the funds to. Optional, defaults to 1.
  • priority Confirmation priority, (check this article to learn more about it). Optional, defaults to default.

Response is an object with estimated_cost and estimated_cost_usd, see https://docs.cryptapi.io/#operation/estimate for more information.

Converting between coins and fiat

const conversion = await CryptAPI.getConvert(coin, value, from)


  • coin the target currency to convert to, from CryptAPI's supported currencies (e.g 'btc', 'eth', 'erc20_usdt', ...)
  • value value to convert in from.
  • from currency to convert from, FIAT or crypto.

Response is an object with value_coin and exchange_rate, see https://docs.cryptapi.io/#operation/convert for more information.

Getting supported coins

const supportedCoins = await CryptAPI.getSupportedCoins()

Response is an array with all support coins.


Need help?
Contact us @ https://cryptapi.io/contacts/



  • Initial Release


  • Minor fixes


  • Minor fixes

Package Sidebar


npm i @cryptapi/api



Weekly Downloads






Unpacked Size

13.7 kB

Total Files


Last publish


  • traveler01
  • cryptapi-io