Risks of running a bitcoin ATM business

Running a bitcoin ATM brings a lot of opportunities. On the other side such a business brings a lot of risks too.

This post concentrates on two of the main risks which bitcoin ATM operators have to deal with and choose which way to follow:

  • Exchange rate risk;
  • Counterparty risk.

For simplicity reasons lets look at the case when bitcoin ATM allows buying bitcoins for cash, not selling. Every bitcoin ATM operator chooses how to run a bitcoin machine in this case:

  • By using own bitcoin stock;
  • Through exchange mirroring deals.

Selling bitcoins from own stock

This scenario is illustrated on the following diagram (click to enlarge):

Operating bitcoin ATM from own stock bitcoins

When running a bitcoin ATM in such a way, operator runs a wallet or uses external wallet service provider in order to grant bitcoin ATM full access to this wallet (including private keys).

The process is the following:

  1. User initiates buy BTC process at ATM for cash. At the same moment ATM accesses hot wallet and sends required amount of BTC to the address provided by user. This is the end of transaction and no additional action is triggered at time T1.
  2. Periodically operator collects cash from machine (time T2) and converts it to BTC (time T3). Conversion might happen at OTC market, localbitcoins, exchange (in this case operator needs bank relationships, because exchange will accept only wire transfer).
  3. When operator received bitcoins, he/she replenishes balance of the hot wallet with bitcoins (time T4), which again is used by ATM for other users’ operations.

The whole concept here is that this address/hot wallet needs to be tracked to have enough balance and operator replenishes it manually when the balance is low, so that there is no service interruption occurs. If you run a bitcoin ATM network then one address/wallet can be used for multiple machines simultaneously, or if it is not supported by a software — there should be a separate wallet used for each machine.

But the main point of this approach is that operator buys bitcoins and holds them for a period of time and there is a time lag between purchase of bitcoins by operator (T3) and selling of the same bitcoins to users (T1), e.g. when FIFO accounting method is used. In order for machine to function smoothly — there should be always some liquidity available in hot wallet, which means over time these frozen funds will increase or decrease in value depending on how BTC market price moves. This is an exchange rate fluctuation risk, which operator needs to absorb when operating a machine in such a  way.

Normally operator have an equivalent of at least $10K (usually closer to $20K) frozen in BTC liquidity for smooth operating of one machine. Since 1st of August 2016 after closed-door meetings and later Bitfinex fiasco price fell from $650 to ~$550 in a matter of just 5 days. On a $10K liquidity volume that will result in ~$1.5K immediate loss for operator. Now if you run 5 bitcoin machines, and e.g. you are required to have separate wallets for each machine, then loss will account for $7.5K. At good locations you are probably required to have more than $10K in BTC liquidity (as this is just an amount that by chance can be bought from machine during a day), which will result in even bigger losses.

If operator purchased bitcoins at $650 (right before fall) and now market price is $580, if operator sells BTC with 5% premium (at $609) — that still gives immediate loss of $41 per 1 BTC sold.

This is how it works on a short term perspective. Now thinking long term, if BTC price grows — this is good for operator, as not only he earns fees from operations, but also his BTC stock increases in value over time. But looking from a different perspective, price also can fall long-term, e.g. what was happening since the end of 2013 till September of 2015 (when price was steadily decreasing for almost 2 years). In this case bitcoin ATM operators lost funds all the way down. These losses were to some extent covered by fees earned from operations, but in general such economic environment will make a running bitcoin ATM business much less profitable and require operators to absorb such exchange rate volatility risk.

Mirroring deals on exchange

Another way to conduct bitcoin ATM business is to use exchanges for immediate “mirroring” deals. The following diagram illustrates this approach (click to enlarge):

Operating bitcoin ATM using exchange

In this case additionally to liquidity in hot wallet (which can be lower compared to example when operating using own stock) operator holds liquidity funds on exchange(-s) and whenever a transaction happens at bitcoin machine, opposite mirror deal is automatically triggered on exchange. So whenever someone buys bitcoins from operator using machine, operator buys back the same amount of bitcoins on exchange.

The process is the following:

  1. User initiates purchase of bitcoins at machine for cash (time T1). At the same time ATM gets access to hot wallet and sends BTC to address provided by user (time T1). Also ATM via API connection sends a signal to exchange (where operator already have account opened and fiat liquidity ready to be used for trades), where bitcoins are bought on the market. All this happens simultaneously, which guarantees that price is fixed at the moment of purchase from ATM.
  2. After purchase is done bitcoins are sent from exchange balance to hot wallet of operator. Theoretically hot wallet step can be omitted and bitcoins can be sent from exchange to bitcoin address of the user directly, however, in this case sometimes it changes the legal status of ATM operator to money transmitter, as the process switches to allow user interact with third parties (exchange in this case).
  3. Periodically (time T3) operator withdraws cash and deposits it on bank account (time T4), and then transfers to exchange (time T5), making the funds again available in the form of fiat liquidity on exchange for future deals.

Such a process allows to minimize funds held in BTC (hot wallet can have much lower balance, as it is replenished after each purchase), or BTC fund holdings can be totally eliminated (in case BTC sent directly from exchange to users). As a result BTC exchange rate risk is eliminated or removed, but at the same time another risk appears — counterparty risk as the liquidity funds now have to be held on exchange ready to be used for mirroring deals. If exchange goes belly up, which happened partially with recent Bitfinex hack for example — then operator can lose funds stored on the exchange partially or in full. Some operators were affected recently as Bitfinex was a large exchange and many machines were running integrated with it.

E.g. operator of General Bytes machine in Kazakhstan wrote on reddit:


Or SunATM operator, who put a message on their bitcoin machine in Erie:

Bitfinex lost funds

In the next post we cover what is supported by each of the main ATM providers on the market with respect to above scenarios settings.


You can find bitcoin ATM locations on our map.

Subscribe to our Twitter account to get latest news from bitcoin ATM industry @CoinATMRadar

Leave a Reply

Your email address will not be published. Required fields are marked *