GETTING STARTED

Installing Boxcoin

To install Boxcoin on your server follow the steps below:

  • Open the zip file boxcoin 1.2.3.zip and extract the folder in a server location of your choice.
  • Navigate to the link https://[your-site]/boxcoin/admin.php and complete the installation. Replace [your-site] with your website URL. If you changed the directory name, replace boxcoin with the new directory name.
  • Once the installation is complete, log in with the username and password entered in the previous step and save the addresses of your cryptocurrency wallets in Settings > Cryptocurrency addresses.
  • You are done! You can start creating your first checkout.

Minify JS

For performance reasons, you may want to load the minified client.js file: [YOUR-URL]/js/client.min.js. Please note that if you contact us for support you will need to load again the non-minified version.

Site migration

If you migrate the script to a new domain or URL you need to edit the config.php file (it's in the Boxcoin folder) and update the BXC_URL constant with the new URL.

To install Boxcoin on WordPress follow the steps below:

  • Go to the Plugins page and click Add new then Upload plugin and upload the zip file boxcoin 1.2.3.zip.
  • Once the installation is complete you should see a new left menu item named Boxcoin.
  • Create a new WordPress page and insert the shortcode [boxcoin-pay] into it. Save the URL of the page just created in Boxcoin > Settings > WordPress > Payment page URL.
  • Save the addresses of your cryptocurrency wallets in Boxcoin > Settings > Cryptocurrency addresses.
  • You are done! You can start creating your first checkout. If you are using WooCommerce go to WooCommerce > Settings > Payments and activate the Boxcoin payment gateway.

Important Security measure

To increase the security of Boxcoin you can create a whitelist of approved cryptocurrency addresses. Checkout addresses and any transfer of funds will be blocked if the address is not whitelisted. To create the whitelist, edit the config.php file in the Boxcoin installation directory and add the constant define('BXC_WHITELIST', []), the value must be an array containing all the addresses saved in Settings > Cryptocurrency addresses, e.g. define('BXC_WHITELIST', ["bc1qnggf72xfeh8as54", "DEqc4RNjKOdkl0xHH"]).

  • Once the constant is declared, all addresses from Settings > Cryptocurrency Addresses must be included.
  • This security check is skipped for the checkout address if the address is dynamically generated via Gemini, Coinbase, Custom explorer or other functions.
  • The address verification is performed in the following cases: to verify the checkout payment address, to verify the address of a transfer on your wallet.
  • If the address verification fails, an error will be displayed in the browser console.
  • Address verification fails if the address saved in Settings > Cryptocurrency addresses is not found in the BXC_WHITELIST constant.

Required API keys

The following cryptocurrencies require an API key to work.

Requirements

  • Your web project must support HTML and PHP, and pages containing a checkout must be opened via a web browser.
  • You cannot display the checkout on a HTML page opened directly on a local computer. Use a local server like Xampp instead.
  • Your server must allow the access of the following file: boxcoin/ajax.php
  • If you're using the WordPress version of Boxcoin and you have any security plugins installed, please make sure that they don't block the boxcoin/ajax.php file.
  • JQuery 1.1+
  • PHP 7.4+
  • In your server settings, CURL, ZIP ARCHIVE, must be enabled and working correctly.
  • MySQL - The SQL mode "ONLY_FULL_GROUP_BY", and the setting "ANSI_QUOTES", must be disabled.

Creating your first checkout

  • Create the checkout from the Checkouts area or via code.
  • Insert the Embed code on your website page, in the position where you want to show it.
  • Include the following script into the <head></head> or <footer></footer> area of the page where the checkout is shown. Include it only once per page (also if there are multiple checkouts on the same page). Replace [YOUR-URL] with the URL of your Boxcoin installation, e.g. https://example.com/boxcoin/js/client.js.
    <script id="boxcoin" src="[YOUR-URL]/js/client.js"></script>
  • Use the webhook to validate and finalize the purchase. For security reasons you should always validate the purchase via webhook. Use the redirect checkout option to redirect the customer to a new page after the purchase is complete. Use the JS event BXCTransactionCompleted to execute a JS code after the purchase is complete. See the JS events for more details.
  • Create the checkout from WordPress left menu > Boxcoin > Checkouts or via code.
  • Insert the checkout shortcode into the page of your website where you want to show it.

How it works

If the address is not dynamically generated, the checkout recognizes the transaction from its cryptocurrency amount, in which case, the amount is always unique for each transaction. The amount always changes less than 0.002% of the original amount. The user must submit the exact amount shown by Boxcoin or the payment will not be detected. Enable the generation of dynamic addresses from Settings > Gemini or Settings > Custom Blockchain explorer.


Activation

To activate the Boxcoin and enable all features (including updates and more secure encryption), you need to enter the Envato purchase code in Settings > Envato purchase code.

Find your Envato purchase code

Updates

  • To update Boxcoin, click the button Settings > Updates > Update now.
  • You can also activate automatic updates via Settings > Updates > Automatic updates.
  • To enable updates you need to have a valid Envato purchase code.
  • If you're using the WordPress version of Boxcoin, keep in mind that you cannot update Boxcoin from the WordPress plugins page.

Manual updates

To manually update Boxcoin, download it again from CodeCanyon and replace all the files of your installation with the new files from the downloaded CodeCanyon package.


Having Problems?

If you're having any issues at all, please contact our friendly support team at support@boxcoin.dev. Before contacting us, please make sure that your server has all the requirements listed above. On that same note, if you are using the WordPress version, please make sure that your WordPress installation has all the requirements listed above.

Cross-domain configuration

If you want to show checkouts on domains other than the installation domain, including subdomains, your server must allow cross-origin requests. To enable cross-origin requests on your server, do the following:

Cross-domain configuration via server

  • For Apache servers — Edit the .htaccess file of the domain where the plugin is installed and enter the code <IfModule mod_headers.c="">header('Access-Control-Allow-Origin: *');</IfModule> at the very top of the file. To make it works you need to have at least AllowOverride +FileInfo or AllowOverride All in the Apache config.
  • For nginx servers — Edit the file /etc/nginx/nginx.conf of the domain where the plugin is installed and enter the code add_header Access-Control-Allow-Origin "*"; at the very top of the file. If you're using Plesk go to Domains > example.com > Apache and nginx settings > Additional nginx directives and insert
    add_header 'Access-Control-Allow-Origin' '*';.
  • For OpenLiteSpeed servers — Visit https://openlitespeed.org/kb/setting-up-cors-on-openlitespeed/.

You can view tutorials for the most common server administration software in the list below:

Cross-domain configuration via PHP

If none of the previous solutions work or you can't change the server settings, follow the steps below:

  • Edit the file boxcoin/config.php and enter the code define('BXC_CROSS_DOMAIN', true); at the end of the file.
  • Upload the following folder into your destination domain(the domain where the checkout should be shown, not the one where Boxcoin is installed): boxcoin/media/fonts. You can upload the files where you want, for example, http://www.example.com/icons. If the checkouts are loaded on multiple domains upload the files on each domain.
  • Edit again the file boxcoin/config.php and insert the code define('BXC_CROSS_DOMAIN_URL', 'YOUR-URL'); at the end of the file. Replace YOUR-URL with the URL that points to the files you just uploaded, for example, http://www.example.com/icons. If the checkouts are loaded on multiple domains replace YOUR-URL with the an array of URLs, for example, ["http://www.example.com/icons", "http://www.example-2.com/icons"].

Hide admin.php from URL

By default, the admin URL is something like https://your-website.com/boxcoin/admin.php. You can hide the admin.php part of the URL and make it like https://your-website.com/boxcoin/ by inserting the following code in your .htaccess file:

                                    <ifmodule mod_dir.c> DirectoryIndex admin.php</ifmodule>
                                

Reset username or password of the admin account

If you can no longer log in to the admin area, you can reset your password and username by following the steps below:

  • Edit boxcoin/config.php.
  • To change username, change the value of the constant BXC_USER.
  • To change your password, change the value of the constant BXC_PASSWORD. The new password must be saved as a hash. To generate an hash for your password visit https://phppasswordhash.com/.

If you're using the WordPress version, you can also delete the config.php file and Boxcoin will generate it again on reload.


SETTINGS

Webhook

Webhooks are automated data sent from Boxcoin to a URL set by you when something happens. Use the webhook to validate and finalize the purchase. For security reasons you should always validate the purchase via webhook. You must be a developer and know how to coding to setup the webhook.

How to validate a purchase

  • In Settings > Webhook > Webhook URL enter the destination URL. Boxcoin will send the data to this URL. The URL must point to a file that read the data received, with PHP, you can use the code below to read the data.
    $response = json_decode(file_get_contents('php://input'), true);
  • In Settings > Webhook > Webhook secret key enter a secret password of your choice. The password will be included in all webhook calls (see key value in the example below). Use it to verify that the webhook is sent by Boxcoin and not someone else.
  • Save the changes. Boxcoin will now start sending the below data when a payment is complete. To validate the transaction you must check that the value of the key status is equal to C. If the transaction was made from a dynamic checkout, you must also verify that the transaction amount_fiat value is correct and eqaual to the price amount of the purchased item.
    {
        "key": "123456789",
        "transaction": {
            "id": "231",
            "title": "My checkout title",
            "description": "My checkout description",
            "from": "0xeb2629a2734e272bcc07bda959863f316f4bd4cf",
            "to": "0xcc1486157C47c4B76fe097fDD48c3CEDB20d01B6",
            "hash": "0x3c437c3245999087d8e0276e73f9411f0e593ccd5ed1feacb032724a8980a606",
            "amount": "0.001",
            "amount_fiat": "0.1",
            "cryptocurrency": "eth",
            "currency": "eur",
            "external_reference": "",
            "creation_time": "2022-04-14 10:00:00",
            "status": "C",
            "webhook": "1"
            "vat": {"amount":"0.33","percentage":"22","country":"Italy","country_code":"IT"}
        }
    }
    

Information

  • The webhook sent when a payment is confirmed is only ever sent 1 time.

WooCommerce

To start accepting cryptocurrency payments in your WooCommerce shop follow the steps below.

  • From WooCommerce > Settings > Payments activate the Boxcoin payment gateway.
  • In Boxcoin > Settings > WooCommerce > Payment page URL enter the checkout page URL and save.

Dynamic checkouts

To create checkouts by HTML code place the code below into the web page where you want to show the checkout.

<div data-boxcoin="custom-123" data-price=""></div>

URL

You can create a checkout page on the fly via the URL below. Replace [your-site] with your website URL. If you changed the directory name, replace boxcoin with the new directory name. For added security you can encrypt the parameters with the PHP API function bxc_encryption().

https://[your-site]/boxcoin/pay.php?checkout_id=custom-123&price=0&external_reference=ABC

WordPress shortcode

If you are using the WordPress version you can also use the following shortcode.

[boxcoin id="custom-123" price="" description="" type="inline"]

Attributes

If you are using the WordPress shortcode or the URL method remove the prefix data- from all attributes.

Attribute Description
data-boxcoin
The checkout ID. It must starts with custom-.
data-price
The price amount.
data-external-reference
Enter the string you want, it will be sent via webhook and as a redirect URL parameter.
data-redirect
Redirect the user to a specific URL after the purchase is complete.
data-currency
The checkout currency. Default: Settings > Currency.
data-type
Set the checkout type. Available options: inline, link, popup, hidden Default: inline.

Warning Security measure

When using dynamic checkouts without encrypting attributes you must validate the payment via webhook and verify that the transaction amount_fiat value is correct and eqaual to the price amount of the purchased item.


Languages

Add custom translations

You can add custom translations to translate the strings of Settings > Payment form texts.

  • Include a file named translations.json into the Boxcoin root directory. Download example here.
  • The content of the file is a JSON array like the one below. Replace LANGUAGE-CODE with the two-letters language code you would like to use. Get the language codes list here. Replace English string with the strings entered in Settings > Payment form texts, the strings must be in English and exactly the same. Replace Translation with the string translation.
                                           {
                                              "LANGUAGE-CODE": {
                                                "English string": "Translation",
                                                "English string": "Translation",
                                                ...
                                              },
                                              "LANGUAGE-CODE": {
                                                "English string": "Translation",
                                                "English string": "Translation",
                                                ...
                                              },
                                              ...
                                            }
                                        

Manually set the checkout language

You can force the checkout language via URL paramenter and JS variable. To set the language via URL parameter append the attribute ?lang=LANGUAGE-CODE to the client.js script link, e.g. <script id="boxcoin" src="[YOUR-URL]/js/client.js?lang=it"></script>. To set the language via JS variable insert the JS code <script>var BXC_LANGUAGE = "LANGUAGE-CODE";</script> into the checkout page, before the client.js script. Also, Settings > Languages > Payment form language must be set to Default.

Information

  • Both admin-side and client-side are multilingual. You can set the languages from Settings > Languages.
  • If the language is set to multilingual the language will be the browser language of the user.
  • To check the checkout language you must be logged out. If you are logged in as an administrator, log out or open the payment page from another browser or use the browser's private / incognito window.
  • If you are using the WordPress version and your website is multilingual, Boxcoin will use the active page language if Settings > Languages > Payment form language is set to Default. If you are using WooCommerce, you need WPML or Polylang to redirect the user to the payment page in the correct language.

Custom Blockchain explorer

You can use a custom Blockchain explorer to analyze the blockchains and generate a new payment address for each transaction. To do that, follow the steps below. If you want to generate a new address for each transaction you can use https://www.blockchain.com/api/api_receive.

Instructions

  • In Settings > Custom Blockchain explorer enter the URLs to get the balance of your addresses (Balance URL), single transaction details (Transaction URL), list of the latest transactions (Transactions URL) and to activate the option that generate a new payment address for each transaction (Address generator URL). The base URLs must be the same for all cryptocurrencies, you must use the keyword {N} to automatically change the network URL part, {N} will be automatically replaced by btc, eth, doge based on the active cryptocurrency. Use {N2} to use bitcoin, ethereum, dogecoin instead. Use the keyword {R} to automatically set the address or transaction ID of the active Boxcoin transaction. For example, the URL https://blockscout.com/{N}/mainnet/api?module=account&action=balance&address={R} will become something like https://blockscout.com/btc/mainnet/api?module=account&action=balance&address=3EBVDZUU6M2Pvu4rAqHwNESDgXBfJTAz7r for Bitcoin balance and https://blockscout.com/eth/mainnet/api?module=account&action=balance&address=0x298b78d398dd02031c40a4ee42622856249aef3c for Ethereum balance.
  • In Balance path, Transaction paths, Transactions paths, Address generator path enter the JSON array paths of the values to get. Use the following syntax:
    key>subkey>..., key>subkey>..., ...
    For example the Balance path of the following JSON response is result.
    {
       "message": "OK",
       "result": "99639645964023592",
       "status": "1"
    }
    
  • In Transactions paths enter the JSON array paths to get the following values: transactions list path, transaction time in unix format, transaction address, transaction amount, number of confirmations, transaction hash. The paths must respect this exact order. For example, the Transaction paths value of the following JSON response is result,timeStamp,from,value,confirmations,hash.
    {
        "message": "OK",
        "result": [{
            "blockHash": "0x06e8ae18e4e324d6efd438f95bfc532bab21680d852a6ac6e67021ce1227d8c5",
            "blockNumber": "14659898",
            "confirmations": "152333",
            "contractAddress": "",
            "cumulativeGasUsed": "29939474",
            "from": "0xeb2629a2734e272bcc07bda959863f316f4bd4cf",
            "gas": "21000",
            "gasPrice": "58000000000",
            "gasUsed": "21000",
            "hash": "0x3c437c3245999087d8e0276e73f9411f0e593ccd5ed1feacb032724a8980a606",
            "input": "0x",
            "isError": "0",
            "nonce": "5461738",
            "timeStamp": "1650972559",
            "to": "0xcc1486157c47c4b76fe097fdd48c3cedb20d01b6",
            "transactionIndex": "466",
            "txreceipt_status": "1",
            "value": "1000000000000000"
        }, {
            "blockHash": "0x0788ae1854e424d6efd438f95456ab21680d852a6ac6781ce12536d32",
            "blockNumber": "14659899",
            "confirmations": "152350",
            "contractAddress": "",
            "cumulativeGasUsed": "28939460",
            "from": "0xeb2629a2734e272bcc07bda959863f316f4bd4cf",
            "gas": "21000",
            "gasPrice": "58000000000",
            "gasUsed": "21000",
            "hash": "0x3c437c3245999087d8e0276e73f9411f0e593ccd5ed1feacb032724a8980a606",
            "input": "0x",
            "isError": "0",
            "nonce": "5461738",
            "timeStamp": "1650972559",
            "to": "0xcc1486157c47c4b76fe097fdd48c3cedb20d01b6",
            "transactionIndex": "468",
            "txreceipt_status": "1",
            "value": "3000000000000000"
        }],
        "status": "1"
    }
    
  • In Transaction paths enter the JSON array paths to get the following values: transaction time in unix format, transaction address, transaction amount, number of confirmations, transaction hash. The paths must respect this exact order. For example, the Transaction paths value of the following JSON response is result>timeStamp, result>from, result>value, result>confirmations, result>hash.
    {
        "message": "OK",
        "result": {
            "blockNumber": "14651093",
            "confirmations": "161012",
            "from": "0xccaad84ddf373751cceb9c2b5485810381d66972",
            "gasLimit": "260775",
            "gasPrice": "45791434002",
            "gasUsed": "190855",
            "hash": "0x24d6d2dd3992bfea4d0cedad5197a6c8fd291d87b138dba6d31b4ff28d59ac09",
            "next_page_params": null,
            "revertReason": "",
            "success": true,
            "timeStamp": "1650852706",
            "to": "0x7f268357a8c2552623316e2562d90e642bb538e5",
            "value": "173000000000000000"
        },
        "status": "1"
    }
    
  • Set the setting Settings > Custom Blockchain explorer > Unit type to Satoshi | Wei | Dogecoin if the transactions value/amount is in Satoshi, Wei, Dogecoin. In the examples above the values are in Wei.
  • You can use blockscout.com to test this feature, here the details:
    Unit type Satoshi | Wei | Dogecoin
    Balance URL https://blockscout.com/{N}/mainnet/api?module=account&action=balance&address={R}
    Balance path result
    Transaction URL https://blockscout.com/{N}/mainnet/api?module=transaction&action=gettxinfo&txhash={R}
    Transaction paths result>timeStamp,result>from,result>value,result>confirmations,result>hash
    Transactions URL https://blockscout.com/{N}/mainnet/api?module=account&action=txlist&address={R}
    Transactions paths result,timeStamp,from,value,confirmations,hash

Requirements

  • All requests are made through the HTTP GET method. The custom explorer must support queries via HTTP GET method.
  • The custom explorer must return data in JSON format.

Information

  • Help setting up your custom explorer is not included in the support. You can hire us, we charge 60$ / hour. Min 30 min.
  • If the custom explorer is down or a query fails the default explores are autoamtiacally used insted.
  • If the generation of a new payment address fails the default address is used instead.
  • If the custom explorer does not support a cryptocurrency you can still use it, the default explorers will be used for the unsupported cryptocurrencies.

Custom token

You can add your ERC-20 token to the supported cryptocurrencies for payments.

Unlisted token

If your token is not listed on major cryptocurrency exchanges, Boxcoin cannot get your token's FIAT exchange rate and your users can only pay you directly with your token. To start accepting payments with your token, follow the steps below.

  • In Admin > Checkous > Your checkout > Currency choose Crypto.
  • In Admin > Settings > Custom token enter all required information but leave Decimals blank.
  • You are done, to force the payment in your token add the ?pay=[CODE] attribute to the checkout URL. Replace [code] with your token code.

Listed token

If your token is listed on major cryptocurrency exchanges, enter all the required information in Admin > Settings > Custom token and you are done.

Information

  • The setting Token code must contain the code of your token, it must be lowercase and without spaces or symbols, e.g. btc, eth.

Gemini

Use Gemini to enable powerful features like address generation or instant currency conversion.

Setup

  • Enter Gemini > Settings > API or visit https://exchange.gemini.com/settings/api.
  • Click Create API key and as Scope select Primary, under API key settings check Found management, Trading, Require session heartbeat.
  • Copy API key and API Secret and paste them in Boxcoin > Settings > Gemini.
  • In Gemini click Create API key.

Address generation

This feature generate a new and unique cryptocurrency address for each transaction.

  • When using this feature the transaction amount for the same FIAT amout remains the same.
  • If the user sends an amount different from the one show by Boxcoin(partial payment) the transaction is still recognized but is completed only if the amount is equal or more than the requested amount. If the amount is less than the requested amount the following happen:
    • The transaction status is set to Underpayment.
    • The amount sent and what remains to be sent are saved in the description of the transaction, view it from the Transactions area. Open the transaction menu to view the full description.
    • The user sees a message showing that there is an underpayment. You can customize the message from Settings > Payment form texts.
    • The webhook is not sent.
    • The TransactionCompleted JS event is not sent.
    • The invoice is not generated.
    • In case of WooCommerce version, the purchase is not completed.
  • If the address generation fails or the cryptocurrency is not supported, the address used is the one set in Settings > Cryptocurrency addresses and the payment is recognized by its unique cryptocurrency amount.

Transfer to your wallet

This feature automatically transfers the cryptocurrency amount sent by the user to the dynamically generated address to the addresses set in Settings > Cryptocurrency addresses every time a transaction is completed.

  • To increase the security of this feature enable the Boxcoin whitelist, details here.
  • This function is active only if the address generation function is active.
  • The destination addresses are those saved in Settings > Cryptocurrency addresses, you need to add all these addresses to the Gemini whitelist, do it from Gemini > Settings > Approved addresses or got to https://exchange.gemini.com/settings/approvedAddresses.
  • If the instant conversion function is active, this function is disabled.

Instant conversion

This feature automatically convert the cryptocurrency amount sent by the user to USD, EURO, GBP or other currencies every time a transaction is completed.

  • Select GUSD only if you accept payment in BTC and ETH only. Conversion to GUSD is supported only with BTC and ETH.
  • If this function is active, the transfer function is disabled.

Sandbox account

Check this box if you are using the Gemini sandbox account for testing purposes.

  • Create a sandbox account from https://exchange.sandbox.gemini.com/.
  • The sandbox account is not compatible with the address generation feature.
  • The sandbox account is not compatible with the transfer feature.
  • Bitcoin BTC is the only supported cryptocurrency when using a sandbox account.

Stripe

Use Stripe to start accepting credit or debit card payments. To get started using Stripe, follow the steps below.


Verifone

Use Verifone (formerly 2Checkout) to start accepting credit or debit card payments. To get started using Verifone, follow the steps below.


Invoicing

  • Invoices are only available for completed transactions.
  • Invoices are deleted after 24 hours for security reasons. Administrators and users can re-generate them at a later time.
  • The invoice generation link is https://BOXCOIN-URL/pay.php?invoice=TRANSACTION-ID, replace BOXCOIN-URL with the URL of your Boxcoin installation and TRANSACTION-ID with the transaction ID, e.g. https://boxcoin.dev/pay.php?invoice=5.

VAT

  • If you enable VAT validation you need to create an account at https://vatsense.com and enter the API key in Settings > VAT > Vatsense API key. This is a paid service but you have 100 free validations per month.
  • VAT is automatically calculated based on the user's IP address.
  • VAT is only shown if the IP address is from a VAT-applying country.
  • If VAT is enabled, your webhook must verify that the value is equal to or greater than the original value.
  • If the invoice is enabled and the user changes the country of the invoice, the VAT country changes accordingly.
  • The VAT amount is shown on the PDF invoice.
  • The VAT rates are provided by https://vatstack.com and are updated periodically.
  • VAT details are sent in the webhook and in the TransactionCompleted JavaScript event.
  • VAT does not need to be enabled for WooCommerce and Easy Digital Download purchases because it is handled by WooCommerce and Easy Digital Download.

Information

  • Pending transactions older than 24h are deleted automatically.
  • To disable a cryptocrrency from the payment options remove the cryptocrrency address.
  • Multiple checkouts can be present in the same web page but only one will be active at same time.
  • Boxcoin query the blockchain via AJAX every 5 seconds to verify the payment of pending transactions.
  • To test a completed transction multiple times without a real payment add the following attributes to the checkout URL: ?demo=true&amount=[123]&id=[ID]&webhook_key=[key]. Replace [123] with the exact transaction cryptocurrency amount, [ID] with the Boxcoin transaction ID, [key] with the Boxcoin webhook secret key, this attribute is optional. The blockchain transaction time must be higher than the Boxcoin transaction time.
  • Add the debug=true attribute to the payment URL or admin URL to enable debugging in the browser console and PHP log.
  • To force the user to pay with a specific cryptocurrency add the ?pay=[CODE] attribute to the checkout URL. Replace [code] with the cryptocurrency code, e.g. btc.
  • If the address is not dynamically generated, users must submit the exact amount shown by Boxcoin or the payment will not be detected. Enable the dynamic address generation from Settings > Gemini or Settings > Custom Blockchain explorer.
  • For random cryptocurrency amounts, the change in value is less than 0.002%.

Credits

Boxcoin is powered by the free service below. We thank all the services below for offering free and professional services to the crypto community.