How To Arbitrage Bitcoin*

Is arbitrage across exchanges really as easy as it looks?

“You can make a ton of easy money off of arbitrage right now.” -Dude on the Internet

As I write this, the last trade on Bitstamp occurred at $899 / BTC. On Mt.Gox, it occurred at $944 / BTC, or 5% more. This violates the law of one price. Easy, right? Buy on Bitstamp, transfer BTC to Mt.Gox, sell on Mt.Gox, transfer money back to Bitstamp. Repeat until the difference is 0%. Celebrate.

UPDATE (2/25/2014). As of today, after a few weeks of speculation and massive price discrepancies between the other exchanges, Mt. Gox has taken down their website. Some sources are citing over 740,000 BTC as lost. A joint letter from some of the larger bitcoin companies indicates that Mt. Gox will file for bankruptcy and is insolvent. End Update.

Let’s break down those four steps in order:

Buy on Bitstamp.

Buying on Bitstamp will require you to have money in a Bistamp account that has been verified. Verification involves waiting a few days while someone, somewhere looks at some very personal information from you (a passport, income tax form, utility bill, etc.). At this point, you need to transfer funds to Bitstamp.

A boat carries a load of Bitcoin to Bitstamp’s HQ in Ljubljana, Slovenia

While this carries only a modest 0.1% fee, you’ll be transferring your funds to Bitstamp’s bank in beautiful Ljubljana (via the U.K.). In many cases it will cost you some money on your side, since it will be an international wire transfer.

Once the funds do hit your account, look for a 0.5% fee to purchase on the exchange. But now you’ve got the BTC in hand…or whatever passes for a hand in this case.

Difficulty: Medium. Cost: 1%. Time: Up to a week. Near instant once funded.

Transfer to Mt.Gox.

Transferring BTC is the fast and easiest part of this. While there are sometimes small fees for processing the transaction, they are currently minuscule; hence two of the main reasons people are so excited about bitcoin.

Difficulty: Very Easy. Cost: 0%. Time: Near instant.

Sell on Mt.Gox.

Selling BTC on Mt.Gox is relatively easy. You should once again have a verified account — at this point your passport has traveled significantly more than you have — but the order is relatively simple.

Difficulty: Easy. Cost: 0.6%. Time: Near instant.

Transfer the money back to Bitstamp.

Neither exchange will allow you to send money directly to the other one — you must withdraw it to your own bank account and then resend it. An international withdrawal will cost you 2000 JPY on Mt.Gox, if it goes through. Assuming this is a $10,000 transaction, that is about 0.2%. It will also take a few business days, and you’ll initially be limited to $1,000 every 24 hours — but we’ll assume you smooth talked your way to a higher limit (you dog). And we already know to expect about 0.5% costs and another few days to get the money to Bitstamp again.

Difficulty: Very Hard. Cost: 0.7%. Time: 1-2 weeks.

UPDATE (2/4): Many people have written me to say that this is overly optimistic. Indeed it appears transferring USD out of Mt. Gox has become incredibly unreliable. CoinDesk is currenty running a poll on Mt. Gox issues. The results should be interesting, and they will most likely be worse than the assumptions above.

Repeat until the difference is 0%.

So far we’ve only accrued about ~2.3% in fees, leaving ~2.7% of arbitrage left. Although the time differences are prohibitive, we could overcome them by having a large balance sheet on both exchanges — say $200,000 total in order to execute $10,000 of arbitrage each day, which would yield $270 of profit and allow 2-3 weeks for the money to cycle. While $270 per day on a base of $200,000 is only ~14 basis points, it’s still arbitrage. At the end of a year of doing this every day, you’d have a profit of nearly $130,000 (if you added your profit each day to your trading book).

But when we started, I said the “last trade” occurred with a 5% discrepancy. What about the next trade, the one we will hopefully be making the money on? That requires a look at the market depth chart, which is a visualization of the order book. This shows you how much is for sale (asks) or to buy (bids) at different price levels. Here there are two problems you’ll instantly notice:

Bid-Ask Spread. The last transaction occurred at $899, but the next guy is almost definitely asking more — this has gotten pretty narrow lately (a good thing) and is usually around 0.1%. But this will hit you on both sides (buying and selling).

Market Depth. You need to buy $10,000, but the guy at $900 is only selling $90 worth of coin. Who’s next in line?

Not as many people as we’d have hoped. Based on this chart, your transaction for $10,000 would occur at an average price of $904.35 — another 0.6% lost. This hits you on both sides, and will be more extreme in markets with less volume.

These two properties of the market reduce your arbitrage from 2.7% to approximately 1.5%. That reduces our 365 day return to about $60,000, pre-tax.

Giving it a try.

So yes, there exists a spread among exchanges for an identical asset, net of fees — a definition of arbitrage. And you might be able to take advantage of it. But even to achieve the 1.5% arbitrage above from the 5% initially observed, we:

  • Assumed an asset base 20x our daily trading amount;
  • Assumed away some early limits that all accounts will be subject to;
  • Assumed that every transfer would occur without error;
  • Assumed no taxes.

The four of these things together make the perfect scenario impossible. Taxes alone will reduce your take by up to half. And while the addition of currencies, altcoins, and more exchanges creates more scenarios, the problems highlighted at each step (fees, timing, limits, and depth) increase more than proportionally.

And after all that sweat, you might look back and wonder why you had labored over a 63% return while buying $200,000 of BTC would have led you to a 6800% return.

Good luck.