This is a guest post written by Aleksei Galkin, our partner and CEO at DeCrypto, a Bitcoin ATM operator in the Baltics. In this post, you will learn how a Bitcoin machine works, what software and hardware is available on the market, how owners make a profit, and which legal and maintenance issues they might face.

UPD Apr 2021: ATMs mentioned in the article are now on sale. Contact for additional info

The idea

It was the year 2014. My friends and I were discussing general business ideas when someone mentioned blockchain technology and Bitcoin.

Bitcoin was getting popular back then, but not as much as it is today. The market was only starting to grow, the first ever ICO had been held only a few months prior, and Vitalik Buterin had just described the concept of his new decentralized platform, Ethereum.

We were very interested in understanding the technology, its opportunities and how we could become involved. The next two months were spent investigating the topic: reading all possible articles and best practices, chatting with blockchain and Bitcoin gurus, visiting crypto and blockchain conferences, reviewing stocks exchanges, and so on.

Because the market was quite new, it was impossible to get concrete prospects. So to conduct an experiment, we decided to go with the simplest idea: what if we installed a Bitcoin ATM?

Hardware and software


After researching the Bitcoin ATM market and talking with different manufacturers, we selected a few of the most suitable solutions based on features and pricing. Eventually, we settled on Lamassu. Lamassu ranks 3rd in the world for the number of ATMs installed, and while it costs a little more than other manufacturers, it provides excellent customer support. It’s a bit like the Mercedes of the Bitcoin ATM world.

The Lamassu machines are supplied with preinstalled open source software. It is quite stable and doesn’t require any special IT skills for configuration.

The first Bitcoin ATM in Estonia

Alternative to Lamassu ATMs

It’s worth noting that there are a few other popular Bitcoin ATM manufacturers: Genesis Coin, General Bytes, BitAccess, etc. The price varies widely, ranging from $7K to $14.5K (for the two way configuration).

We also tried BitXatm (as far as I understand they have already ceased operations). While we were lucky to buy a machine at a great discount, it all went downhill from there. The configuration process was not easy at all and it caused major headaches.


After we went live with the machines, we also started receiving phone calls and support requests. The system was constantly crashing, the software was buggy, and few of the features worked properly. Worse of all, the BitX support team was poor, especially compared to Lamassu. Our emails were ignored or unanswered for long periods of time, and bugs stayed unfixed.

Finally, after reaching the limits of our patience, we just switched off our BitX ATMs.

BitX hardware + Lamassu software

I know a few operators who, after a long struggle with BitX ATMs, just threw them in storage. But we couldn’t afford to do so. They cost money, and it was unacceptable for us to just freeze them. So we came up with the idea of integrating other software with BitXatm’s hardware. While developing a new software from scratch was too expensive, we decided to go with Lamassu’s, since it was open-sourced.

This is where our technology partners at Xpansa helped with the integration. The guys are always interested in new high tech directions on the market, regardless of the complexity. At the time, they were working on a few big projects in data science (biomedical sector) and supply chain (warehouse systems). I remembered them because they had developed a special mobile app for professional barcode scanners, so I knew they could work with high technology hardware, and thought they might be interested in working with crypto hardware.


Sergei, lead developer for this project, tells us about the integration:

It was not an issue to setup a local Lamassu Instance and check what is there in the code. But we did face problems because the hardware interfaces for the Camera and Bill-acceptor in BitX ATMs were different from what was supplied with Lamassu by default. So the challenge was first to establish a connection between those devices and Lamassu. The BitX bill-acceptor had its own protocol and we had to dig into tons of documentation to set up the connection. There were gaps in the documentation and we had to make a lot of experiments with signals from hardware devices.

Look at this interesting photo:

bitcoin atm

The BitX bill-acceptor had an interface with the following parameters: 1.5A and 11-15V. USB interface from a laptop gives only 5V. So, I ruthlessly cut a USB wire from an old mouse, embedded a power module, figured out the connection scheme, and voila! Now I was able to connect to the bill-acceptor.

However, as soon as the firmware of a bill-acceptor in one of the ATMs was changed for another currency, the ATM stopped working. It was a few challenging days for our team. The Bitcoin machine was already installed to serve clients and we had to debug remotely. It is tricky to work with hardware that you don’t have in front of you. It meant endless calls with a local non-IT team and working via TeamViewer. Finally, we found a bug in the firmware and now everything works perfectly.

We also developed a special logic for the distribution of banknotes in Note Float module for two-way ATMs.

bitcoin atm

Again, tons of documentation, experiments, and analysis of different cases. While working in one-way mode, banknotes are just stored in a storage box in the bill-acceptor. In two-ways mode we instantly communicate with the device. An algorithm for the banknotes then decides whether to put into storage or in the reel located atop the drum of the note float. The software remembers the order in which banknotes were accepted and when a client sells bitcoins, the right amount of fiat money should be sorted out in the ATM.

Besides solving such monumental issues, we also had to work on some general but no less labor-intensive tasks.
Because the communication with the ATM is encrypted, in the very beginning we had to properly train Lamassu software to encode and decode signals.
We also created an autorun script to start the appropriate software after each time the ATM restarts.

Last but not least: we were adopting a horizontal Lamassu screen template to a vertical BitX one.

bitcoin atm

It sounds simple, but I think there are very few developers who would be delighted with such a job – especially when doing this remotely 🙂

In the end, we were able to make Lamassu play nicely with non-original hardware. Despite all the challenges, it was a good project. Digging into hardware is always fun.

Now this ATM is successfully configured for the Moldavian market and will be installed in Kishinev soon.

* * *

We had experience with two Bitcoin machines vendors: Lamassu and BitXatm.

  • The Lamassu device provides us working stability. Some issues do occur at times, but the team provides high-quality support. They react very fast and do their best to recover the system ASAP.
  • With BitX machines, it was the opposite. We faced issues almost every week and support was almost nonexistent. But we still managed to reuse the hardware with other software.

How it works

User workflow

The process of purchasing Bitcoins is very simple. You just scan your wallet address by providing a QR code to the ATM’s camera, insert some cash, and that is it. Bitcoins fill your wallet in a flash.

BitX Bitcoin ATM working on Lamassu software

Detailed description of the background operations happening when you purchase bitcoins with cash.

Usually, an ATM has its own “hot wallet” (or it is connected via API to a 3rd party hot wallet) that contains some amount of Bitcoins. So when a user purchases Bitcoins, they are automatically transferred from one wallet to another. At that moment, the same amount of Bitcoins is purchased in an exchange via API. Then when your hot wallet is almost empty, an operator replenishes it by transferring Bitcoins from an exchange manually.

As you know, cryptocurrencies have a highly volatile exchange rate, so this can lead to some difficulties of cash flow management – and even to big losses. Clients are affected by market news, “expert” forecasts and big jumps on the chart. You cannot predict the clients’ flow from one day to the next. Freezing big amount of fiat money on the exchange is unreasonable, and even moreover, it is quite risky. To cover these risks, we initially added a 10% commission to the Bitcoin price. It is the main reason why the exchange rate in these ATMs a little different to the official stock prices.

Let’s look at an example

2. Bitcoin price is rising and a long queue is gathering at your ATM. Clients want to buy Bitcoins thinking that it is just the beginning of a new long rally on the market. John buys 1 Bitcoin for $12.1K ($11K + $1.1K commission).


At that moment, the hot wallet is empty and you cannot serve anymore clients. You receive an alert about there being zero deposit in the hot wallet. You need to buy Bitcoins for the hot wallet and replenish the exchange through fiat money.

* * *

So as you can see in the example, it’s not as simple as the ATM suppliers’ marketing materials make it out to be. It is a business and you face challenges at every step – especially when the market is not stable. If my chart showed above seems a little bit forced, just look at a real example below.

Here you can see how the Bitcoin price jumped up by $1000 for less than for 1.5 hours. The green pillars in the bottom of the chart show the splash of orders placed on stocks to buy Bitcoins.

On top of market volatility, you will face administrative issues:

  • Sometimes, payments to the exchange are delayed due to downtime (weekends) or other reasons, such as the exchange taking too long to accept a transfer.
  • If you need money for another deal and don’t replenish the exchange account, you cannot buy the same amount of Bitcoins as you sell via the ATM.
  • Another example: a client buys 1 Bitcoin for $5K, so the system should buy 1 Bitcoin in the exchange, but there are three offers – Ƀ0.2 for $4.8K, Ƀ0.5 for $5.5K, Ƀ0.3 for $7K. You lose money again!
  • Finally, if we are talking about the two-way operating mode, your clients sell their Bitcoins when the price is falling down and buy them when the price is rising. In short, you sell Bitcoins cheaper than you have bought them.

There are many other issues. So, as you can see, applying commissions is the only way to avoid possible losses and make a profit in this business.

Connecting the Bitcoin machine directly to a stock

We also tried to connect a Bitcoin ATM directly to a stock. It would make it possible to provide a more attractive exchange rate and avoid losses in case of jumps on the market. But this also created some difficulties. The process of registration and verification on a stock consisted of several stages and required a lot of paperwork and working hours. After all of this, you had to configure the workflow manually, which was a big challenge for us non-IT-guys.

Selling and buying Bitcoins and other cryptocurrencies via the ATM

We configured the ATM shown in the video above for selling Bitcoins only, but this model is two way, so you can also set it up for buying in a few clicks. This means a user can cash out his Bitcoins in EUR, USD, or any other currency. Currently, all our ATMs are configured for Bitcoin only. But if tomorrow people need to buy or sell Ether, Litecoin, or other cryptocurrencies, it’s easy to start processing them too.


We came up with an idea to design a fully functional two-way cryptomat but in very small dimension, suitable for any shop, cafe, office, kiosk and so on. It would allow selling goods and services for cryptocurrencies. Or vice versa – you could go to the nearest shop to buy bread, but also buy Bitcoins at the same time.

So now, as an alternative to ATMs, we in collaboration with Xpansa and working on the small terminals that can be installed at a counter of any point of sale.

“Gate BTM systems” designs hardware solution and Xpansa integrates it with software. The device can be connected to a POS system, so client can pay for goods or services via Bitcoin, and also buy or sell Bitcoins.

There are two models. Gate ATM with its own cash acceptor, which means it can work autonomously without an operator or a cashier.

Gate ATM by DeCrypto at a POS

And BIT-Terminal. It’s actually a tablet that runs on our software. This solution is cheaper than Gate ATM and suitable for POS that already have a cash register. In this case, the cashier adds or takes fiat directly from the register.

BIT-Terminal by DeCrypto

There will also be changes in the background operations. The guys from Xpansa are developing a solution that works with stocks directly. The idea is to avoid multiple transactions through the hot wallet by transferring Bitcoins directly from a stock to a client’s wallet. So we will provide a better exchange rate and decrease the initial investment (Bitcoins for hot wallet are not needed).

Support and Maintenance

We created instructions on how to use the machine and placed them near the ATMs.

The ATM interface supports the most popular languages in the country and the process of buying bitcoins is very easy. As you can see in the video above, it takes no more than 30 seconds. We also left our contact details on the ATMs. We sometime receive requests and phone calls, so we offer live support. However we found the equipment works well and clients are more interested in asking general questions.

The ATM in Tallinn was put in a pawnshop, so an employee can assist with some questions. Moreover, he proceeds the client’s verification as it is legally required by law.

We also have keep the “hot wallet” with enough Bitcoins and replenish it time to time. A few times per month we perform our cash collection.


As previously described, due to the high volatility of the crypto market we have to keep a rather high exchange rate to cover possible market jumps and other issues. During the periods when the market is calm, the margin between the stock price and our exchange rate is the source of our income. It is the main way to make a profit, but there are some other benefits. For example, if you are one of those lucky guys who bought hundreds of Bitcoins in 2012 and doesn’t know how to cash them out, you can buy a Bitcoin machine, connect your wallet to the ATM, and put it in front of your house :). So it is also the simple way to convert your cryptocurrency to fiat.

Of course, as in any other business, we run into some expenses. As a rule, an ATM is put inside a building (pawnshop or an exchange office, etc.). Every owner has their own conditions. Sometimes we pay just a rental fee for the small square footage we occupy. But usually, we split incomes with the owner (from 30% to 50%). An employee identifies the clients and records the data in a database according to law requirements. There are also expenses for marketing activities and advertisement.

Legal issues

While the EU government is still deciding how to regulate cryptocurrency market, each country applies its own rules. So I would strongly recommend you consult a local lawyer about specific regional regulations.

For example, in Estonia, you need to obtain special permission from the Estonian Financial Intelligence Unit. Client identification is a must and data should be collected in a database. For operating in Lithuania, your cryptomat should be certified.

This year, the Estonian law was changed and clients verification actually became simplified. Online verification is now allowed, but you take all the risks. There are high penalties for each violation (starting from €40 000). We assume some variant of this regulation will become common across the EU in the nearest future.

* * *

I hope the info shared in this post will help you avoid some mistakes – or maybe even inspire your next business idea. You can contact me or Oleg from Xpansa if you have any questions.

You can also leave your email here to be notified when something new and important happens on the topic.

Aleksei Galkin on FacebookAleksei Galkin on Linkedin
Aleksei Galkin
- The first bitcoin ATM operator in the Baltics
- Co-founder Gate BTM Systems OU; BTM development
- Accounting and Blockchain expert
- BBA & Digital Currencies


Write Us

[contact-form-7 404 "Not Found"]

Powered by WordPress Popup

    Request a Call

    [contact-form-7 404 "Not Found"]

Powered by WordPress Popup

Cookie Settings