The basic version of the market-making bot is free and enough to cover a request of a small project and supports a limited number of exchanges. If you are looking for a more comprehensive solution powered with additional possibilities, look at the suggested features or even order a custom one.
To make order books look rich, the bot will analyze them and add orders between existing ones.
For example, in the visible part of the order book there are bids at prices of 1, 0.9, 0.4, 0.3, and 0.1 USDT. The bot will place orders at prices of ~0.8, 0.7, 0.5, and 0.2 USDT.
This feature extends the capabilities of the standard dynamic order book module.
If the lowest ask or highest bid in the order book is large, the trading chart and spread may remain unchanged for a long time. In this case, the bot will place several small orders in front of such a massive order, pushing it back a little and resuming the trading dynamics.
Another benefit of the feature is that it reduces the spread.
In the basic version, the bot places liquidity orders close to the spread and does not consider completed purchases and sales. This may result in the depletion of token or USDT balances.
For example, you indicated the liquidity of 1000 tokens and 1000 USDT at the current price of 1 USDT. If another trader sells to the bot 1000 USDT worth of tokens at ~1 USDT, the bot will place liquidity orders for another 1000 USDT, and so on, until it runs out of USDT on its balance.
The Safe Liquidity offers additional customization and changes this scenario.
First, you can place liquidity a little further away from the spread. For example, at a distance of 1–2%. Thus, liquidity will not be available at the current price, but integrators like Coinmarketcap will still show ±2% liquidity.
Secondly, the bot will take into account the liquidity already realized. For example, if you've indicated the liquidity of 1000 tokens and 1000 USDT and the bot bought 500 USDT worth of tokens, ⟶ the bot will adjust the liquidity to 1500 tokens and only 500 USDT.
Thirdly, the bot will consider the weighted price of the liquidity realized, and will only sell or buy at a profit. For example, if the bot bought 500 USDT worth of tokens at a weighted price of 1 USDT, it will adjust liquidity sell orders to set the price to more than 1 USDT.
Additionally, you can enable spread support to a minimal value (e.g., 0.1%) with low-volume orders.
The Liquidity Grid is another way to place liquidity in the order book. Unlike the classic module, which places orders closer to the spread, the liquidity grid distributes them across the entire order book.
The Liquidity Grid works for profit since the bot sells for more than it bought and buys for less than it sold. When a buy order is executed, the bot moves the grid “down”; when selling, it moves the grid “up”. With price volatility, this strategy increases balances.
With an order step of ~10% and a sufficient volume, the Liquidity Grid creates a saturated order book and protects against token price manipulators.
The bot will look for the right moment to sell tokens in favor of USDT or BTC, with minimal impact on the price or leaving it the same.
Example of work: During trading, the bot discovered that at the current price of 1 USDT, a third-party trader placed an order to buy tokens for 1000 USDT at a price of 0.985 USDT. The bot will sell the tokens to the trader and return the price to 1 USDT by placing several small buy orders.
Only orders of other traders are taken into account, not your own.
If there is little liquidity or the spread is large enough, traders can manipulate the price and drain the bot's balances.
One way of manipulating the price is to first push the price with a small volume order to the lower limit and buy cheaper, and then push the price to the upper limit and sell tokens at a higher price.
Price manipulation protection identifies such orders for manipulation and removes them, buying cheaper and selling higher.
The feature also solves another issue — when the spread is tightened to zero, and the bot stops trading in the spread
market-making mode.
The bot can follow the price on supported CEX exchanges out of the box, and in the extended version, it can also target DEXs, like Uniswap or Pancakeswap.
This feature is useful if your token has the highest liquidity on a DEX.
You control the bot in the secure blockchain-powered ADAMANT Messenger app by default.
If you find it more convenient to use Telegram, we will add support for this messenger.
You will also be able to receive notifications from the bot in Telegram.
You control the bot in the secure blockchain-powered ADAMANT Messenger app by default.
The bash command line allows you to interact with the bot directly on the same server.
Instant response.
The basic version of the bot can notify in ADAMANT, Slack, and Discord.
We will teach the bot to deliver notifications via Email.
During regular trading, the bot maintains a small spread using the liquidity module.
However, in some cases, such as market-making with an orderbook strategy or when the price of a token changes, standard tools will restore a small spread slowly, leading to a deterioration in the trading chart.
The Spread Maintainer quickly restores a small spread after other bot modules execute orders.
In the basic version, the bot trades in spread randomly, which is noticeable on the trading chart as identical candles.
The premium feature analyzes trading history and places orders at specific prices, smoothing candle and token price changes.
With the Price Maker feature, you can set the desired price by a specific time.
For example, at the current price of 1 USDT, you will instruct the bot to reach 1.5 USDT within a week. The bot will methodically buy and get closer to the goal.
At the same time, the bot operates with some variability. That is, when the price rises in general, there may be local dumps.
This function works in addition to the Price Watcher and the Price Maker modules.
When you set a fixed price range for a token, for example, 1.0–1.1 USDT, the bot will select new targets in this range and follow them, changing trends. Thus, the token's price will not stand still but will change over time, making the trading chart look more lively.
This function analyzes changes in a token's price, increases the trading volume during pumps and dumps, and reduces it in a stable period.
You will also be able to configure additional volume. If the bot changes the price itself, it can buy back its own orders in the order book without canceling them, which also increases trading volume.
Some exchanges prohibit self-trading.
The bot can work with two accounts simultaneously; one buys, the other sells, and vice versa.
Additionally, you can execute commands for the second account while working with the first. For example, the /sell ADM/USDT amount=1000 -2
will sell 1000 ADM on the second account at the market price.
It is an additional module to the two-account trading function.
When trading two accounts, situations arise when the first account accumulates a token, the second accumulates USDT/BTC, and vice versa.
The bot will change the buy/sell ratio to balance coins automatically in order to prevent you from moving coins between accounts yourself.
This feature is practical when you use one account to trade bots on multiple pairs on the same exchange, such as ADM/USDT@XeggeX and ADM/BTC@XeggeX.
If bots are short on USDT or BTC, the function will replenish the coin supply using top markets like BTC/USDT.
Exchange APIs restrict the number of requests, and when market-making is active, the bot can receive the 429 Rate limit exceeded
. It interrupts work, and in some cases, the exchange may block the account.
The caching feature solves this issue by combining the results of queries for balances, order books, and open orders within a small interval of ~1–2 seconds.
In general, a standard REST connector is sufficient for market-making.
However, with high-frequency trading and restrictions on requests, the speed of data exchange with the exchange becomes critical. This is especially noticeable on technological exchanges such as Kraken, Coinbase, Bitfinex, Gate, Huobi/HTX.
Socket connections significantly save API requests, and also guarantee the latest data and instant response.
The Bot Communication Server makes it easy to manage bots if you have several of them.
You will be able to send one command to all bots at once.
Examples:
/remote balances -all
or /rb
will show the balances of all bots in one message
/remote make price 1.1 USDT in 5 days -all
will tell all bots to achieve the price 1.1 USDT
/remote enable pw 1-1.1 USDT -all
will set the price range for all bots at once
/remote make volume +25% -all
will increase the trading volume of all bots
You can also send commands to a specific bot by specifying its ID.
Want to know when traders place high-volume orders in the order book? The bot will send you a notification.
You configure the order volume beyond which you want to be notified — for example, when placing a 1000 USDT order in the order book.
You can set a price that the bot will support with all its might, even if it must cancel all orders.
The function can work in addition to the Price Watcher.
For example, you set the Price Watcher in the range of 1.0–1.1 USDT in prevent mode and a support price of 0.5 USDT. If the token price drops to 0.7 USDT, the bot will not actively restore the price, but if it drops to 0.45 USDT, the bot will use all resources to restore it to 0.5 USDT.
In addition to standard market-making strategies, you can use the depth mode.
In this mode, the bot does not create trading volume but continues to perform other tasks, such as maintaining spread and liquidity and filling out the order book.
The Price Maker will also work in this mode, changing orders in the order book in a special way and moving the price towards your goal.
The function creates a real picture of trading and is necessary for exchanges that prohibit artificial trading volume.
The feature lets you buy or sell tokens at a weighted average price.
You specify the order volume, maximum price, and time within which you want to close the deal.
For example,
/twap BTC/USDT buy amount=5 maxprice=48k time=20m interval=1m
The bot will buy 5 BTC for USDT within 20 minutes at a price not exceeding 48,000 USDT.
The module is useful when the trade volume exceeds the exchange's liquidity. You will be able to close a trade with minimal impact on the price, even with low liquidity.
Third-party traders and bots intercept mm-orders in some scenarios, and the token and USDT/BTC balances become unequal. A lack of tokens or USDT leads to pauses in trading.
The same situation can arise when the bot buys more than it sells, and vice versa. For example, when prices increase or decrease.
The Balance Equalizer feature changes the ratio of buys and sells of the trading volume module or buys/sells from the order book for instant correction.