Hey everyone,
I've been working on arbitrage tooling for my company's crypto trading software called Coygo Terminal (
https://www.coygo.app/), and I'd really love to hear feedback from the community of traders here. Does this solve the right problems? Could it be better? Please let me know. (Btw it's free for anyone to try, so if you're interested I'd love to hear what you think after trying it for a few days).
NOTE: In general the tool I've been working on is NOT for the type of arbitrage where you buy on one exchange, transfer to another, then sell, although we do solve for that. It's simply way too risky because of transfer times, transfer fees, and the spread probably won't exist anymore once it's arrived. So instead I've been primarily focusing for solving arbitrage when you already hold assets on two exchanges and submit accompanying buy and sell orders in parallel on each exchanges. If arbitrage without transferring between exchanges sounds confusing, please see the section "Strategy 2: Hold balances on both exchanges and submit accompanying trades" in my blog post here
https://www.coygo.app/blog/posts/how-to-profit-from-crypto-arbitrage-trading/The problems I've identified w/being successful at arbitrage- 1. Calculating spreads across multiple exchanges
- 2. Finding spreads that are profitable after fees
- 3. Submitting buy and sell orders in parallel as quickly as possible to capitalize on a spread
- 4. Transferring between exchanges is cumbersome and slow
The solutions1. Calculating spreads across multiple exchangesIn reality you can't calculate spreads by hand across multiple exchanges, order books change too fast and spreads might only appear for a second or less. My solution to this problem is to establish a real-time websocket connection between your machine and each exchange (no server acts as a middle man so this provides the lowest possible latency), maintain a fully updated order book in real time, and use that to calculate spreads across any selected exchanges. You'll notice that the spread is shown in %, as well as an estimated USD profit (before fees) to get an idea of how much actual profit can be made.
2. Finding spreads that are profitable after feesEvery exchange has different fees, and even different users on the same exchange might have different fees. So to account for this, you can filter to only consider spreads above a certain percentage ("Min. profitable spread") or above a possible USD profit ("Min. possible profit") to be considered profitable. Say for example your fees are 0.1% on both exchanges, you may want to only filter for spreads > 0.3% to ensure you'll always be finding spreads that are profitable after fees. To solve for this, Coygo Terminal allows you to set filters for what you consider to be a profitable spread.
3. Submitting buy and sell orders in parallel as quickly as possible to capitalize on a spreadCapitalizing on arbitrage spreads is all about speed, as they may only exist for less than a couple of seconds. Manually entering the order amounts and rates is simply too slow to be reliable when a spread only exists for a second. So Coygo Terminal's
One-Click Trading interface helps make configuring and submitting your orders as fast as possible in the following ways:
Rates: Coygo Terminal will automatically set your order rates to the current ask and bid, updating in real-time whenever the order book changes. You'll never need to set the rate yourself.
Order sizes The software has three options to help maximize profit without incurring slippage and submit orders as quickly as possible by pre-configuring your order sizes:
- Largest w/o slippage— Automatically sets both accompanying buy and sell orders to the largest order amount possible without incurring slippage, updating on every order book change.
- Limit to max available — Limits order sizes to what’s available in your wallets on either exchange.
- Set max amount — Allows you to set a maximum order size amount. Order amounts will never be set above this threshold.
The software will also indicate in real-time if either buy or sell order amount is large enough to incur slippage so you'll never encounter slippage accidentally.
With your orders pre-configured and updating each time the order book changes, when a profitable spread appears you can simply click "Submit buy & sell orders" and submit accompanying orders to each exchange in parallel.
4. Transferring between exchanges is cumbersome and slowTransferring crypto kind of sucks, let's be honest. You have to log into both exchanges, get the deposit address from one, type/paste it into the sending address form on the exchange that's sending it, you need to double check to make sure it's correct, and you don't really have any indication of the actual dollar amount that's being transferred.
When viewing a pair between exchanges, you can use the
Rapid Transfer tab to transfer crypto between wallets at each exchange. The wallet address is automatically retrieved using the exchange's REST API so you don't need to type it in yourself, and the estimated USD value of the amount being transferred is shown so you have a better idea of how much you're actually sending. And of course below you can find a list of all pending and past transfers, so you can keep track of when it's completed, all without leaving the arbitrage interface.
What do you think?That's it, if you've read this far I would really love to hear your thoughts! Crypto arbitrage is not as easy as it used to be, but there is a lack of good tooling out there to help regular traders even attempt arbitrage so we're trying to make it more accessible for beginners and pros alike. Profitable spreads
absolutely do still exist, if you're persistent and spend the time to find the right pairs there is definitely money to be made. Some days it's on the big markets like ETH-BTC, some days it's on the smaller markets like ALGO-BTC, but the opportunities are there. It's not like the spreads that existed in 2015 and 2016 but every day I've consistently seen spreads with a possible profit of $10, $30, and more. Arbitrage can be a great tool for day traders when the markets aren't making big movements up or down.
If you want to read more about Coygo Terminal's arbitrage tooling you can see my blog post "Coygo Terminal's Arbitrage 2.0: Master Cryptocurrency Arbitrage"
https://www.coygo.app/blog/posts/coygo-terminals-arbitrage-2-0-master-cryptocurrency-arbitrage/If you want to learn more about how crypto arbitrage works I'd recommend my blog post "How to profit from crypto arbitrage trading"
https://www.coygo.app/blog/posts/how-to-profit-from-crypto-arbitrage-trading/