{"id":13460942,"url":"https://github.com/magic8bot/magic8bot","last_synced_at":"2025-03-24T19:33:25.865Z","repository":{"id":37395713,"uuid":"140289364","full_name":"magic8bot/magic8bot","owner":"magic8bot","description":"Magic8bot is a cryptocurrency trading bot using Node.js and MongoDB.","archived":false,"fork":false,"pushed_at":"2023-03-04T04:08:38.000Z","size":4230,"stargazers_count":338,"open_issues_count":11,"forks_count":76,"subscribers_count":32,"default_branch":"stable","last_synced_at":"2024-08-01T10:21:56.858Z","etag":null,"topics":["bitcoin","cryptocurrency","nodejs","trading-bot","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/magic8bot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-07-09T13:27:43.000Z","updated_at":"2024-07-27T03:30:14.000Z","dependencies_parsed_at":"2024-01-07T11:04:50.176Z","dependency_job_id":null,"html_url":"https://github.com/magic8bot/magic8bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magic8bot%2Fmagic8bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magic8bot%2Fmagic8bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magic8bot%2Fmagic8bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magic8bot%2Fmagic8bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/magic8bot","download_url":"https://codeload.github.com/magic8bot/magic8bot/tar.gz/refs/heads/stable","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222004375,"owners_count":16914876,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitcoin","cryptocurrency","nodejs","trading-bot","typescript"],"created_at":"2024-07-31T10:00:51.254Z","updated_at":"2024-10-29T06:31:01.574Z","avatar_url":"https://github.com/magic8bot.png","language":"TypeScript","funding_links":[],"categories":["Trading System","Uncategorized","Trading System (Back Test \u0026 Live trading)","TypeScript","Open source bots"],"sub_categories":["Crypto Currencies","Uncategorized"],"readme":"[![Build Status](https://travis-ci.com/magic8bot/magic8bot.svg?branch=master)](https://travis-ci.com/magic8bot/magic8bot)\n[![codecov](https://codecov.io/gh/magic8bot/magic8bot/branch/master/graph/badge.svg)](https://codecov.io/gh/magic8bot/magic8bot)\n\n![logo](https://rawgit.com/magic8bot/magic8bot/master/assets/logo.svg)\n\n# How To Use\n\n**The master branch is unstable. Do not depend on it working correctly or even running at all.**\n\ncheckout [stable](https://github.com/magic8bot/magic8bot/tree/stable)\n\n## Requirements\n\n- [node](https://nodejs.org/en/)\n- [mongodb](https://www.mongodb.com/)\n- [The UI](https://github.com/magic8bot/ui/tree/stable)\\*\n\nThe only 2 supported exchanges are `coinbasepro` and `binance` although the bot is capable of supporting any exchange that `ccxt` supports with the addition of small adapter file, found in`./src/exchange/adapters`.\n\nThere are a minimal amount of strategies and technical indicators implemented as well.\n\n\\*The UI is not required to run. It just makes things easier.\n\n_If you have questions, just ask on discord. The invite link is below._\n\n## Magic8Bot Installation\n\nThere are 2 repos (magic8bot and ui) that need to be installed. To do that, you will need to clone them. Let's go!\n\nClone the magic8bot repo:\n\n    git clone https://github.com/magic8bot/magic8bot.git\n\nClone the UI repo:\n\n    git clone https://github.com/magic8bot/ui.git\n\nGo to /magic8bot folder and run:\n\n    npm install\n\nGo to /ui folder and run:\n\n    npm install\n\nYou also need a `.env` inside the `/magic8bot` folder. You can just copy `.env-sample` and rename it `.env`\n\nOnce you're done you need to run this command in both the `magic8bot` and `ui` folders:\n\n    npm run start:dev\n\n\u003e you'll need to open 2 terminals\n\n# Development\n\nM8bot is entering stage 2 of development. I'm separating out all the moving parts into stateless microservices. The idea is to be able to auto-scale individual parts of the bot as load increases on each part.\n\nThe parts:\n\n- [ui](https://github.com/magic8bot/ui)\n  - Is the UI/control panel for the bot\n- [web-server](https://github.com/magic8bot/web-server)\n  - This is the layer that sits between the UI and the bot\n- [smq](https://github.com/magic8bot/smq)\n  - Not a micro-service but a critical shared library\n  - Used for communication between micro-services\n- [db](https://github.com/magic8bot/db)\n  - Not a micro-service but a critical shared library\n  - Used for establishing a connectio to the database\n  - Provides shared data models for the micro-services\n- `pub/sub`\n  - Not yet implemented\n  - Publishes events for mass consumption\n  - Might be integrated into `smq`\n- `trade`\n  - Currently part of core but will be a micro-service\n  - Handles syncing data from the exchange to the database\n- `period`\n  - Currently part of core but will be a micro-service\n  - Generates candle (OHLCv) data\n  - Emits candle data events via pub/sub\n- `strategy`\n  - Currently part of core but will be a micro-service\n  - Listens to candle events\n  - Calculates signals\n  - Sends signals via simple message queue\n- `order`\n  - Currently part of core but will be a micro-service\n  - Handles opening and closing positions\n  - Consumes signal via simple message queue\n\n## Disclaimer\n\n- This bot is NOT a sure-fire profit machine. Use it AT YOUR OWN RISK.\n- Crypto-currency is still an experiment, and therefore so is this bot. Meaning, both may fail at any time.\n- Running a bot, and trading in general requires careful study of the risks and parameters involved. A wrong setting can cause you a major loss.\n- Never leave the bot un-monitored for long periods of time. this bot doesn't know when to stop, so be prepared to stop it if too much loss occurs.\n- Often times the default trade parameters will underperform vs. a buy-hold strategy, so run some simulations and find the optimal parameters for your chosen exchange/pair before going \"all-in\".\n\n## Chat with other users\n\n[![logo](https://rawgit.com/magic8bot/magic8bot/master/assets/discord.png)](https://discord.gg/JGCNsh8)\n\nthis bot has a Discord chat! You can get in [through this invite link](https://discord.gg/JGCNsh8).\n\n## Donate\n\n### notVitaliy (author)\n\nBTC: `3Q5DP8gRR5rxyzrfDRkCYgaFESsrj9Ti7o`\n\nETH: `0xF0C99295CE430cc0B2ed6B9aa31a7fC10Cf0EaA9`\n\n![logo](https://rawgit.com/magic8bot/magic8bot/master/assets/logo-sm.svg)\n\nThanks!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagic8bot%2Fmagic8bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmagic8bot%2Fmagic8bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagic8bot%2Fmagic8bot/lists"}