R2 Bitcoin ArbitragerR2 Bitcoin Arbitrager is an automatic arbitrage trading application targeting Bitcoin exchanges.
https://i.imgur.com/zduqCWB.pngConsole Mode.Console mode is for CUI-only environment like Linux boxes with no GUI.
https://i.imgur.com/hW3McsY.gifPrerequisites.R2 works on any OS that supports Node.js, such as:
Web UI works on the latest version of Google Chrome. You need hosting service like VPS / Heroku / AWS.[/li][/list]
Supported Exchanges.R2 supports the following exchanges.
Exchange | Cash | Margin
BitFlyer margin trading (BTC-FX/JPY) is available as a broker plugin.How it works?- Every 3 seconds, R2 downloads quotes from exchanges.
- Filters out quotes that are not usable for arbitrage. For example, if maxShortPosition config is 0 and the current position is 0 for a broker, the ask quotes for the broker will be filtered out.
- Calculates the best ask and the best bid from the filtered quotes and checks if the expected profit is larger than the configured minimum value, minTargetProfitPercent. If there is no arbitrage opportunity, R2 waits for the next iteration.
- R2 concurrently sends a buy leg and a sell leg to each broker that offered the best price.
- R2 checks whether the legs are filled or not for the configured period, say 30 seconds.
- If the both legs are filled, shows the profit. If one of the legs are not fully filled, R2 tries to send a cover order in order to balance the position. The covering behavior is configurable in onSingleLeg config.
After the spread has became smaller than the configured value, exitNetProfitRatio, R2 tries to close the pair.Architecture Overview.- Pluggable architecture: We can add add new ones exchanges / brokers as an npm package like bitflyer-fx plugin
Concurrency: All API calls to exchanges are concurrently sent/handled.
- ️Dynamic configuration: User can dynamically update the configuration based on spread statistics by a simple js script, like setting minTargetProfitPercent to μ + σ every few seconds.
https://i.imgur.com/vUosZEq.pngSupport Notification Service.R2 can send notification messages to Slack and LINE when it detects the configured keywords in the output logs. Soon we will be implementing a bot to Telegram and Discord.
What is included in the package?- Installation on your private server.
I want a plugin for my favorite Exchange / Broker!We do not guarantee that all exchange or broker can be implemented without operating problems, talk to one of our consultants for further questions and price
How to buy?Send me a PM and we will negotiate!