Arbitrage has always been a popular trading strategy. This is true for stocks, forex, and commodities, and has most recently gained popularity in cryptocurrencies over the last 10 years.
This guide will highlight what an arbitrage is, how it works, and how you can benefit from arbitraging between a CEX and DEX.
What Is Arbitrage?
An arbitrage is the process of taking advantage of market inefficiencies. It involves buying an asset in one market and selling it in a different market, profiting from the price difference between the two. An arbitrage benefits both the arbitrageur and the market itself. The arbitrageur gains a profit and the market inefficiency is corrected.
How To Arbitrage Between CEXs & DEXs
Generally, there are two common methods when arbitraging (also known as “arbing” for short) between a centralised exchange (CEX) and a decentralised exchange (DEX): (1) funding rate arbitrage and (2) price arbitrage.
Funding rate arbitrage
A funding rate arbitrage takes advantage of funding rates on perpetual future exchanges.
When the prices of perpetual futures deviate from the index/spot price of their corresponding assets, funding rates are paid out by centralised exchanges (Binance, Coinbase or Kraken) and decentralised exchanges (Drift) as periodic payments (typically hourly). These funding rates motivate traders to open either short or long positions to help bring the prices of perpetual futures back (i.e. closer) to the spot prices of their corresponding assets.
For example, Binance (CEX) might quote the hourly funding rate for SOL-PERP at 0.003%, while Drift (DEX) quotes the hourly funding rate for SOL-PERP at -0.00511%.
This is an arbitrage opportunity.
For more on funding rates, consider reading the “What Are Perpetual Futures / Perpetual Swap Contracts?” guide.
You could take a short SOLUSDT-Perpetual position on Binance, and a long SOL-PERP position on Drift. By doing so, you can collect a net hourly funding rate payment of 0.00481% on your position size.
Here’s a step by step guide:
Step 1: Identify funding rates
Navigate to the perpetual futures market for SOLUSDT-Perpetual/SOL-PERP on both Binance and Drift. Identify if there is a significant difference in funding rates between the perpetual market on both platforms.
In this example, the hourly funding rate of SOLUSDT-Perpetual on Binance is -0.0253%, while the hourly funding rate on Drift is 0.00032%.
If there is an insignificant or no funding rate difference at all, do not proceed to the next step and wait for a better opportunity.
Step 2: Long SOLUSDT-Perpetual on Binance
Next, navigate to the search bar on Binance at the top of the screen and type in “SOLUSDT-Perpetual”. Once you reach the SOLUSDT-Perpetual page, you’ll be able to sell i.e. short SOL, either by means of a market or a limit order. Review and confirm your trade details.
Step 3: Short SOL-PERP on Drift
Navigate to Drift and select SOL-PERP from the drop down menu. Once you reach the SOL-PERP page, you’ll be able to sell i.e. short SOL-PERP, either by means of a market or a limit order. Review and confirm your trade details.
Note: Steps 2 and 3 should be done at the same time.
Step 4: Periodically monitor funding rates
Going forward, you’ll need to periodically monitor the funding rates, both on Binance and Drift. You’ve now successfully entered a delta neutral position while collecting a net hourly funding rate of 0.02498%. Should the funding rate on Drift no longer be positive or the funding rate on Binance no longer be negative, you should close both perpetual futures positions as soon as possible as you can no longer be profitable due to funding rate payments.
Price arbitrage
A price arbitrage takes advantage of price inefficiencies in spot markets. CEXs and DEXs sometimes quote different prices for the same digital asset.
For example, a CEX like Binance might quote the current price of SOL at US$ 13.179, while a DEX like Orca quotes the current price of SOL at US$ 13.21.
This is an arbitrage opportunity.
You could buy SOL on Binance for US$ 13.179, and sell it on Orca for US$ 13.21.
By doing so, you can make a profit of US$ 0.031 for each SOL sold on Orca.
Here’s a step by step guide:
Step 1: Identify price inefficiency
Check SOL/USDT on Binance and SOL/USDC on Orca and identify if there is a significant price difference between the two spot market pairs.
If there is an insignificant or no price difference at all, wait for a better opportunity.
In this example, SOL on Binance is US$ 13.179 and US$ 13.21 on Orca, indicating a US$ 0.031 premium and thus a viable arbitrage opportunity.
Step 2: Buy SOL
Find the “SOL/USDT” pair on Binance. Once you reach the spot market page, you’ll be able to purchase SOL, either by means of a market or a limit order. Review and confirm your purchase details.
Step 3: Transfer SOL
After a successful purchase, you’ll be able to see the SOL you’ve bought in your Binance wallet. Navigate to the “Fiat&Spot” section and select the “Withdraw” button.
Opt for "Withdraw Crypto" and a withdrawal page will be prompted where you can select "SOL", enter the amount you wish to withdraw and your withdrawal destination.
For more details, take a look at the video below.
For more on non-custodial wallets, read the “Solana Wallet“ guide.
Once you’ve confirmed your withdrawal details, select the “Withdraw” button.
Step 4: Sell SOL
When your SOL tokens are available, go to Orca and connect your Solana wallet. Proceed to the “Swap” page of the DEX and configure the swap from SOL to USDC. Make sure that the SOL to USDC rate is still US$ 31.21 or at least higher than what you purchased it for on Binance.
Click on the “Max” button for your SOL to select the entire amount you purchased. Start the process by clicking on the “Trade” button and confirm the transaction within your Solana wallet. After swapping, you’ve now successfully arbitraged SOL tokens between Binance and Orca for a profit of US$ 0.031/SOL minus fees.
Bots & Algorithms
A majority of the most profitable traders utilize custom bots and algorithms which allow them to spot and take advantage of arbitrage opportunities quickly, without constantly monitoring market movements. Moreover, bots and algorithms allow arbitrageurs to exit positions quickly, should funding rates begin to change.
Conducting manual arbitrage is not as advantageous as using bots & algorithms, but is still often utilized successfully. If you'd like to learn more about this topic, try exploring arbitrage bots and algorithms in greater detail.
If you are technically inclined, you might also want to build and run a market maker bot on Drift v2 — there's a US$ 15,000 grant up for grabs! Find more details here.
Hoped this guide sets you up for success if you ever consider an arbitrage between CEXs and DEXs.
Disclaimer: This guide is strictly for educational purposes only and doesn’t constitute financial or legal advice or a solicitation to buy or sell any assets or to make any financial decisions. Please be careful and do your own research.
Join The Drift Family
It is exciting to keep creating value for Drift users and can’t wait for you to join Drift's community!
Drop a message over on Discord and check out Drift on Twitter 👋