{"id":31450717,"url":"https://github.com/buildonviction/mm-bot","last_synced_at":"2026-05-18T02:08:01.526Z","repository":{"id":65530004,"uuid":"294080468","full_name":"BuildOnViction/mm-bot","owner":"BuildOnViction","description":null,"archived":false,"fork":false,"pushed_at":"2025-12-04T06:06:05.000Z","size":49,"stargazers_count":12,"open_issues_count":0,"forks_count":4,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-12-06T09:58:13.586Z","etag":null,"topics":["bot","dex","market-maker","market-maker-bot"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BuildOnViction.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-09T10:33:00.000Z","updated_at":"2025-12-04T06:06:09.000Z","dependencies_parsed_at":"2023-01-27T14:25:16.535Z","dependency_job_id":null,"html_url":"https://github.com/BuildOnViction/mm-bot","commit_stats":null,"previous_names":["buildonviction/mm-bot","tomochain/mm-bot"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/BuildOnViction/mm-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BuildOnViction%2Fmm-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BuildOnViction%2Fmm-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BuildOnViction%2Fmm-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BuildOnViction%2Fmm-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BuildOnViction","download_url":"https://codeload.github.com/BuildOnViction/mm-bot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BuildOnViction%2Fmm-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33162448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T22:39:12.733Z","status":"online","status_checked_at":"2026-05-18T02:00:06.436Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bot","dex","market-maker","market-maker-bot"],"created_at":"2025-10-01T04:32:21.131Z","updated_at":"2026-05-18T02:08:01.521Z","avatar_url":"https://github.com/BuildOnViction.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mm-bot\n\n# Requirements\n- nodejs 10+\n\n## Setup\nUsing source code\n```\nnpm install\n```\n\nUsing `mm-bot` binary\n```\nwget https://github.com/tomochain/mm-bot/releases/download/${MM_BOT_VERSION}/mm-bot.${MM_BOT_VERSION}.linux-x64 \\\n    \u0026\u0026 chmod +x mm-bot.${MM_BOT_VERSION}.linux-x64 \\\n    \u0026\u0026 mv mm-bot.${MM_BOT_VERSION}.linux-x64 /usr/bin/mm-bot\n```\n\n## Usage\n\nStep 1: Init bot by command:\n\n```\nmm-bot init\n```\n\nThe bot will ask you to setup the bot configuration.\n\nYou can get base token, quote token information from [TomoDEX pair data](https://dex.tomochain.com/api/pairs)\n\n\nYou can re-check the bot configuration:\n```\nmm-bot info\n```\n\nStep 2: Send quote token, base token to the main address of the bot.\n\nFor example, you want to run bot for pair FRONT/USDT. You have to send at least 1000 USD (in FRONT) and 1000 USDT to the main address.\n\n\nStep 3: Run bot\n```\nmm-bot start\n```\n\n\n## Configuration\nYou can update the bot configuration file (`${HOME}/.mm-bot/config`)to custom your bot.\n```\nMAIN_PKEY=xxx // private of the main wallet\nRANDOM_PKEYS=xxx // private key of wash wallets for wash trade\nMAIN_ADDR=0x726DA688e2e09f01A2e1aB4c10F25B7CEdD4a0f3\nBASE_TOKEN=0xAad540ac542C3688652a3fc7b8e21B3fC1D097e9 // base token address\nBASE_SYMBOL=ETH // base token symbol\nBASE_NAME=undefined // base token name, requires for coingecko price provider\nQUOTE_TOKEN=0x45c25041b8e6CBD5c963E7943007187C3673C7c9 // quote token address\nQUOTE_SYMBOL=USDT // quote token symbol\nQUOTE_NAME=undefined // quote token name, requires for coingecko price provider\nPRICE_PROVIDER=ftx // price provider FTX, BINANCE, COINGECKO, POOL (self price provider)\nRELAYER_URL=https://dex.tomochain.com // DEX URL\nRPC_URL=https://rpc.tomochain.com // RPC URL\nORDERBOOK_LENGTH=10 // number of orders that will be created by the bot in SELL/BUY side\nSEED_PRICE=undefined // seed price for pool, requires for pool price provider\nBOT_SPEED=200000 // speed (ms) to reload the bot (update price, cancel, create orders)\nWASH_SPEED=200000 // speed (ms) to wash trade\nORDER_SIZE=5 // side of the order in USD\nRANDOM_RANGE=50 // percentage for range of side of the orders\nWASH_ORDER_SIZE=5 // side of the wash orders\nORDER_STEP=0.02 // Step of orders in per side. Next order = order * (1 +step)\n\n// configuration for uniswap price provider only\nBASE_ERC20_ADDRESS= // address of baseToken on Ethereum network\nBASE_ERC20_DECIMAL= // decimal of baseToken on Ethereum network\nQUOTE_ERC20_ADDRESS= // address of quoteToken on Ethereum network\nQUOTE_ERC20_DECIMAL= // decimal of quoteToken on Ethereum network\n\nINFURA_API_KEY= // to retrieve price from uniswap\n```\n\n**Run as a service with `pm2`**\n```\npm2 start --name MMBOT ./mm-bot -- start\n```\n\n## Price Provider\n```\n'pool', // auto-adjust pricing by state of the pool (balance of the tokens in the main wallet)\n'coingecko',  // get price from coingecko\n'binance', // get price from binance\n'ftx', // get price from ftx\n'uniswap' // get price from uniswap\n\n```\n\n## Contribution\nFeel free to create an issue or PR\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbuildonviction%2Fmm-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbuildonviction%2Fmm-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbuildonviction%2Fmm-bot/lists"}