Let's suppose that I have already set up an account at Exchange A and Exchange B, loaded each up with a small buffer of BTC (much less than 1 BTC), and am able to make API requests to buy/sell from these.

Now, I start pulling down sell/buy offers from both exchanges, automatically, every minute, all the time.

My script then picks the most affordable (for me) "sell" offer, regardless of the amount, and takes the offer (buys the coins). Instantly afterwards, it takes the most profitable (for me) "buy" offer on the other change (sells the coins).

It doesn't do these actions unless it calculates that the "rest sum" is over zero.

Is this not guaranteed to make me money each time this is done? And since it's automated, I only need to set it up once and then lean back and watch guaranteed money stream into my accounts, taking some of them out every now and then?

It sounds way too good to be true, so I must be missing something. Otherwise, I'm sure that this would be done by millions of people, around the clock, and it would quickly stop working. I feel as if this is probably very well known and long since "patched".

But in terms of my understanding of how marketplaces/exchanges work, this seems like it would work. Unless there is some kind of random delay or other uncertainty which makes it impossible?

Of course, those exchanges/marketplaces all require photo id to be scanned and sent to them, so I'm unable to try this out "live", but I still want to know why this wouldn't work.


2 Answers 2


What you are describing is called Arbitrage and is done by many traders for a variety of different assets, not just cryptocurrencies. This is only guaranteed to make you money so long as there is a price difference between exchanges. The end result of many people doing arbitrage is that the exchanges all settle onto the same price.

The main difficulty in performing arbitrage is the time it takes to move assets from one exchange to another. Ideally you would buy the asset, immediately transfer it to another exchange, and then sell it. However because of physics and protocol limitations, it is not possible to immediately move Bitcoin (and most cryptocurrencies). In the time that it took to move the Bitcoin, the price may have moved to be unfavorably to you, so you may lose money, or at least, not make any.

There are ways around it such as having balances on multiple exchanges so buying on one exchange triggers a sell on another. It's not strictly the same asset, but your balance of that asset does not change. However this requires upfront capital to setup those balances.

There are efforts to make it easier to perform arbitrage by decreasing the transfer time. Layer 2 protocols such as the Lightning Network or Blockstream's Liquid network allow for fast and nearly instant transfers of Bitcoin, so they can be utilized by traders to transfer Bitcoin between exchanges to perform arbitrage.

  • 1
    Bitcoin is not the biggest issue. Usually, it's especially the fiat that is hard to move from one jurisdiction to another.
    – Murch
    Commented Nov 3, 2020 at 20:57

As Andrew Chow pointed out your idea is already in place. But less for making money, rather for stabilizing prices.

Plus make sure you are not missing a detail, the fees. At least one Bank actually lost money that way back in the days when computer trading was introduced in stock exchanges.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.