UNPKG

coinremitter-api

Version:

Official Coinremitter API for nodejs

682 lines (595 loc) 20.2 kB
# Coinremitter Package For Node JS Coinremitter is a [crypto payment processor](http://coinremitter.com). Accept Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Dash, Tron, Binance ,Tether USD ERC20,Tether USD TRC20 etc.View all supported currency [here](http://coinremitter.com/supported-currencies). **What is the crypto payment processor?** The Crypto Payment Processor acts as a mediator between merchants and customers, allowing the merchant to receive payments in the form of cryptocurrency. **If you want to use coinremitter API then refer this [api documentation](https://api.coinremitter.com/docs)**. ## Prerequisites - Make sure Node.js is installed on your system.Check with `node -v` and `npm -v` to verify. A minimum of Node js version 14.x upto 22.x. ## Installation Guide You can install the Coinremitter package using npm in your project with the help of: ```bash npm i coinremitter-api ``` ## Usage You need to include the package like this wherever you want to use this: ```js const coinremitter = require("coinremitter-api"); ``` Now, you can access all the methods of the package by creating an object of class like this: ```js const wallet = new coinremitter("WALLET_API_KEY", "WALLET_PASSWORD"); ``` ### Get Balance You can get the balance of your wallet using the getBalance call. ```js const balance = await wallet.getBalance(); console.log(balance); ``` This will return either a success response or an error response(if something went wrong) Success Response: ```js { "success": true, "data": { "wallet_id": "6746c765xxxxxxxxxxxxxx", "wallet_name": "BTC-wallet", "coin_symbol": "BTC", "coin": "Bitcoin", "coin_logo": "https://api.coinremitter.com/assets/images/coins/32x32/BTC.png", "blockchain_network_name": "Bitcoin Main Net", "contract_address": "", "contract_address_url": "", "explorer_url": "https://www.blockchain.com/explorer/transactions/btc/", "chain_id": "1", "remaining_withdraw_limit_24h": "49", "balance": "84.73000000", "minimum_deposit_amount": "0.1" } } ``` ### Create Wallet Address You can get a new wallet address using the following method: ```js const param = { label: "BTC1", // optional, label to new address }; const address = await wallet.createAddress(param); console.log(address); ``` Success Response: ```js { "success": true, "data": { "wallet_id": "6746c765xxxxxxxxxxxxxx", "wallet_name": "BTC-wallet", "coin": "Bitcoin", "coin_symbol": "BTC", "coin_logo": "https://api.coinremitter.com/assets/images/coins/32x32/BTC.png", "blockchain_network_name": "Bitcoin Main Net", "contract_address": "", "contract_address_url": "", "chain_id": "1", "address": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx", "explorer_url": "https://www.blockchain.com/explorer/addresses/btc/xxxxxxxxxxxxxxxxxxxxxxxxxxxx?from=coinremitter", "label": "BTC1", "qr_code": "https://qr_code.com/qr?margin=1&size=200&text=xxxxxxxxxxxxxxxxxxxxxxxxxxxx", "minimum_deposit_amount": "1", "remaining_address_limit": 499, "wrn_msg": "", "expire_on": "2025-06-21 09:34:07", "expire_on_timestamp": 1750498447000 } } ``` ### Validate Wallet Address For validation of a wallet address, use the following method: ```js const param = { address: "MLjDMFsobgkxxxxxxxxxxxxxxxxxxxx", // required, Address to validate }; const validate = await wallet.validateAddress(param); console.log(validate); ``` Success Response: ```js { "success": true, "data": { "valid": true } } ``` If the `valid` in `data` response is `true` then the given address is valid,otherwise it's an invalid address. ### Estimate Withdrawal Cost To calculate fees for various withdrawal speeds, use following method will be used: ```js const param = { 'address':'MLjDMFsobgkxxxxxxxxxxxxxxxxxxxx', // required, Total amount which you want to send. 'amount':0.0001, // optional, Address of in which you want to send amount. 'withdrawal_speed':'priority' // optional,The speed of withdrawal. Either 'priority', 'medium' or 'low'.Default speed take from your wallet settings. }; const withdraw = wallet.estimateWithdraw(param); console.log(withdraw); ``` Success Response: ```js { "success": true, "data": { "amount": "1.00000000", "transaction_fee": "0.10000000", "processing_fee": "0.01000000", "total_amount": "1.11000000", "fees_structure": { "transaction_fee": "0.01", "processing_fee": "0.23%" } } } ``` ### Withdraw Wallet Balance To withdraw the amount from a specific address, use the following method: ```js const param = { address: "MLjDMFsobgkxxxxxxxxxxxxxxxxxxxx", // required, Address of in which you want to send amount. amount: 0.0001, // required, Total amount which you want to send. withdrawal_speed: "priority", // optional, The speed of withdrawal. Either 'priority', 'medium' or 'low'.Default speed take from your wallet settings. }; const withdraw = await wallet.withdraw(param); console.log(withdraw); ``` Success Response: ```js { "success": true, "data": { "id": "674edd35765xxxxxxxxxxxxxx", "txid": "1796b1185xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "explorer_url": "https://www.blockchain.com/explorer/transactions/btc/1796b1185xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "amount": "1.00000000", "transaction_fees": "0.10000000", "processing_fees": "0.01000000", "total_amount": "1.11000000", "to_address": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "wallet_id": "6746c765xxxxxxxxxxxxxx", "wallet_name": "BTC-wallet", "coin_symbol": "BTC", "coin": "Bitcoin", "date": "2024-12-03 10:28:05", "transaction_timestamp": 1733221685000, "remaining_withdraw_limit_24h": "49" } } ``` The dates received in the response are in the UTC format. ### Get Transaction Retrieve transaction information using the ID received from the "withdraw amount" response's ID or from the "id" field in the webhook using the following method. ```js const param = { id: "674edd35765xxxxxxxxxxxxxx", // required, Unique id of your transaction. }; const transaction = await wallet.getTransaction(param); console.log(transaction); ``` Success Response: ```js { "success": true, "data": { "id": "674edd35765xxxxxxxxxxxxxx", "txid": "1796b1185xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "confirmations": 5, "required_confirmations": 3, "status": "confirm", "status_code": 1, "explorer_url": "https://www.blockchain.com/explorer/transactions/btc/1796b1185xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?from=coinremitter", "type": "receive", "coin": "Bitcoin", "coin_symbol": "BTC", "wallet_id": "6746c765xxxxxxxxxxxxxx", "wallet_name": "BTC-wallet", "address": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "label": "BTC1", "amount": "1.00000000", "date": "2024-12-02 09:18:55", "transaction_timestamp": 1733131135000 } } ``` If the response data object contains `type` is equal to `send` then the response will be given as shown below: ```js { "success": true, "data": { "id": "674edd35765xxxxxxxxxxxxxx", "txid": "1796b1185xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "confirmations": 5, "required_confirmations": 3, "status": "confirm", "status_code": 1, "explorer_url": "https://www.blockchain.com/explorer/transactions/btc/1796b1185xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?from=coinremitter", "type": "send", "coin": "Bitcoin", "coin_symbol": "BTC", "wallet_id": "6746c765xxxxxxxxxxxxxx", "wallet_name": "BTC-wallet", "address": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "label": "BTC1", "amount": "1.00000000", "date": "2024-12-02 09:18:55", "transaction_timestamp": 1733131135000 } } ``` The dates received in the response are in the UTC format. ### Get Transaction Details By Address Get transaction details by the given address: ```js const param = { address: "MLjDMFsobgkxxxxxxxxxxxxxxxxxxxx", }; const transaction = await wallet.getTransactionByAddress(param); console.log(transaction); ``` Success response : ```js { "success": true, "data": { "coin": "Bitcoin", "coin_symbol": "BTC", "wallet_name": "BTC-wallet", "wallet_id": "6746c765xxxxxxxxxxxxxx", "address": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "expire_on": "2025-05-26 07:16:53", "expire_on_timestamp": 1748243813000, "label": "BTC1", "required_confirmations": 3, "confirm_amount": "2.00000000", "pending_amount": "0.00000000", "transactions": [ { "id": "674edd35765xxxxxxxxxxxxxx", "txid": "1796b1185xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "confirmations": 3, "status": "confirm", "status_code": 1, "explorer_url": "https://www.blockchain.com/explorer/transactions/btc/1796b1185xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "type": "receive", "amount": "2.00000000", "date": "2024-11-29 11:15:20", "transaction_timestamp": 1732878920000, "confirm_amount": "2.00000000", "pending_amount": "0.00000000" } ] } } ``` The dates received in the response are in the UTC format. ### Create Invoice You can create an invoice using the following method: ```js const param = { amount: "10.6293", //required,Invoice Amount. name: "display name", //optional,It will display on invoice. email: "USER_EMAIL", //optional,Send invoice mail on this email. fiat_currency: "USD", //optional,Fiat currency code. E.g. USD, INR, EUR etc. expiry_time_in_minutes: "20", //optional, Invoice expiry time in minutes. Default 1440 minutes. notify_url: "https://yourdomain.com/notify-url", //optional,User will be redirected to this url once payment done. success_url: "https://yourdomain.com/success-url", //optional,User will be redirected to this url when user cancel payment., fail_url: "https://yourdomain.com/fail-url", //optional,url on which user will be redirect if user cancel invoice, description: "", //optional.The description for the invoice. custom_data1: "", //optional.This data will be included in notify_url. custom_data2: "", //optional.This data will be included in notify_url. }; const invoice = await wallet.createInvoice(param); console.log(invoice); ``` Success response : ```js { "success": true, "data": { "id": "674edd35765xxxxxxxxxxxxxx", "invoice_id": "0wBv07n", "url": "https://coinremitter.com/invoice/view/674edd35765xxxxxxxxxxxxxx", "total_amount": { "BTC": "0.03000000", "USD": "10.6293" }, "paid_amount": { "BTC": "0.01000000", "USD": "3.5431" }, "usd_amount": "10.63", "amount": "0.03000000", "conversion_rate": { "USD_BTC": "0.00282239", "BTC_USD": "354.31000000" }, "fiat_currency": "", "coin": "Bitcoin", "coin_symbol": "BTC", "name": "BTC-wallet", "description": "", "wallet_name": "BTC-wallet", "wallet_id": "673d6a3fdfxxxxxxxxxxxxxx", "merchant_id": "6746c765xxxxxxxxxxxxxx", "status": "Pending", "status_code": 0, "payment_history": [], "success_url": "", "fail_url": "", "notify_url": "", "expire_on": "", "expire_on_timestamp": "", "invoice_date": "2024-12-03 10:41:13", "custom_data1": "", "custom_data2": "", "invoice_timestamp": 1733222473000, "delete_after": "2025-06-01 10:41:13", "delete_after_timestamp": 1748774473000 } } ``` The dates received in the response are in the UTC format. ### Get Invoice Get invoice details using invoice_id received using the following method: ```js const param = { invoice_id: "FJkJEOx", // required, Unique id of invoice. }; const invoice = await wallet.getInvoice(param); console.log(invoice); ``` Success Response: ```js { "success": true, "data": { "id": "674edd35765xxxxxxxxxxxxxx", "invoice_id": "FJkJEOx", "url": "https://coinremitter.com/invoice/view/674edd35765xxxxxxxxxxxxxx", "total_amount": { "BTC": "0.03000000", "USD": "10.6293" }, "paid_amount": { "BTC": "0.01000000", "USD": "3.5431" }, "usd_amount": "10.63", "amount": "0.03000000", "conversion_rate": { "USD_BTC": "0.00282239", "BTC_USD": "354.31000000" }, "fiat_currency": "", "coin": "Bitcoin", "coin_symbol": "BTC", "name": "BTC-wallet", "description": "", "wallet_name": "BTC-wallet", "wallet_id": "673d6a3fdfxxxxxxxxxxxxxx", "merchant_id": "6746c765xxxxxxxxxxxxxx", "payment_history": [ { "txid": "1796b1185xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "explorer_url": "https://www.blockchain.com/explorer/transactions/btc/1796b1185xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?from=coinremitter", "amount": "0.01000000", "date": "2024-11-20 05:34:41", "confirmation": 5, "required_confirmations": 3 } ], "status": "Under Paid", "status_code": 2, "success_url": "", "fail_url": "", "notify_url": "", "expire_on": "", "expire_on_timestamp": "", "invoice_date": "2024-11-20 05:33:57", "custom_data1": "", "custom_data2": "", "invoice_timestamp": 1732080837000, "delete_after": "2025-05-19 05:33:57", "delete_after_timestamp": 1747632837000 } } ``` The dates received in the response are in the UTC format. ### Fiat To Crypto Rate Get the current crypto rate in fiat currencies using the following method: ```js const param = { 'fiat':'USD' // required, Fiat Symbol. 'fiat_amount':'50' // required, Fiat Amount. 'crypto':'BTC' // optional, Crypto Symbol. }; const cryptoRate = await wallet.getFiatToCryptoRate(param) console.log(cryptoRate); ``` Success Response: ```js { "success": true, "data": [ { "short_name": "ETH", "name": "Ethereum", "price": "0.01826164" }, { "short_name": "BTC", "name": "Bitcoin", "price": "0.00078409" }, { "short_name": "USDTERC20", "name": "Tether USD ERC20", "price": "50.00000000" } ] } ``` ### Crypto To Fiat Rate To convert crypto rate into fiat rate. ```js const param = { 'crypto'=>'BTC' // optional, Crypto Symbol. 'crypto_amount'=>'50' // required, Crypto Amount. 'fiat'=>'USD' // required, Fiat Symbol. }; const fiatRate = await wallet.cryptoToFiatRate() console.log(fiatRate); ``` Success Response: ```js { "success": true, "data": [ { "code": "USD", "currency": "United States Dollar", "amount": "166.84" }, { "code": "EUR", "currency": "Euro", "amount": "154.16" }, { "code": "NZD", "currency": "New Zealand Dollar", "amount": "273.62" }, { "code": "SGD", "currency": "Singapore Dollar", "amount": "225.23" } ] } ``` ### Get Supported Currency To get all supported currency and their detail. ```js const supportedCurrency = await wallet.getSupportedCurrency(); console.log(supportedCurrency) ``` Success response : ```json { "success": true, "data": [ { "coin": "Bitcoin", "coin_symbol": "BTC", "network_name": "Bitcoin Network", "explorer_url": "https://www.blockchain.com/explorer/transactions/btc/", "logo": "https://api.coinremitter.com/assets/images/coins/32x32/BTC.png", "minimum_deposit_amount": "0.00001", "price_in_usd": "63768", "fees": { "low": { "transaction_fees_type": "flat", "processing_fees_type": "percentage", "transaction_fee": "0.23", "processing_fee": "0.23", "transaction_fee_with_gasstation": "0.002", "processing_fee_with_gasstation": "0.002" }, "medium": { "transaction_fees_type": "flat", "processing_fees_type": "percentage", "transaction_fee": "0.003", "processing_fee": "0.35", "transaction_fee_with_gasstation": "0.002", "processing_fee_with_gasstation": "0.002" }, "priority": { "transaction_fees_type": "flat", "processing_fees_type": "percentage", "transaction_fee": "0.005", "processing_fee": "0.5", "transaction_fee_with_gasstation": "0.003", "processing_fee_with_gasstation": "0.003" } } }, { "coin": "Tether USD ERC20", "coin_symbol": "USDTERC20", "network_name": "USDT ERC20 Network", "explorer_url": "https://etherscan.io/tx/", "logo": "https://api.coinremitter.com/assets/images/coins/32x32/USDTERC20.png", "minimum_deposit_amount": "3.1", "price_in_usd": "1", "fees": { "low": { "transaction_fees_type": "flat", "processing_fees_type": "percentage", "transaction_fee": "0.23", "processing_fee": "0.23", "transaction_fee_with_gasstation": "0.0003", "processing_fee_with_gasstation": "0.22" }, "medium": { "transaction_fees_type": "flat", "processing_fees_type": "percentage", "transaction_fee": "0.002", "processing_fee": "0.24", "transaction_fee_with_gasstation": "0.0003", "processing_fee_with_gasstation": "0.23" }, "priority": { "transaction_fees_type": "flat", "processing_fees_type": "percentage", "transaction_fee": "0.003", "processing_fee": "0.2", "transaction_fee_with_gasstation": "0.0004", "processing_fee_with_gasstation": "0.23" } } }, { "coin": "Ethereum", "coin_symbol": "ETH", "network_name": "Ethereum Coin Network", "explorer_url": "https://etherscan.io/tx/", "logo": "https://api.coinremitter.com/assets/images/coins/32x32/ETH.png", "minimum_deposit_amount": "0.00012", "price_in_usd": "2737.98", "fees": { "low": { "transaction_fees_type": "flat", "processing_fees_type": "percentage", "transaction_fee": "0.00023", "processing_fee": "0.00023", "transaction_fee_with_gasstation": "0.0003", "processing_fee_with_gasstation": "0.12" }, "medium": { "transaction_fees_type": "flat", "processing_fees_type": "percentage", "transaction_fee": "0.0001", "processing_fee": "0.0009", "transaction_fee_with_gasstation": "0.0004", "processing_fee_with_gasstation": "0.16" }, "priority": { "transaction_fees_type": "flat", "processing_fees_type": "percentage", "transaction_fee": "0.003", "processing_fee": "0.3", "transaction_fee_with_gasstation": "0.0005", "processing_fee_with_gasstation": "0.2" } } } ] } ```