"Any Currency" Magento 2 extension

In stock
Please contact us to get even better price

A must have extension for those who accept cryptocurrency in Magento2 online shop and wish to improve Magento currency service. This allows you to install any custom currency to Magento2 so your customers will see the exact prices and place orders in preferred currency.

Magento2 "Any Currency" extension is listed on the Magento marketplace.

Read more ...



This is a must have extension for those who accept cryptocurrency in Magento2 online shop.
There are some limitations in standard Magento2 distribution that make it difficult to accept Bitcoin or any other cryptocurrency:
  1. No out-of-the-box ability to add Bitcoin as a currency.
  2. Fixed price precision - 2 decimals. Bitcoin needs at least 6 decimals, Ethereum - 4 decimals, etc.
  3. No embedded service to update Bitcoin exchange rate.
  4. Exchange rate can be updated no more than once a day.

Thus, even if you install a payment module to accept payments in Bitcoin, your customers will only see the price in Bitcoin at the time of placing order.

This extension overcomes all these limitations at once. It provides the means to install and manage any custom currency using mouse clicks.

You can add virtually any currency into your Magento2 internet shop and apply individual settings to each installed currency: currency rate import schedule, currency rate provider, price accuracy (precision). You can add as many currencies as you need: Bitcoin, Monero, Dash, Zcash or whatever you want and process your order in selected currency.
The extension replaces the entire list of currencies provided by Magento and installs your own currency list with the scope to use unsupported currencies like cryptocurrency or some exotic currencies.
So, now you can display prices and accept payments in cryptocurrency in Magento2 store. Thus you can attract more customers and increase your sales.
While the standard Magento configuration assumes that currency codes will be three-letter alphabetic codes (according to ISO-4217), and the standard accuracy (the number of digits after the decimal separator) is set to 2, the extension allows you to use any currency code and set any accuracy from 0 to 8 (digits after decimal separator). This allows the use of currencies such as Bitcoin, which requires increased accuracy (at least 6), or any Ether tokens with non-standard (four-letter and longer) codes.
The extension is listed on the Magento marketplace.

Third party accounts

For automatic import of currency rates, the extension can use standard services that come with the Magento distribution:
  • Fixer.io (Magento 2.1, 2.2, 2.3) - API key is required. The free plan provides up to 1000 requests per month. Cryptocurrency is not supported, but only BTC. Additional account is required for either free or paid plan. Subscription plans are listed here: https://fixer.io/product.
  • Currency Converter API (Magento 2.3.x) - API key is required. Currency rates are updated every minute. Free plan allows up to 5 requests per minute or 500 requests daiy.
  • Yahoo APIs  - Removed in Magento 2.3
  • Webservicex - Removed in Magento 2.3
We added a few more free services into this extension:
  • Frankfurter - API key is not required. Almost all currencies (except cryptocurrency) are supported.
  • CoinAPI - API key is required. The service provides up to 100 requests per day on free subscription plan (approximately one request per 15 minutes). It supports over 4,000 crypto and fiat currencies. To get an API key, you must sign up for a free or paid plan here:  https://www.coinapi.io/pricing. Please note that if you use multiple websites, you will need a separate API key for each domain.
  • Coingate (payment processor) - Public access. API key is not required. The service provides both cryptocurrencies and fiat currencies.
  • CoinPayments (payment processor) - Free account is required to get public and private keys to access API. The service provides the rates of almost all existing cryptocurrencies and all major fiat currencies.
  • Bitpay (payment provider) - Public access. API key is not required. The service provides the rates of the most popular cryptocurrencies and major fiat currencies
In case you allow to display prices in alternative currencies it is important to show the values exactly as they will be charged by payment processor. 
For that purpose we added the ability to synchronize currency rates simultaneously with as many services as needed and assign the selected service to each currency individually. Some services, as you noticed, provided by cryptocurrency payment processors: BitPay, Coingate and CoinPayments. So it you accept Bitcoin via Bitpay you can show the exact prices in Bitcoin. 
Any other services can be added upon request.


The module will replace the currencies offered by Magento with your own currencies. The currencies can be managed the same way as usually. 

All the enabled currencies will be imported once the module is installed and enabled. New currencies can be added and managed via Magento backend interface.

Product features:

  • Any standard or non-standard currency can be installed instantly.
  • Price precision is assigned to each installed currency. Price precision may vary from 0 to 8. So, the display currency will use its own price precision.
  • It is possible to create up to three currency rates import schedules and assign any schedule to each currency individually. For example, it is quite sufficient to import the rates of Euro or UK Pounds once a day. As for cryptocurrency the rates must be imported as often as possible. So the merchant can create two independant schedules.
  • The time interval of currency rates import can be configured starting from once per minute. Minute-wice rates import scheduling is extremally useful for the stores with cryptocurrency.
  • Each currency can be assigned its own rates import service. So, you can continue to synchronize the rates of Euro or Pounds via Currency Converter API, while Bitcoin and Ethereum will get the rates from Coinpayments.
  • A merchant can showcase the supported currency list on frontend including currency specs and description.
  • Currency Rates setup page was re-designed so that any number of currencies can be displayed in multiple rows. Number of currencies per row can be set in Configuration menu.


 The module was tested with the following Magento versions: 2.1.x, 2.2.x, 2.3.x



  1. Unpack the package ZIP file on your local computer
  2. Using FTP/SFTP/SSH client upload the unpacked extension to Magento root directory. Make sure you use “Merge” mode when uploading data to your server, so that the uploaded directories will not replace the content of the existing ones. Almost all FTP clients use Merge mode by default.
  3. Connect your Magento root directory with SSH. Make sure you act as file owner.
  4. Run the following commands one by one:
        $ php bin/magento setup:upgrade
$ php bin/magento setup:di:compile
$ php bin/magento setup:static-content:deploy

In case you are not quite sure how to manage this or you have complicated configuration you can order professional installation service



Once the modules are installed all the existing currencies will disappear from the lists of installed and allowed currencies. So, the first thing you need to do is to install the required currencies

Currency installation

To install and manage your currencies please proceed to Store -> Manage currencies menu.

Setup currencies menu interface


Those currencies that were enabled will be pre-populated. You will need to add some settings to them however: select the rate import scheduler, import service, price precision and optionally - the icon (avatar)

To add new currencies click “Add new currency” button and fill in the form. The required fields are only Currency name and Code. All other fields are optional.
If you set the currency as Inactive it won’t be shown up in Magento’s lists of installed and allowed currencies. If you do not change this than the default import schedulerand default import service will be used with given currency.

Note: if you wish to deactivate the currency you will need to unselect it as well in the list of allowed currencies.

If you switch RSS on this currency will appear in your RSS channel on frontend.

Frontend section is used if you plan to display the currency list and currency info pages on frontend. You can setup meta data and URL key for currency info page.
The avatar is also used in backend currency list.


If you run multilingual site you can translate currency name and frontend info using i18n.

The module distribution contains a directory i18n with sample files for English and Russian languages. You can append your info into existing files or create similar files for desired languages

To assign Import Rate Scheduler you need to enable corresponding schedules in the section Configuration -> General -> Currency settings


When you finish the installation of currencies the currency grid will look like this:

backend currency list


Some parameters: Currency name, Symbol, Is active, Precision and Sort order can be edited directly in the grid.

Then you need to select the installed currencies as you do it in standard Magento installation. Please proceed to Configuration -> Advanced -> System -> Currency and select the currencies you need from the list and click Save button.:

 select available currecies


The module creates new cron group: kozeta_currency that can be configured within the same section.

New cron group


But we recommend to leave the default settings unless you have some special requirements. See more information about cron and group settings in Magento DevDocs

Seting up Allowed currencies

Now you will need to choose allowed currencies, Base Currency and Default Display Currency in Configuration menu. You will do that the same way as in standard Magento installation:

Configuration -> General -> Currency Setup

Allowed currencies setup


Note: If you accept cryptocurrencies in your shop you most likely will not want to use them as base due to their high volatility nowadays.

Frontend display currency settings

 If you want the list of installed currencies to be displayed on frontend you can use these display options.

Currency list is displayed on a separate page. This page link can be placed on either or both Top Menu and/or Top Links menu.

Top menu title will be displayed in front of category links on Top Menu or disable if this field is not filled in.

 top menu


Top links title of the currency list link will be displayed after default welcome message if you fill in this field.

top menu title


currency frontend info page





Enable currency description pages - if set to Yes then description page for each currency will be enabled and shown like on the screenshot:




Currency Rate Settings

Currency Rate Settings


Currency Rate Settings group contains one parameter: Number of currencies per row.  Its value defines the number of currencies displayed in one row in Currency Rate page. It is useful only if you have large number of allowed currencies that will not fit in single row as it happens in standard Magento configuration. E.g. if you have eight currencies you can split them into 2 rows. This will look like this:

currency rates multirow page


Please note that this value can be modified in Configuration interface in Global scope only.

A currency will be shown on this page if it is set as Active and selected in the Allowed Currency List.

In order to import the rate of a given currencies please make sure that the selected service supports those currency codes.


Scheduled Import Settings - some new features were added to this settings group:

If disabled it will hide all other parameters:

Scheduled Import Settings



Enabled Minute-wice scheduling - if enabled it will allow you to schedule the currency rate import frequency starting from once per minute. It will hide the standard Magento scheduler and show its own Schedule parameter:

minute-wise settings


This utilizes the crontab scheduling definitions to schedule the import. For more details please check this article: https://en.wikipedia.org/wiki/Cron

For example, as it is shown on the screenshot the import will run every 15 minutes.

All Scheduled Import Settings parameters now are shown in Global scope only, except for Error Email Recipient that remains in Store scope and Error Email Sender and Error Email Template remain in Website scope.


Release notes

Current version: 1.0.4

  1. Bug fixed: incorrect currency names displayed in Allowed Currency list (backend - configuration)
  2. Some minor improvements and code refactoring.

version: 1.0.3

  1. Bug fixed: some currency rate import services fail to import rates if base currency is not "USD"
  2. CurrencyConverterApi (version 7) now requires API key. API key added and protocol upgraded.


Write Your Own Review
You're reviewing:"Any Currency" Magento 2 extension
Online demo is available here:
Frontstore: https://demo.kozeta.lt
Backend: https://demo.kozeta.lt/admin
Login to admin area: demo
Password: demo123
  • Please note that this demo is being initialised at minute 0 past every 2nd hour. So, at 00:00, 02:00, 04:00, ... 22:00 whatever you changed or inserted will be reset.
  • This demo installation runs in developer mode. However we suggest you clear cache each time the settings is changes in order to make sure the changes to take effect.
Copyright © shop.kozeta.lt. All rights reserved.