Introduction

After the software is installed and configured, you are ready to start market-making. Finish the Installation guide first and make sure /balances responds.

Examples below use DOGE/USDT@StakeCube. Your pair and exchange are set in config.jsonc.

This guide covers the free basic version. Premium modules add advanced liquidity control.

Note: Do not keep large token or USDT balances on the exchange until you understand the risks.

Liquidity and spread

Liquidity is usually the first thing traders notice. Enable basic liquidity and spread maintenance with:

/enable liq 2% 2000 DOGE 200 USDT middle

The software places buy and sell orders near the spread — up to 200 USDT on the buy side and 2000 DOGE on the sell side, with about 2% spread. Trend can be uptrend, downtrend, or middle.

If other traders match your liquidity orders, the software replaces them to keep the book filled. For safer balance control, see the Safe Liquidity and Spread maintainer premium modules.

Dynamic order book building

This module keeps the order book active by placing and updating orders. On the exchange UI it looks like ongoing interest in the pair.

Enable it with:

/enable ob 20 30%

20 is the maximum number of dynamic order-book orders; 30% scales each order amount relative to your /amount setting.

Make sure you have enough DOGE and USDT for the configured number of orders. We do not recommend more than 40 ob-orders because of server load.

Starting and stopping

Enable the features you need with /enable — for example /enable ob … or /enable liq ….

Then start market-making with:

/start

This runs all enabled modules. To pause, use /stop. Open orders stay on the exchange; cancel them with /clear all if needed.

Trader (volume)

The Trader module creates trading activity. Enable it with:

/enable t optimal 4-200 DOGE 3-120 secs

Policies: spread (lower risk, trades inside the spread), orderbook (matches the book), optimal (default — combines spread and order book when liquidity is enabled), and depth (premium).

Adjust amounts and intervals anytime while the software is running. A typical starting point is spread policy; switch to optimal once liquidity is configured.

After enabling Trader, run /start to begin.

Following a price

With the help of the Price Watcher module, you can set a bot to follow a static price range or a price on another exchange. The bot will avoid buying high and selling low, verifying that the bot modules place orders at a suitable price.

Additionally, if a price moves out of the safe range, a bot can set it back by buying or selling tokens with the fill option enabled.

The prevent option works in another way: it disallows the bot modules, such as liquidity, to place orders out of the Price Watcher range, prohibiting buying high and selling low. In the prevent mode, the bot isn’t forced to set a price back to the range but instead offers a safe price range to other modules.

If you choose a static range, the feature controls a token’s price in the low–high range. You can set a price range in any currency; the bot will convert it into the trading pair's currency.

Try:

/enable pw 0.13-0.16 USDT prevent

The command set the bot to place buy-orders at prices below 0.16 USDT and sell-orders at prices above 0.13 USDT; the 0.13–0.16 range is safe both for bids and asks.

You can also command the bot to follow the price on another exchange. There might be different reasons for such behavior; the most common are following a price on an exchange with the most liquidity, and preventing arbitrage when you run bots on several exchanges.

It’s a good practice to set the leading trading pair with the most liquidity (for example, DOGE/USDT@Binance) in a numerical range and target the rest bots to the leading trading pair:

/enable pw DOGE/USDT@Binance 1.5% strict fill

1.5% is an allowed price deviation, and strict is a price control policy.

With this command, when DOGE/USDT@Binance price changes, the bot on the current exchange will also follow the price update.

Manual orders

Manual orders allow you to place trading orders without visiting an exchange’s website.

Use the /buy and /sell commands to place a single order and the /fill command to place several orders within a price range.

Try:

/buy quote=7 price=0.15

The bot will place an order to buy DOGE for 7 USDT at 0.15 price.

/buy amount=1000 price=0.15

The bot will place an order to buy 1000 DOGE at 0.15 price.

/buy amount=1000

The bot will place an order to buy 1000 DOGE at a market price.

/fill buy quote=50 low=0.07 high=0.15 count=10

The bot will place up to 10 buy-orders for ~50 USDT (total) in the 0.07–0.15 USDT price range. This command is excellent for filling the order books.

Notifications

The bot sends notifications about warnings and errors, which you’ll probably want to handle, such as when there are not enough balances.

Refer to the Fill in the config file section of the Installation guide to set up notifications.

Premium liquidity tools

For stronger market quality, consider premium modules such as Safe Liquidity, Spread maintainer, and Ladder (grid liquidity). They help protect balances while keeping the book attractive.

Moving ahead

See your bot's settings with the /params command.

You can request /stats, /orders, /deposit, /account, /info and /pair from the bot at any time.

Next, learn the Command reference.

Because of possible API errors, a bot can fail to close some orders, leading to frozen balances. See all open orders with the /orders command. To close all untracked orders and unfreeze balances, run the /clear unk. Note: It will also cancel orders placed via an exchange's website. Note: This command can run up to a few minutes if there are many open orders.

Final notes

Trading is about buying and selling. Other users buy and sell, too. This means they can sell tokens to the bot or buy tokens from the bot. If a token's price changes, the bot can buy at a high price and then sell at a low price, which leads to asset losses.

Any trading strategy is also connected with buying and selling, and you can run out of balances.

Other risks exist, such as software or API errors. Note that only you take full responsibility for using the MarketMakingApp.

When you create API keys for the bot:

  • Create a separate account for the market-making bot. Don't use this account to trade or place orders on the exchange's website. Don't use this account for other bots.
  • Top up the account balances with enough, but not excessive, amounts of both token and USDT. Start with a lower balance, and after you've understood how market-making works, consider topping up more.
  • Don't provide withdrawal permissions to the API keys; set only read+trading.