MyLiquidBot Documentation

Think of these guides as your how-to manual. Each one explains, in plain language, what each bot does, what the settings on screen mean, and which mistakes to avoid before you use real money.

What MyLiquidBot does

MyLiquidBot connects to your exchange account and buys and sells for you, following the rules you choose. Your money never leaves the exchange: we only place the orders, you stay in control of your funds. The app stores your access keys encrypted, creates the orders, watches which ones fill, and always shows you the status of each bot, your open orders and your results.

Before you start

Give trading access only

When you connect your account, never grant withdrawal permission. The app only needs to trade and to read your positions and balance. That way no one can move your money out.

Start small

Make your first tries with small amounts. Check that the bot creates the orders you expected, that you understand when it closes, and that the fees look reasonable to you.

Long or short: direction

A "long" bot profits when price rises after it buys. A "short" bot profits when price falls. Picking the right direction comes first, because it defines everything the bot will do.

Mind your leverage

With leverage you can lose the position if price moves far against you (that's called liquidation). More levels and higher leverage give more opportunity, but also more risk.

Risk notice

These guides explain how the app works; they are not investment advice. Bots automate decisions, but they don't remove the risk: the market can move against you, you can lose the position, and sometimes the exchange fails or lags.

Quick start: from zero to your first bot

This section answers the most common beginner questions. If you have never used futures bots, follow this exact order: wallet, exchange, connection, fee approval, then a small first bot.

What you need to start

You need an EVM wallet such as MetaMask or Rabby, an account with funds on Hyperliquid, Lighter, Aster, Bitunix or Pacifica, and a MyLiquidBot account. Funds must stay on the exchange where you want to trade. MyLiquidBot does not custody funds and does not need withdrawal permissions.

1

Create or prepare your wallet

Use MetaMask, Rabby or a WalletConnect-compatible wallet. This wallet is used to log in or sign approvals; it is never used to share your seed phrase. Never type your seed phrase into MyLiquidBot or any form.

2

Fund your exchange account

Choose Hyperliquid, Lighter, Aster, Bitunix or Pacifica. Deposit the quote asset required by that venue — usually USDC on Hyperliquid/Lighter/Pacifica and USDT on Aster/Bitunix futures. If the exchange has no balance, MyLiquidBot can connect but cannot open real positions.

3

Register and log in to MyLiquidBot

After registration, go to Account → Exchanges. This is where you add API connections for each exchange.

4

Create API keys without withdrawals

On your exchange, create API keys or an API wallet with read/trading permissions only. Never enable withdrawals. Copy each value exactly where MyLiquidBot asks for it.

5

Test the connection

After saving the connection, press the test button. If it fails, remove extra spaces, check that you did not paste the wrong wallet, and try again. If you previously had problems adding keys, create the connection again from scratch because several save and verification flows were fixed.

6

Approve platform fees when required

To trade on supported wallet DEXs, approve MyLiquidBot fees: Builder Fees on Hyperliquid/Aster/Pacifica or Integrator Fees on Lighter. You sign this with your wallet. It is not a withdrawal permission; it is how the exchange attributes your orders to the platform and allows a low operation fee. Bitunix does not use this wallet fee-approval step; verified Bitunix keys remain inactive until trading is manually enabled.

7

Load Portfolio and create a small bot

When your balance appears in Portfolio, create your first bot with small capital and low leverage. Check that orders appear in MyLiquidBot and also on the exchange.

8

Link Telegram and explore Copytrading

Telegram alerts you about fills, errors and important events. In Leaderboard / Copytrading you can copy community bot configurations as a starting point, but always adapt size and risk to your own account.

Beginner rule

Do not start with high leverage or your full balance. First confirm that you understand what the bot will do if price goes up, down, sideways, and if you want to close manually.

Create an account

Create an account when you want a private dashboard for exchange connections, bot configuration, portfolio tracking, manual trading and notifications.

1

Open registration

Click Create account. Use an email you can access because sensitive routes may require email verification before trading features are available.

2

Set identity and password

Enter name, email and a strong password. Use a unique password because this account controls trading connections.

3

Verify email

Open the verification email and confirm the account. If the link expires, request a new verification email from the app.

4

Configure profile basics

Go to Account and set preferred exchange, quote asset, timezone, language and UI density. These defaults reduce mistakes when creating bots.

Good first session

After registration, connect one exchange, confirm Portfolio loads, create only a small test bot, then review open orders on the exchange itself.

Account panel

The Account panel centralizes everything you need before trading: connections, fees, wallets, Telegram, referrals, security, preferences and docs. The top cards show VIP status, Telegram link, wallet login and loaded exchange accounts.

Main panel

Shows a summary of connected exchanges and balance distribution by account. If an exchange is missing or shows $0, go to Exchanges and test the connection.

VIP Level

Shows your active level or plan. Plans may reduce fees or unlock better terms. If you do not have a plan, you can still use the platform with per-operation fees.

Referrals

Lets you use or share referral codes. Referrals may provide discounts on subscriptions or commissions when active for your account.

Exchanges

Add, test, edit and deactivate Hyperliquid, Lighter, Aster, Bitunix and Pacifica connections. You also manage Builder / Integrator Fees, exchange-specific activation and leverage or margin settings per market here.

Security

Enable 2FA, change your password and review access methods. Recommended before trading real capital.

Telegram

Link alerts and support. Use it so you do not need to keep the web app open all the time.

Wallet login

Link wallets for login or approvals. This does not give MyLiquidBot custody of your funds.

AI Studio

Analysis, backtesting and experimental tools for evaluating strategies before launching them.

Connect Hyperliquid

Hyperliquid is a decentralized perpetuals exchange. To let MyLiquidBot trade on your behalf you need to create an API wallet — a separate key that can place orders but cannot withdraw funds. Your main wallet stays safe.

Part 1 — Create the API wallet on Hyperliquid

1

Go to app.hyperliquid.xyz and connect your main wallet

Open app.hyperliquid.xyz in your browser. Click Connect wallet and connect MetaMask, Rabby, or another EVM wallet. This is your main wallet — the one that holds your funds.

2

Go to Settings → API wallets

Once connected, click the menu in the top-right corner and open Settings. Look for the API wallets (or "API" / "Sub-accounts") tab. This is where Hyperliquid lets you create dedicated trading keys.

3

Generate a new API wallet

Click Generate API wallet (or "Create new"). Hyperliquid will show a signing key for that API wallet. This is shown only once. Copy it immediately and save it somewhere safe (a password manager, not a screenshot).

Critical

The private key is displayed only once. If you close the window without copying it, you will have to generate a new API wallet. Never share this key with anyone.

4

Note the API wallet address

After generating, Hyperliquid also shows the public address of the API wallet. This is different from your main wallet address. You will need the API wallet signing key and the API wallet public address — not your main wallet key.

What you haveUse for
Main wallet addressYour Hyperliquid account — holds funds, NOT used in MyLiquidBot form
API wallet addressGoes into the Wallet Address field in MyLiquidBot
API wallet signing keyGoes into the API Private Key field in MyLiquidBot

Part 2 — Add the connection in MyLiquidBot

5

Go to Account → Exchanges → Add connection

In MyLiquidBot, click your avatar or account name in the top-right → ExchangesAdd connection. You will see a form with exchange options.

6

Select Hyperliquid and fill in the fields

Choose Hyperliquid from the exchange list. Then fill in:

Field in MyLiquidBotWhat to paste
NameAny label you want, e.g. Hyperliquid Main. Used to identify this connection in bot forms.
Wallet AddressThe API wallet's public address — NOT your main wallet.
API Private KeyThe API wallet's signing key. This signs orders. Treat it like a password.
Vault AddressLeave blank unless you are trading from a Hyperliquid Vault. Most users do not need this.
Do not paste your seed phrase or main wallet key

The platform only needs the API wallet credentials. Your seed phrase is never needed and should never be entered anywhere.

7

Save and open the Manage page

Click Save. You will be redirected to the Exchanges list. Click Manage next to your new Hyperliquid connection to open the management page.

Part 3 — Test the connection and approve Builder Fees

8

Click "Test API and fee status"

On the Manage page, click the Test API and fee status button. MyLiquidBot will contact Hyperliquid and show a result:

API Hyperliquid accessible — the credentials are valid and the account can be read. You will also see Builder Fees status (Active / Inactive / Update required).

Error — the credentials are wrong or the API wallet does not exist. Go back to Edit and recheck the Wallet Address and API Private Key fields.

9

Connect your wallet and approve Builder Fees

Builder Fees is how Hyperliquid attributes orders to MyLiquidBot. It does not allow withdrawals — it only tags your orders. You need to approve it once per API wallet.

On the Manage page, click Connect wallet (or "Manage wallet"). You can either:

Option A — Browser wallet: If MetaMask or Rabby is installed, click Open wallet connect. Your browser wallet will prompt you. Connect using the main wallet that owns the Hyperliquid account (the one that holds the funds, not the API wallet address).

Option B — Manual address: Paste your main wallet's public address into the manual field and click Save address.

After the wallet is connected, click Approve Builder Fees. MetaMask/Rabby will ask you to sign a typed message — this is not a transaction and costs no gas. Click Sign to approve.

Builder Fees status

After approval, the status should change to Approved / Active. If it shows "Update required", click Update Builder Fees to re-sign with the updated parameters. If sync is pending, click Retry synchronization.

10

Verify everything is green and create your first bot

After a successful test + Builder Fees approval, the Manage page shows: Wallet: Connected · Builder Fees: Approved · Active. You are ready to create bots using this connection.

Troubleshooting

ProblemLikely causeFix
Test fails — invalid credentialsWrong Wallet Address or API Private Key pastedEdit the connection. Make sure you are using the API wallet's address and key, not your main wallet's.
Test fails — account not foundAPI wallet has no funds or is not activated on HyperliquidTransfer a small amount of USDC to the API wallet address on Hyperliquid first.
Builder Fees: Update requiredA new required fee version was publishedClick "Update Builder Fees" and re-sign with your main wallet.
Builder Fees: Pending syncThe signature was saved locally but not confirmed on-chain yetClick "Retry synchronization". If it keeps failing, re-approve from scratch.
Wallet mismatch errorMetaMask has a different account active than the saved walletSwitch MetaMask to the correct account (your main wallet) and try again.

Connect Lighter

Lighter is a ZK-based decentralized perpetuals exchange. Its credential model is different from Hyperliquid — instead of a simple private key, Lighter uses an account index, an API key index, and a private key tied to that API key. You also need to set leverage per-market before creating bots.

Part 1 — Get your Lighter credentials

1

Go to app.lighter.xyz and connect your L1 wallet

Open app.lighter.xyz. Connect an EVM wallet (MetaMask, Rabby, etc.). This is your L1 address — the on-chain owner of your Lighter account.

2

Go to Settings → API keys

In the Lighter interface, open Settings (top-right) → API keys. Here you can create and manage API keys for your account. Each API key has an index (0, 1, 2…) and a corresponding private key.

3

Create a new API key and save all values

Click Create API key. Lighter will show you:

Value shown by LighterWhat it isGoes into MyLiquidBot field
Private keyThe signing key for this API key. Shown once.Private Key
Public keyDerived from the private key. Used to verify which API key is active.Public Key (optional but recommended)
API key indexInteger (e.g. 0 or 1). Which API key slot this key occupies.API Key Index

Also note your account index — visible on the Lighter dashboard or Settings page. It is an integer that identifies your sub-account (usually 0 for the main account).

Private key shown once

Copy the private key before closing the dialog. You cannot retrieve it again. If lost, you must create a new API key.

4

Note your L1 address

Your L1 address is the EVM wallet address you connected in step 1. You will need it for the MyLiquidBot connection form.

Part 2 — Add the connection in MyLiquidBot

5

Go to Account → Exchanges → Add connection → Lighter

In MyLiquidBot, go to Account → Exchanges → Add connection and select Lighter. Fill in the form:

Field in MyLiquidBotWhat to enter
NameAny label, e.g. Lighter Main.
L1 AddressYour EVM wallet address. The on-chain owner of your Lighter account.
Private KeyThe API key signing key from step 3. This signs all orders.
Public KeyThe public key from step 3. Used to verify the API key during the connection test.
Account IndexYour account index integer (e.g. 0 for the main account). If wrong, the connection will read a different or empty account.
API Key IndexThe index of the API key you created (e.g. 0 or 1). Must match exactly.
6

Save and open the Manage page

Click Save. In the Exchanges list, click Manage next to the Lighter connection.

Part 3 — Test the connection

7

Click "Test connection"

On the Manage page click the Test connection button at the top. MyLiquidBot calls the Lighter API and shows a detailed result:

Connection OK — shows: account index discovered, L1 address on-chain, available balance, collateral, number of active markets, and number of API keys. It also shows a Public Key verification section that confirms whether your configured public key matches an actual API key on your account.

Error — shows the specific error. Common errors: wrong account index, wrong private key, API key revoked, or account not funded.

Public key verification

The test result shows a list of all API keys on your account with their public keys. If your configured public key does not match (shows ✗), copy the correct public key from the list shown and update it in the connection Edit form.

Part 4 — Approve Integrator Fees

8

Click "Approve Integrator Fees"

On the Manage page, find the Lighter · Integrator Fees section. Click Approve Integrator Fees. This authorizes MyLiquidBot to attach integrator metadata to orders placed through your account.

A browser wallet popup (MetaMask/Rabby) will appear asking you to sign a message with your L1 wallet (the EVM wallet connected to your Lighter account). Click Sign. No gas is required.

Once approved, the status shows Approved locally.

Part 5 — Set leverage per market (required before creating bots)

9

Use the Leverage settings panel on the Manage page

Unlike Hyperliquid, Lighter requires leverage to be configured on-chain per market before bots can operate. On the Manage page, find the Lighter · Leverage settings panel on the right side.

10

Search for the market, set mode and leverage, click Update

In the market search field, type the asset name (e.g. BTC). Select the market. Then:

Margin Mode — choose Cross or Isolated. Cross shares margin across all positions. Isolated limits risk to each position individually. Start with Cross if you are unsure.

Leverage — enter the multiplier you want to use (e.g. 3). The max leverage for the market is shown below the search field.

Click Update leverage on Lighter. MyLiquidBot signs and broadcasts a real updateLeverage transaction to the Lighter network. After it succeeds, the setting appears in the Locally saved leverage list below.

Do this for every market you plan to trade

If you create a bot on BTC/USDC and a bot on HYPE/USDC, you must set leverage separately for each market before creating either bot. The bot form will warn you if no local leverage is found for the selected market.

11

Verify the saved leverage and create your bot

After updating, the Locally saved leverage panel shows an entry for the market with the leverage and margin mode. When you go to create a Lighter bot, the form reads this setting and pre-fills the leverage. If the form shows a warning like "No local leverage found for this market", return to Manage and complete step 10 for that market.

Troubleshooting

ProblemLikely causeFix
Test fails — error reading accountWrong account indexCheck the account index on app.lighter.xyz → Settings. Enter the exact integer.
Public key mismatch (✗)Wrong public key or wrong api_key_index configuredCopy the correct public key from the list shown in the test result and update it in Edit.
Nonce or signing error on bot ordersStale or revoked API keyStop all bots. Go to Manage → Test connection. If the public key shows ✗, create a new API key on Lighter and update the connection.
Bot form warning: "No local leverage found"Leverage not set for this marketGo to Manage → Leverage settings panel → search the market → set leverage → Update.
Leverage update failsWrong private key or api_key_indexThe update tx requires the correct signing credentials. Re-run the connection test to verify public key match first.
Integrator Fees: wallet mismatchMetaMask account is different from the L1 address saved in the connectionSwitch MetaMask to the wallet address that matches the L1 Address in the connection, then try again.

Connect Aster

Aster support is now part of the normal exchange flow. You add an Aster Pro API Wallet, MyLiquidBot verifies it, then you configure the real trading settings Aster requires before creating bots or manual orders.

1

Create the Aster Pro API Wallet

Open the official Aster Pro API Wallet page and create a trading API wallet without withdrawal permissions. You need the User Address, the API Wallet Address / signer address, and the API wallet private key shown by Aster.

2

Add and verify the connection

Go to Account → Exchanges → Add connection, choose Aster, paste the required fields and save. MyLiquidBot verifies the credentials with the Aster futures client before marking the connection active.

3

Approve Aster Builder Fees

Aster uses wallet approval for platform fees. Sign the approval with the same user wallet configured in the connection. This does not grant withdrawal permissions.

4

Set trading settings per market

On the Manage page use Aster trading settings to set position mode, margin mode and leverage for the market you will trade. Aster can block position-mode changes while open positions or orders exist.

Aster uses USDT futures

Most Aster markets are quoted in USDT. When a bot form shows BTCUSDT instead of BTCUSDC, that is expected for this venue.

Connect Bitunix

Bitunix is a centralized futures venue in MyLiquidBot. It uses API Key + Secret Key credentials, usually with USDT markets. Unlike wallet DEX integrations, there is no Builder/Integrator fee signature step.

1

Create a trading API key

Open the official Bitunix API Management page and create an API key with read and trading permissions only. Do not enable withdrawals. Copy the API Key and Secret Key; passphrase is optional when your Bitunix account uses one.

2

Add Bitunix in MyLiquidBot

Go to Account → Exchanges → Add connection, choose Bitunix and paste the requested fields. Values are stored encrypted.

3

Save and verify

MyLiquidBot tests the Bitunix API and stores the Bitunix UID when the exchange returns it. If verification fails, fix the key/secret or API permissions before continuing.

4

Wait for trading activation

Verified Bitunix keys are saved inactive by default. An operator/admin must enable trading before bots or Manual Trade can use the connection. Do not assume a verified Bitunix key is live until the connection status is Active.

5

Set Bitunix trading settings

After activation, use the Manage page to set leverage, margin mode and optional position mode for the market. Bitunix can reject changes when open positions or open orders block the requested setting.

Bitunix rollout rule

Start with very small size after activation. Confirm balance, market symbol, leverage/margin mode and live open orders directly on Bitunix before scaling.

Connect Pacifica

Pacifica uses USDC perpetual markets and an Agent Wallet model. Your main wallet owns the account and the Agent Wallet signs orders and trading-setting updates from MyLiquidBot.

1

Prepare your main Pacifica wallet

Deposit USDC in the official Pacifica app and confirm the account is visible. MyLiquidBot never needs withdrawal permissions.

2

Bind the Agent Wallet

Create the Agent Wallet from Pacifica's official API Keys page. In MyLiquidBot, add the Pacifica connection with the main wallet, agent address and Agent Wallet private key. The Agent Wallet signs trading actions; it cannot be used as a withdrawal permission.

3

Approve Builder Fees

Pacifica requires approving the MyLiquidBot builder code so orders and fees can be attributed correctly. Sign the approval from your main wallet. This is not a withdrawal authorization.

4

Configure each market before trading

On Manage → Pacifica · Market settings, select the market, set leverage and choose Cross or Isolated margin. This sends real Pacifica calls: account/leverage and account/margin.

Real account settings

Changing leverage or margin mode affects your live Pacifica account. Confirm the market first and avoid changes while open positions or orders could block the requested setting.

Fees: Builder Fees and Integrator Fees

MyLiquidBot monetizes through low fees on operations executed through the platform. On Hyperliquid, Aster and Pacifica they are called Builder Fees; on Lighter they are managed as Integrator Fees. Approval is signed with your wallet and does not grant withdrawal permissions. Bitunix does not use wallet approval; its trading access is controlled by verified API keys plus manual activation.

What you approve

You approve that orders sent by MyLiquidBot can pay a platform fee. You are not depositing funds into MyLiquidBot and you are not authorizing withdrawals.

Why it is needed

It is the sustainable way to maintain infrastructure, execution, support, bots, alerts and new strategies without custodying user funds.

If approval fails

Check that the connected wallet is correct, that the network is compatible and that the exchange connection has been tested. Then try again from Manage.

Subscriptions, discounts and referrals

Besides per-operation fees, MyLiquidBot is preparing optional subscription plans for users who prefer a fixed fee or reduced commissions. They are not required to start.

1

Use without a subscription

You can trade by paying the normal platform commission. This is the simplest way to start and check if the product fits you.

2

Activate a plan if it makes sense

When plans are available, the VIP panel will show your level, benefits and duration. A plan may reduce fees or improve conditions if you trade frequently.

3

Use referrals

If you register on a DEX with official referral links or apply a code inside MyLiquidBot, you may receive discounts on commissions or subscriptions when the promotion is active.

Tip

If you trade rarely, pay-per-use is usually enough. If you trade often, review the plans because they may be more profitable for you.

Create a Bot

Creating a bot means defining a repeatable trading plan: which exchange to use, which market to trade, how much capital to allocate, how entries are placed, how exits are placed, and what should happen if the market moves against the position. Every bot type shares a common setup flow — the sections below cover what is shared and what differs per strategy.

Which bot should I use?

TDCA

You want to accumulate on dips with a fixed order size and take profit once average entry is profitable. Best for controlled accumulation with a recovery bias.

Martingale

You want progressively larger entries on dips to recover faster. Higher risk — exposure compounds quickly. Best for experienced users comfortable with worst-case calculation.

GridMart

You want both safety entries and staged grid sells. More complex — combines Martingale-style averaging with a profit staircase above. Best for ranging markets with clear support and resistance.

GridMart Classic

Simplified GridMart: safety entries + single satellite TP exit. Easier to configure. Add Pause/Resume control for manual overrides without closing the position.

GridBot Classic

Uniform grid inside a defined price range. No averaging — just buy-sell pairs across levels. Best for neutral-to-directional ranging markets.

Neutral Grid

Two-sided one-way grid around the current price. Best when you expect range rotation and want the bot to quote both sides without a fixed long/short bias.

QFL Simple

Support/resistance zone strategy. Best when you want entries only near selected QFL-style zones with capped active bases and per-zone DCA rules.

Market Maker

Continuous bid/ask quoting around the current price. Best for liquid markets where you want to earn spread while controlling long/short inventory with strict caps.

Market Maker V2

Guided market making with behavior presets, one or several buy/sell layers, matched exits and a clearer position-and-profit panel. Best when you want more control over quote structure without configuring hidden trading logic.

Common setup flow (all bots)

1

Select exchange connection

Choose the saved API connection for the exchange you want to trade on. The available USDC balance is shown immediately. If the balance shows "Not available", the connection may need to be retested under Account → Exchanges.

2

Search the trading pair

Type the asset name (e.g. BTC) in the pair search. A live combobox shows all available markets with current price. Select the pair and verify the market data panel: minimum order notional, minimum coin quantity, max leverage, and decimal precision. These limits apply to every order the bot places.

3

Set leverage and direction

Leverage multiplies your exposure: a $100 position at 5× controls $500 of BTC using $100 margin. The margin is what you risk losing if the position is liquidated. For a first bot, use 1× or 2×. Direction — Long profits when price rises; Short profits when price falls.

4

Configure strategy-specific parameters

Each bot has its own entry/exit parameters. See each bot's section below for field-by-field explanations with BTC examples.

5

Check the level preview panel

Martingale and GridMart bots show a live preview table of all levels — entry prices, margin per level, position notional, and minimum notional warnings. Fix any ⚠ warnings before creating the bot or those orders will be rejected by the exchange.

Universal parameters

ParameterWhat it controls
Exchange connectionWhich saved API account sends orders and holds positions.
Trading pairThe market symbol — e.g. BTC/USDC (Hyperliquid: BTCUSDC, Lighter: BTCUSDC).
DirectionLong = bot buys expecting price to rise. Short = bot sells expecting price to fall.
LeverageMargin multiplier. Position notional = margin × leverage. More leverage = less margin needed but higher liquidation risk.
Total investmentMaximum margin budget distributed across all planned orders for the bot.
Start behaviorMost bots show an activation option. GridMart Classic is created active by default; if a trigger is configured, it waits for the trigger before placing orders.

TDCA Bot (Timing DCA)

Automatic dip buying / timed averaging

Use TDCA when you want to accumulate a position gradually on dips instead of entering all at once. On each cycle the bot checks whether conditions are met and, if so, places a new buy. A take-profit fires automatically once the overall average entry reaches the configured profit target.

What you are trying to do

You believe BTC will generally go up but expect pullbacks along the way. Instead of buying $500 at once, you want the bot to buy $50 every hour only when price dips below certain thresholds, so your average entry improves with each dip. When BTC recovers, the bot closes the entire position at your target profit.

Step-by-step: creating a TDCA bot

1

Select exchange and check balance

Choose your connected exchange from the Exchange connection dropdown. The panel on the right shows your available USDC margin. Make sure you have enough to cover all planned buy levels before creating the bot.

2

Name the bot

A name is auto-generated (e.g. TDCA-BTC-1). Change it if you are running multiple TDCA bots on the same pair so you can tell them apart from the bot list.

3

Choose the trading pair

Type BTC in the pair search. The combobox shows live price and market limits: minimum order notional, minimum coin quantity, max leverage, and decimal precision. Confirm the market is liquid enough before continuing.

4

Set buy parameters

Amount per buy (USDC) — notional value of each individual order. For BTC on Hyperliquid the minimum notional is $10; a safe starting value is $25. The margin actually deducted equals this amount ÷ leverage.

Leverage — multiplier applied to each buy. At 1× a $25 buy uses $25 margin. At 5× the same $25 buy controls $125 of BTC but only costs $25 in margin. Higher leverage increases liquidation risk.

Direction — Long accumulates by buying dips hoping price rises; Short accumulates by selling rallies hoping price falls.

Interval (minutes) — how often the bot runs its evaluation cycle. 60 minutes is a good starting point. Shorter intervals check more frequently but do not guarantee more fills.

Max buys per cycle — hard cap on how many buy executions can happen before the TP closes the cycle. Example: 10 buys × $25 each = $250 max notional planned.

5

Configure strategy filters (optional)

Buy only at better average — when checked, the bot skips buying if the current price is already above the average entry of existing open orders. This prevents adding at worse prices when you already have inventory. Enable this if you only want to lower your average, never raise it.

Margin % below average — requires price to be this percentage below the current average entry before a new buy is allowed. Example: 1.5 means the bot only buys if price is at least 1.5% below average. Leaving it at 0 means any price below average is acceptable.

6

Set Take Profit

Enable Automatic Take Profit and enter a percentage. This is calculated from the average entry price across all filled orders (leverage-adjusted). Example: 1.5% means if BTC's average entry is $100,000, the TP fires at $101,500. When TP fires, the bot closes the entire position and waits for the next cycle.

7

Choose options and create

Field reference

FieldWhat it doesBTC example
Amount per buy (USDC)Notional size of each individual entry. Margin = amount ÷ leverage.$25
LeveragePosition multiplier. 1× = no leverage. Keep low to avoid liquidation.
DirectionLong buys expecting price to rise. Short sells expecting price to fall.Long
Interval (min)How often the bot evaluates whether to place a new buy.60
Max buys per cycleMaximum buy executions before TP closes the cycle. Controls total planned exposure.10
Buy only at better averageSkips new buys if price is already above your current average entry.✓ enabled
Margin % below averageExtra gap required below current average before buying. 0 = any price below average.1.5
Take Profit %% above average entry to auto-close the position.1.5
Best fit for TDCA

TDCA works best on liquid markets with recurring pullbacks where you believe the long-term direction is intact. It is not suited for highly volatile breakouts or coins with thin liquidity, because order fills can be unpredictable.

Common mistakes

Setting Max buys per cycle too high without enough balance to cover the planned buys. Setting the interval too short on a flat market causes the bot to run many times without doing anything useful. Not enabling "buy only at better average" means the bot may keep buying as price keeps falling with no floor.

Martingale Bot

Progressive size multiplier — aggressive averaging

Use Martingale when you want each subsequent safety entry to be larger than the previous one. The larger sizes move the average entry closer to current price faster, so a smaller price recovery is enough to reach take-profit. The trade-off is that total exposure grows rapidly as levels fill.

What you are trying to do

BTC opens a base buy at $100,000. Price falls to $99,000, so the bot places a larger safety buy. Price keeps falling to $97,600, and the bot places an even larger one. Now the average entry is lower and closer to current price. When BTC recovers even a small amount, the position hits take-profit. The risk is that BTC keeps falling and fills all levels, consuming all your planned margin.

Step-by-step: creating a Martingale bot

1

Select exchange, name and pair

Same as other bots. Pick the connection, confirm your balance, name the bot and search for BTC. Check the market data panel for current price, minimum notional and max leverage.

2

Set leverage and direction

Martingale with high leverage amplifies both returns and liquidation risk. For a first test use 2× or 3× at most. Choose Long if you expect BTC to eventually recover.

3

Set cooldown after TP

Cooldown (minutes) — after a full take-profit cycle closes, the bot waits this many minutes before opening a new base order. Example: 60 minutes gives the market time to settle before re-entering.

4

Set total investment (USDC margin)

This is the total margin distributed across the base order and all safety orders. The bot automatically calculates the base order size from this total using the volume scale multiplier. Example: $150 total margin with 6 safety orders and 2× volume scale.

The level preview panel on the right shows you exactly how the $150 gets split across each level before you submit. Check it — if any level shows a warning (⚠ below min notional), increase total investment or reduce levels.

5

Configure the safety order structure

Number of limit buys — how many safety entry levels the bot will place below the base entry. Example: 6 safety orders means up to 7 entries total (base + 6). More levels require more capital.

Initial separation % between levels — the percentage drop from the base entry price where the first safety order is placed. Example: 1.0% means if BTC enters at $100,000, the first safety is at $99,000.

Volume scale (size multiplier) — how much larger each safety order is relative to the previous one. Example: 2.0 means each safety is 2× bigger than the one before it. A base of $5 margin → safety 1 = $10 → safety 2 = $20 → safety 3 = $40.

Step scale (distance multiplier) — how much wider the gap between each successive safety level becomes. Example: 1.2 means each gap is 20% wider than the previous. First gap = 1%, second = 1.2%, third = 1.44%, etc. This spreads levels farther apart as price falls further.

6

Set Take Profit %

This is the percentage price movement above the average entry at which the bot closes the entire position. Example: 1.5% — if after filling 3 levels the average entry is $98,500, the TP fires when BTC reaches $99,977.50. This is a raw price movement, not leverage-adjusted PnL.

7

Review the level preview panel

Before clicking Create, check the Level preview table on the right. It shows every level's estimated entry price, the margin used, the position notional (margin × leverage), and whether each level meets the market's minimum notional. Any row with ⚠ means that level will be rejected by the exchange. Fix it by increasing total investment, increasing leverage, or reducing the number of levels.

Field reference

FieldWhat it doesBTC example
LeveragePosition multiplier. Margin × leverage = position notional.
DirectionLong or Short. Long profits when price rises after averaging.Long
Cooldown after TP (min)Wait time before the bot opens a new base order after a TP cycle closes.60
Total investment (USDC margin)Total margin distributed across all levels. Base order is calculated automatically.$150
Number of limit buysSafety order count. More levels = more capital needed.6
Initial separation %% drop from base entry to the first safety level.1.0%
Volume scaleEach safety order is this many times larger than the previous one.2.0×
Step scaleEach gap between levels is this factor wider than the previous gap.1.2×
Take Profit %% above average entry where the full position closes.1.5%
Always calculate worst-case exposure first

With 6 safety orders, a volume scale of 2×, and $150 total margin at 3× leverage: the position notional at all levels filled is roughly $1,350. If that is uncomfortable, reduce safety order count, volume scale, or leverage before creating the bot. The level preview panel does this math for you.

Best fit for Martingale

Martingale works best in markets that oscillate around a range and tend to recover. It is poorly suited for assets in a sustained downtrend because every safety level fills without recovery, consuming all margin.

GridMart Bot

Inventory grid with satellite TP and grid sell levels

GridMart is an advanced inventory management bot. It combines safety orders (entries on the way down) with two exit mechanisms: a satellite TP that unloads safety inventory near breakeven, and grid sell levels that take profit progressively on the way up. Use it when you expect the market to range and want both protection and staged exits.

How it works

The bot opens a base entry at current price and distributes safety limit buys below it. As buys fill, a satellite TP is placed a small % above the average entry to unload the safety inventory. Separately, grid sell levels are placed progressively above current price to take profit on the base (core) position. After each grid sell executes, a rebuy order is placed slightly below it to re-acquire inventory for the next cycle. When all sells complete a full cycle, the cooldown timer starts before a new cycle begins.

Step-by-step: creating a GridMart bot

1

Select exchange, name and pair

Same as other bots. Select the connection, verify balance, name the bot and search for BTC.

2

Set leverage and direction

GridMart is not intended for high leverage. Use 2× or 3× for a conservative setup. Long is appropriate for BTC when you expect the market to stay in a range and slowly grind up.

3

Set cooldown and total investment

Full-cycle cooldown (min) — after all grid sells complete a full cycle, the bot waits before starting over. Example: 60 minutes.

Total investment (USDC margin) — the total margin distributed between the base and all safety orders. Example: $150.

4

Configure safety order structure

Number of limit buys — safety entries below the base. Example: 6.

Initial separation % — gap from base entry to first safety. Example: 1.0% → first safety at $99,000 if base is $100,000.

Volume scale — size multiplier per safety level. Example: 2.0×.

Step scale — distance multiplier per gap. Example: 1.2×.

5

Set Satellite TP

Satellite TP % (above breakeven) — after safety orders fill and average entry shifts, the satellite TP is placed this % above the new average entry. It is a reduce-only order designed to unload the safety inventory. Example: 0.8% — if average entry drops to $99,000, satellite TP fires at $99,792. Keep this small so it fires quickly and frees up margin.

6

Configure Grid Sell levels

Grid sells are the profit-taking staircase for the core (base) position. Each level is placed progressively higher and sells a percentage of the remaining core inventory.

Quantity of grid sells — how many sell levels above current price. Example: 5.

Initial grid sell separation % — gap from current price to the first sell level. Example: 1.0% → first sell at $101,000 if BTC is at $100,000.

Grid sell distance multiplier — how spacing grows between sell levels. Example: 1.0 = uniform spacing; 1.2 = each gap 20% wider.

% of core to sell at level 1 — what fraction of core inventory is sold at the first level. Example: 20% — if core position is 0.001 BTC, the first sell targets 0.0002 BTC.

Grid sell qty multiplier — how the sold quantity scales between levels. Example: 1.0 = same percentage at every level.

Grid rebuy discount % — after a grid sell executes, a rebuy limit order is placed this % below the sell price to re-acquire inventory for the next cycle. Example: 0.5% — if a sell fires at $101,000, rebuy is placed at $100,494.50.

7

Review the preview and create

The level preview panel shows the full buy-side distribution. Verify no level has a ⚠ warning. Then click Create Bot.

Field reference

FieldWhat it doesBTC example
LeveragePosition multiplier for all orders.
DirectionLong or Short.Long
Full-cycle cooldown (min)Wait after all grid sells complete before restarting.60
Total investment (USDC margin)Total margin distributed across base + safety orders.$150
Number of limit buysSafety orders below the base.6
Initial separation %% drop to first safety.1.0%
Volume scaleSafety size multiplier per level.2.0×
Step scaleDistance multiplier per gap.1.2×
Satellite TP % (above breakeven)% above average entry to place reduce-only TP for safety inventory.0.8%
Quantity of grid sellsProfit-taking sell levels above current price.5
Initial grid sell separation %% above current price to first sell.1.0%
Grid sell distance multiplierWidens spacing between sell levels.1.0
% of core to sell at level 1Fraction of core position sold at first level.20%
Grid sell qty multiplierScales sold qty between levels.1.0
Grid rebuy discount %% below executed sell price to place rebuy order.0.5%
Best fit for GridMart

GridMart is best for assets that oscillate in a wide range. The satellite TP handles dip recovery while grid sells capture upside systematically. It requires more capital than a simple DCA bot because it maintains both sides of the strategy simultaneously.

GridMart requires an active plan

GridMart is a premium strategy. Before creating a GridMart bot, activate the required plan in Profile → Vip Level. If the plan is inactive, the form will show a warning and block bot creation.

GridMart Classic Bot

Classic grid with pause / resume control

GridMart Classic is a simplified version of GridMart that focuses on controlled safety entries and a single satellite TP exit. It is easier to configure than full GridMart and better suited for users who want a Martingale-style averaging bot with an explicit pause/resume control.

How it works

The bot enters a base position and places safety limit orders below. When safeties fill and the position averages down, the satellite TP order is placed above the new average entry to close the safety inventory at a small profit. The bot does not have grid sell levels — it simply exits via the satellite TP and restarts after the cooldown. At any time you can Pause the bot (cancels active bot orders but keeps the position open) or Resume to restore the structure.

Step-by-step: creating a GridMart Classic bot

1

Select exchange, name and pair

Pick the connection, confirm balance, name the bot, and search for BTC.

2

Set leverage and direction

Use 2× or 3× for a conservative first test. Choose Long for BTC if you expect price to recover after dips.

3

Set cooldown and total investment

Same as GridMart. Example: $150 total margin with 60-minute cooldown after each TP cycle.

4

Configure safety orders

Set Number of limit buys (e.g. 6), Initial separation % (e.g. 1.0%), Volume scale (e.g. 2.0×), and Step scale (e.g. 1.2×). The level preview panel shows the full distribution — verify no level is below minimum notional before creating.

5

Set the Satellite TP

Example: 0.8% above the average entry. This is the only exit mechanism — when the satellite TP fires, the bot closes the safety inventory and restarts after cooldown. Keep this tight so it fires quickly.

6

Pause and Resume

Pause cancels all active bot orders (safeties, satellite TP) but leaves the market position open. The position continues accumulating or losing PnL while paused. Resume re-evaluates current state and re-places the grid structure. Use Pause if you want to manually manage the position temporarily without closing it.

FieldWhat it doesBTC example
LeveragePosition multiplier.
DirectionLong or Short.Long
Full-cycle cooldown (min)Wait after satellite TP fires before restarting.60
Total investment (USDC margin)Total margin distributed across base + safety orders.$150
Number of limit buysSafety orders below base.6
Initial separation %% drop to first safety.1.0%
Volume scaleSafety size multiplier per level.2.0×
Step scaleDistance multiplier per gap.1.2×
Satellite TP % (above breakeven)% above average entry to close safety inventory.0.8%
Pause ≠ Close

Pausing removes the bot's orders from the exchange but keeps the position open. Unrealized PnL continues to change while paused. Use Power Off / Close actions only when you want to exit the position entirely.

GridBot Classic Bot

Directional range grid — simplest grid bot

GridBot Classic is the most straightforward grid strategy. You define a price range, a number of grid levels, and a total investment. The bot divides the range into equal intervals, places buy orders across those levels (for Long), and places reduce-only sell orders as buys fill. It does not average down aggressively — it simply works the grid inside the range.

What you are trying to do

You believe BTC will trade between $90,000 and $110,000 for the next few weeks. You create a Long GridBot Classic with 20 levels across that range. The bot places buy orders every $1,000 from $90,000 to $109,000. Each time a buy fills, a sell is placed $1,000 higher to capture that grid's profit. The bot repeats this without manual intervention.

Step-by-step: creating a GridBot Classic bot

1

Select exchange, name and pair

Pick the connection, verify balance, name the bot, search for BTC and confirm market data (price, min notional, max leverage).

2

Choose grid spacing mode

Arithmetic — equal dollar distance between each level (e.g. every $1,000). Simpler and more predictable. Geometric — equal percentage distance between each level (e.g. every 1%). Geometric grids are better for assets with wide price ranges because spacing adjusts proportionally.

3

Choose order sizing mode

Quote mode — each grid level gets the same USDC margin value. This is the most common and easiest to reason about. Base mode — each grid level buys the same coin quantity (e.g. 0.001 BTC each). Use base mode if you want consistent coin accumulation.

4

Set lower price and upper price

Define the range. Example: Lower = $90,000 · Upper = $110,000. The grid only operates inside this range. Orders below the lower bound or above the upper bound will not be placed. Set the range wide enough to be realistic for the next trading period, but not so wide that individual levels are too far apart to fill.

5

Set grid levels

The number of equal intervals across the range. Example: 20 levels across $20,000 range = $1,000 spacing per level. More levels = smaller spacing = more frequent fills but smaller profit per fill. Fewer levels = wider spacing = less frequent fills but larger profit per fill.

6

Set total investment / per-grid margin

In Quote mode: enter Total investment (USDC margin). The per-grid amount is automatically calculated as total ÷ grid levels. Example: $200 total ÷ 20 levels = $10 margin per level. At 2× leverage, each buy is a $20 notional BTC position. Verify this exceeds the market minimum notional.

7

Set direction and leverage

Long — bot accumulates BTC on buy levels and takes profit on sell levels above. Short — bot shorts on sell levels and takes profit on buy levels below. For BTC in a neutral-to-bullish range, use Long. Leverage: start at 1× or 2×. Grid bots rely on fills inside the range, not on leverage to generate returns.

8

Field reference

FieldWhat it doesBTC example
Grid spacingArithmetic = equal $ steps. Geometric = equal % steps.Arithmetic
Order sizing modeQuote = same USDC per level. Base = same coin qty per level.Quote
Lower priceBottom of the grid range. No buys placed below this.$90,000
Upper priceTop of the grid range. No sells placed above this.$110,000
Grid levelsNumber of equal intervals across the range.20
Total investment (USDC margin)Total margin. Per-level amount = total ÷ levels.$200
LeveragePosition multiplier per grid level.
DirectionLong accumulates on buys, profits on sells. Short is the inverse.Long
Best fit for GridBot Classic

GridBot Classic is best for assets in a well-defined trading range with good liquidity on both sides. BTC during a consolidation phase is a textbook example. Set the range using recent support and resistance levels and let the grid work until price breaks out.

Range breakouts

If BTC breaks above the upper price, all buys are filled and no new sell levels will be placed above the range. If it breaks below the lower price, the bot has no new entries to place. In both cases, consider stopping or editing the bot to adjust the range. Do not leave a grid bot running with the price far outside its configured range.

🟢 Red trades in the exchange = the bot is working correctly

If you see red trades in your exchange history — that is a good sign, not a bad one.

It means the grid bot executed a buy and a sell, collected the spread between them, and is ready to repeat the cycle. The red color is a display artifact of how perpetual futures exchanges report individual trade PnL. It does not mean you lost money on that grid level. Your bot is doing exactly what it is supposed to do.

Why does the exchange show it as negative?

Perpetual futures exchanges calculate the PnL of each sell order relative to the average entry price of the entire open position — not relative to the specific grid level that generated that sell. When your grid has accumulated multiple buy levels during a dip, the average entry of the whole position is higher than the price of the most recent sell. So the exchange shows that sell as a loss — even though the buy and sell at that specific grid level were profitable.

Think of it this way: the exchange does not know the bot's strategy. It only sees a position with an average entry of, say, $93,500 — and a sell that just fired at $93,000. From its perspective that looks like a loss. But the bot bought that specific slot at $92,000 and sold it at $93,000, earning $1,000 of spread on that level. The other slots bought at $93k, $94k, $95k are still open and waiting for their own sell levels as price keeps climbing.

Real BTC example: red trade, real profit

Setup

GridBot Classic · Long · BTC/USDC · Range $92,000–$100,000 · 8 levels · $200 total margin · 2× leverage · Arithmetic spacing ($1,000 per level). Per-level margin: $25. Per-level notional at 2×: $50.

BTC starts at $96,000 and drops. Four buy levels fill on the way down. Then price recovers to $93,000 and the first sell fires.

EventPriceWhat happensAvg entry of whole position
Buy 1 fills$95,000Bot buys $50 notional BTC (0.000526 BTC)$95,000
Buy 2 fills$94,000Bot buys $50 notional BTC (0.000532 BTC)$94,496
Buy 3 fills$93,000Bot buys $50 notional BTC (0.000538 BTC)$93,992
Buy 4 fills$92,000Bot buys $50 notional BTC (0.000543 BTC)$93,519
Price recovers$93,000Sell for level 4 fires at $93,000 (reduce-only)$93,519 (remaining 3 lots)

Now here is what the exchange shows — and what reality looks like side by side:

What the exchange reportsWhat actually happened on that grid level
Sell price $93,000 $93,000
Reference price used $93,519 (avg entry of whole position) $92,000 (the buy price of this specific level)
Calculation ($93,000 − $93,519) × 0.000543 BTC ($93,000 − $92,000) × 0.000543 BTC
Result shown −$0.28 🔴 (shown red) +$0.54 🟢 (actual grid profit)
The bot earned +$0.54 on that level. The exchange showed −$0.28. Both are technically correct — they are measuring different things.

The exchange measures each trade against the average of everything. The grid earns on each individual buy→sell pair. As price continues climbing to $94k, $95k, $96k, each of the remaining three open levels will also close — and each will collect another $0.50–$0.55 of grid profit. By the time all four levels have closed, the total realized profit is approximately +$2.00–$2.20 across the four pairs, plus any unrealized PnL on the remaining position while it was open. The exchange history meanwhile shows a mix of red and green depending on how far each sell was from the overall average at the moment it fired.

How to actually measure if your grid bot is profitable

Stop reading the exchange's per-trade PnL. Instead, look at these three numbers:

MetricWhere to find itWhat it tells you
Realized grid profitMyLiquidBot bot stats panelTotal collected from all closed buy→sell pairs. This grows every time a grid level completes a full cycle. This is real money.
Unrealized PnLExchange position panelOpen levels still waiting for their sell to fire. Negative while price is below average entry — completely normal during accumulation phases.
Total PnLRealized + UnrealizedThe true picture. As price sweeps through grid levels on recovery, unrealized turns to realized and the total climbs.

The one real risk: grid spacing too small for fees

Seeing red trades in the exchange is not a problem. The one actual problem is if your grid spacing is too narrow to cover exchange fees after leveraging. Each buy and sell costs approximately 0.02–0.05% in taker fees on Hyperliquid and Lighter. If spacing is smaller than twice the fee rate divided by leverage, the grid earns nothing after costs:

Minimum spacing to beat fees

Minimum spacing % > (taker fee % × 2) ÷ leverage

Hyperliquid taker ≈ 0.035% · Leverage 2× → minimum spacing = (0.035 × 2) ÷ 2 = 0.035%

At BTC = $95,000 → minimum $33 per level. If your range is $2,000 wide with 20 levels, that is only $100 per level — well above the floor. If your range is $200 wide with 20 levels, that is $10 per level — you will not cover fees at 1× leverage. Increase leverage or reduce the number of levels.

Neutral Grid Bot

Two-sided one-way range grid

Neutral Grid places a balanced ladder around the current price. It is designed for range rotation: the bot can work both sides of the range while keeping one-way position accounting and strict exposure limits.

What the bot is trying to do

You define a lower price, upper price and current/reference price. The bot builds levels across that range and sizes orders from a total quote budget. It does not use a permanent long/short bias like a directional grid; it tries to capture movement around the reference price while respecting max exposure.

Step-by-step: creating a Neutral Grid bot

1

Select connection and market

Choose an active Hyperliquid, Lighter, Aster, Bitunix or Pacifica connection, then select the market. For Aster, configure the market in One-way mode before creating the bot.

2

Define the range

Set Lower price, Upper price and confirm the current/reference price. Upper must be above lower, and the reference price is required because the ladder is anchored around it.

3

Choose spacing and levels

Arithmetic spacing uses equal dollar steps; geometric spacing uses equal percentage steps. More levels create denser orders but require enough per-order notional to satisfy the exchange minimum.

4

Set investment and multiplier

Total investment is the margin budget for the ladder. Size multiplier increases size farther away from the anchor; 1.0 keeps levels equal, higher values weight distant levels more aggressively.

Field reference

FieldWhat it doesBTC example
Lower / Upper priceDefines the active price range for the grid.$92,000 / $102,000
Current/reference priceAnchor used to split and size levels around the market.$97,000
Grid levelsTotal number of price levels. Must be at least 3 and can be dense if notional allows it.25
Total investmentTotal quote margin allocated to the ladder.$250
Size multiplierWeights levels farther from the anchor. 1.0 = equal sizes.1.2
Max exposureOptional cap that prevents the bot from exceeding a quote exposure limit.$300
Aster requirement

Neutral Grid requires Aster One-way mode for the selected market. If Aster rejects a mode change because positions/orders exist, close or cancel them before changing the setting.

QFL Simple Bot

Support/resistance zone entries with capped DCA

QFL Simple trades selected support or resistance zones. Instead of continuously averaging everywhere, it arms one or more zones and only places entries according to each zone's trigger, entry mode and DCA limits.

What the bot is trying to do

For a long bot, you select support zones where you want to buy weakness. For a short bot, you select resistance zones where you want to sell strength. Each zone has its own DCA plan, take profit, optional stop loss and max quote exposure.

Step-by-step: creating a QFL Simple bot

1

Select connection, market and side

Choose an active connection and market. Long bots can only use support zones; short bots can only use resistance zones.

2

Load or add zones

The form can request support/resistance zones from candle data by timeframe, or you can enter zones manually. Each zone has a low, high and level; duplicate zones are filtered out.

3

Pick the entry mode

Before zone can pre-position near the zone, inside zone waits until price is inside the range, and break zone waits for a deeper break condition.

4

Cap total and per-zone risk

Max total position caps all active zones together. Max zone position caps a single zone. The form checks that the selected risk limits fit together before the bot is created.

5

Set DCA and exits

Per zone, define base order amount, DCA count, DCA step, volume scale, take profit and optional stop loss. Start small because multiple zones can arm at once.

Field reference

FieldWhat it doesBTC example
Max active basesHow many zones can have an active base plan at the same time.2
Max total positionTotal quote exposure cap across active zones.$300
Zone low / highThe support/resistance price band.$94,800 / $95,400
Entry modeWhether entries fire before, inside or after breaking the zone.inside_zone
DCA orders / step / volume scaleHow many zone entries to place, how far apart they are, and how size grows.4 · 0.5% · 1.3×
Take profit / stop lossPer-zone exit rules after entries fill.1.2% TP / 3% SL
Zone risk

QFL Simple is safer when zones are selective. Too many close zones with high max active bases can behave like aggressive averaging. Keep max active bases low until you understand the behavior.

Market Maker Bot

Inventory-aware bid/ask quoting

Market Maker is a continuous quoting bot. Instead of creating a fixed grid range, it keeps one or more post-only buy orders and sell orders around the current market price. When one side fills, the bot updates inventory, protects the opposite exit side, and places the next quotes according to spread, cap and risk rules.

What the bot is trying to do

The goal is to earn the spread between buys and sells while keeping inventory under control. Example: if BTC trades near $100,000 and the configured distance is 34 bps, the bot may quote buys slightly below the market and sells slightly above it. If a buy fills, the bot now holds long inventory and prioritizes selling that inventory at a profitable/reducing price while still deciding whether it can safely place more buys.

Market Maker is not passive yield

It can lose money in strong trends, thin liquidity, toxic flow, liquidation events, exchange outages or API delays. Start small, use low leverage, and choose liquid markets. A wider spread is safer but fills less often; a tighter spread fills more often but may not cover fees and adverse selection.

The basic math

The bot tries to make each closed cycle exit better than its entry after fees. For a buy that later sells:

Simple formula

Gross profit ≈ (sell_price - buy_price) × base_amount
Fee cost ≈ buy_notional × maker_fee + sell_notional × maker_fee
Estimated net profit ≈ gross_profit - fees

Example: buy 100 LIT at 1.5000 and sell 100 LIT at 1.5030. Gross profit is (1.5030 - 1.5000) × 100 = 0.30 USDC. If maker fee is 0.018% per side, estimated fee cost is 150.00 × 0.00018 + 150.30 × 0.00018 = 0.054 USDC. Estimated net profit is 0.30 - 0.054 = 0.246 USDC.

This is why the configured spread is not clean profit. It must cover entry maker fee, exit maker fee, partial fills, possible slippage if you close at market and fast price movement between entry and exit.

High-level behavior

1

Reads the market and your live inventory

Each cycle reads the current market snapshot, open bot orders and the position recorded for this bot. If venue orders and local records do not match, the bot can pause placement until reconciliation protects the account.

2

Quotes both sides when flat

When inventory is near zero, it can place both bid orders (buys below/near market) and ask orders (sells above/near market). These are normally post-only limit orders so the bot tries to be maker, not taker.

3

Skews when inventory appears

If the bot becomes long, asks become the reducing side and bids become the risk-increasing side. If the bot becomes short, bids become the reducing side and asks become the risk-increasing side. The bot makes the reducing side easier and makes the risk-increasing side smaller, farther away, delayed or blocked depending on cap usage.

4

Protects exits and recovery lots

Reducing orders are intended to close inventory at a profit floor or tranche profit target. The engine tracks fills and recovery lots so a filled entry can be paired with an appropriate reduce-only exit instead of treating every trade as a new independent bot.

5

Refreshes stale quotes

If market price moves, existing quotes can become too far away, too close, below exchange minimums or stale. The bot cancels and replaces them when the configured refresh and replace rules allow it.

Step-by-step: creating a Market Maker

1

Select exchange, name and pair

Choose the saved Hyperliquid, Lighter, Aster, Bitunix or Pacifica connection, give the bot a clear name and select a liquid market. Avoid illiquid pairs for your first Market Maker.

2

Set low leverage

Market Maker can build inventory on either side. Start at 1× or 2×. Higher leverage increases liquidation risk when the market trends against accumulated inventory.

3

Choose a risk profile

Conservative is slower and uses smaller caps. Balanced is the normal default. Aggressive quotes faster and allows larger exposure, but should only be used when you understand the inventory risk.

4

Set order size and caps in USDC

Order size per buy/sell is the approximate notional of each individual order. It is not total investment. Max bot position value, Max short position and Max long position are exposure limits, also in USDC.

5

Set distance and refresh

Use Buy/Sell distance and Minimum allowed distance to control how far quotes sit from the market. Use Refresh period to control how often the bot is allowed to check and rearm quotes.

6

Review the preview and start small

The preview shows estimated bid/ask prices, per-order value and position guard. Confirm every order is above exchange minimum notional. Create the bot only after the preview makes sense.

Configuration reference

FieldWhat it meansPractical effect
Order size per buy/sell (USDC)Approximate notional for each individual quote.Bigger size earns/loses more per fill and reaches caps faster.
Max bot position value (USDC)Fallback max exposure if separate long/short caps are blank.The bot becomes defensive as usage approaches this cap.
Max short position / Max long position (USDC)Separate short-side and long-side exposure budgets.Useful when you want different risk limits for pumps vs dumps.
Buy/Sell distanceTarget total spread in bps. 34 bps = 0.34%.Wider = fewer fills but more room for fees/slippage. Tighter = more fills and more risk.
Minimum allowed distanceSmallest spread the bot may accept after automatic adjustments.Prevents quotes from becoming too tight to cover fees.
Refresh periodHow often the engine is allowed to refresh the bot.Shorter reacts faster; longer is calmer and reduces churn.
Risk profilePreset for spread, caps, refresh speed, quote levels and inventory behavior.Conservative protects first; Aggressive quotes more actively.
Reference priceMarket price used to estimate caps and preview orders at creation.Auto/live is preferred; manual is a fallback if market data is unavailable.
Cap stop modeWhat to do when inventory exceeds the configured stop zone.Default is usually to pause new entries; stronger modes can reduce or close exposure.

Breakeven, average price and extra entries

The bot tracks venue average and effective breakeven for diagnostics and exits. Current Market Maker behavior can allow risk-increasing buys or sells even when that quote does not improve the average/breakeven, as long as structural protections still allow it. That means a long-side buy may still be placed even if it is not a better average, and a short-side sell may also be placed symmetrically.

What still protects the account

Ignoring breakeven for a risk-increasing quote does not disable risk controls. Exposure limits, safety stops, cooldowns, exchange minimums, quote freshness checks and exchange reconciliation can still block, shrink or cancel orders.

Why the DEX can show a negative close even when bot trades were positive

A Market Maker can show many positive closed cycles while the account or final close is negative. The usual reason is unrealized inventory: the bot may earn small spread profits, but also accumulate a long or short position that moves against it.

ConceptWhat it measuresExample
Positive closed cycleOne paired entry and exit.Buy 1.5000, sell 1.5030: positive after fees.
Unrealized PnLInventory that is still open.100 LIT remains bought at 1.5000 and mark price drops to 1.4500: there is -5 USDC unrealized.
Negative DEX closeThe exchange calculates the total position being closed.If you market-close accumulated inventory below its average, the DEX can show a loss even if earlier lots earned spread.

Full example: the bot earns 20 cycles of +0.05 USDC each, total +1.00 USDC. During the downtrend it also holds 200 USDC of long exposure and price falls 2%. That inventory is roughly -4.00 USDC unrealized. Approximate result: +1.00 - 4.00 = -3.00 USDC. The user may feel that “all trades won”, but the overall account is negative because open exposure moved against them.

Do not confuse positive cycles with a positive bot

To evaluate a Market Maker, always read three things together: realized PnL, unrealized PnL/open inventory and current long/short exposure. If you only read closed operations, you can miss the risk that is still open on the DEX.

How to read the Market Maker stats panel

The Market Maker detail page separates strategy quality from current total bot result. This is intentional: a bot can capture spread on many closed lots and still be negative overall if the remaining inventory moved against it. Read the cards in this order:

Main total now

Total Profit Estimated = Accounting realized PnL + Inventory PnL - Estimated fees. This is the best dashboard estimate of what the bot is worth now if you stop it and close the current inventory near the displayed mark price. It is still an estimate, not exchange-equity reconciliation, because final slippage, exact fees, funding, deposits/withdrawals and manual trades can change the real account result.

StatWhat it meansWhy it is shownHow to use it
Current bot positionThe current inventory attributed to this bot. Positive means long, negative means short, and near zero means flat. Avg entry is the average entry of the inventory that remains open.Market Maker risk mostly comes from inventory. Before judging profit, you need to know if the bot still holds exposure.If position is large relative to cap, the bot may be in defensive mode even if closed cycles look good.
Grid ProfitSum of the profit realized by every close executed by the Market Maker. Each close contributes its result against the entry of the inventory it reduces.It measures profit realized by the bot's spread-farming activity.It is independent from accounting and does not subtract accounting fees. Fees and accounting PnL remain separate metrics.
Inventory PnLMark-to-market PnL of the inventory still open right now. Long inventory profits if mark price is above average entry; short inventory profits if mark is below average entry.It shows the risk that has not been realized yet. This is the number that can turn a good Grid Profit into a negative current bot result.When stopping or closing the bot, this is the open part that will become realized, subject to slippage and final fees.
Total Profit EstimatedThe headline current total estimate: realized accounting PnL plus current inventory PnL minus estimated fees.It answers the user question: “approximately how much is this bot up/down now if I stop and close it?” It includes reductions or cuts already realized in loss, which no longer appear inside open Inventory PnL.Use this as the main current total. Treat it as estimated, not final/exact exchange equity.
Closed cyclesNumber of completed matched cycles/lots. W/L shows winners and losers; matched % shows how much of the close history could be paired cleanly to an entry.Profit is more trustworthy when enough cycles exist and matching coverage is high.Low matched coverage means read Grid Profit with more caution and inspect the fill ledger/history.
Closed volumeTotal notional volume of the closed cycles used for cycle profit. Net cycle return is net cycle profit divided by closed volume.It normalizes profit by traded size. A $10 profit is different on $500 volume versus $50,000 volume.Use it to compare efficiency between bots or markets.
Since last syncAccounting/cycle replay since the last inventory sync or baseline. It may be smaller than all-time history after a resync.Sync rebuilds current inventory/accounting state without deleting older closed-lot history.If this is small after a recent sync, check Grid Profit/all-time closed lots before assuming history disappeared.
Fills processedHow many fills the bot replayed, plus all fill volume. It includes entries, exits, partial fills and activity that may still be open.It is an activity/coverage signal, not a profit number.High fill count with low profit can mean tight spread, fees, churn, or inventory dragging performance.
Accounting realized PnLClosed PnL reconstructed with position-average accounting from the complete fill history.It is an accounting metric independent from Grid Profit, even though both observe the same closes under different contracts.Do not use it to replace Grid Profit; use it for accounting reconciliation.
Most important reading rule

Grid Profit tells you whether the bot is capturing spread. Total Profit Estimated tells you the current estimated total of the bot if you stop/close now. A healthy strategy should ideally have positive/consistent Grid Profit, controlled Inventory PnL, and a Total Profit Estimated that is not being destroyed by open exposure or realized loss reductions.

Profit logic and fill ledger details

The lower profit logic block and filled-order ledger explain where the headline numbers came from. They are diagnostic tools for understanding why the bot is green or red, not separate “extra profit” to add again.

DetailMeaningWhy it matters
Real breakeven priceEstimated price where the open inventory would net to zero after profit already banked.It helps decide whether the remaining inventory can be closed without giving back previous profit. Direction matters: long inventory wants price above breakeven; short inventory wants price below breakeven.
Avg captured spreadAverage gross and net edge captured per closed lot, shown in bps. 100 bps = 1%.It shows whether the configured spread is wide enough after fees. If net bps is small or negative, the bot may be churning.
Gross vs net profitGross matched-lot profit minus estimated fees.Fees can make an apparently good spread much smaller. Always prefer net when judging performance.
Avg entry: venue vs bookCompares the venue/baseline average with the bot's internal book average. Drift means they differ.Small drift can be rounding; large drift can indicate manual exposure, missing fills, exchange sync changes or accounting baseline issues.
Trade PnL (lot)PnL of a specific closed lot against its own entry.This is the closest view of “bought lower, sold higher” for that lot.
Acct. PnL (avg)PnL of the same close against the global average position.It can be negative even when the lot PnL is positive. That is normal when the bot has accumulated inventory at different prices.
Position afterInventory remaining after that fill.It explains whether a fill reduced risk or left exposure still open.

In short: Total Profit Estimated is the familiar current total estimate, Grid Profit is the closed-cycle strategy score, and Inventory PnL is the open risk that can still change before the bot is fully closed.

How to read the bot state

StateMeaning
FlatNo meaningful inventory. The bot can normally quote both bids and asks.
Long inventoryThe bot owns base asset. Asks reduce risk; bids increase risk.
Short inventoryThe bot is short base asset. Bids reduce risk; asks increase risk.
Position guard green/yellow/redHow much of the configured cap is currently used. Yellow/red means the bot should become more defensive.
PausedAutomation stops placing new quotes and cancels bot orders, but live inventory can remain open.
Close positionCancels bot orders and sends a reduce-only market close for the current bot inventory.

Repairing a Market Maker

If the bot and the exchange show different positions or orders, open the Market Maker detail page and select Repair. The panel shows what needs attention and recommends an action. Repair restores normal bot management; it does not change the strategy or recover trading losses.

When Repair is useful

Use it when an exchange order is not reflected in the bot, a completed or canceled order still appears active, the displayed position does not match the exchange, a protective ReduceOnly order is missing or incorrect, or Resume remains blocked after order changes. Negative PnL, insufficient margin, minimum order size or a quote that has not filled are not repair problems by themselves.

OptionWhat it doesWhen to use it
Repair AllApplies all recommended corrections in one step.Use it when the panel detects more than one problem.
Reconcile ordersAligns the bot's open orders with the exchange.Use it when the two order lists do not match.
Settle ordersUpdates orders that have already filled, been canceled or completed.Use it when an old order still appears active in the bot.
Sync positionAligns the position shown by the bot with the exchange position.Use it only after confirming that the exchange position belongs to this bot.
Repair ReduceOnlyRestores or adjusts protective ReduceOnly orders for the current position.Use it when the position does not have the expected exit protection.
1

Check the exchange

Confirm the real position and open orders, especially if you also trade the same symbol manually or with another bot.

2

Open Repair

Review the comparison and the recommended action before continuing.

3

Choose the recommended option

Use one option for a specific issue or Repair All when the panel finds several issues.

4

Verify the result

Refresh the bot and the exchange. If they still do not match, do not repeat the action; contact support.

Repair can modify live orders

Review the recommendation before confirming. Repair does not close the market position, pause the bot, change the strategy or guarantee a profitable exit. Always verify the exchange afterward.

Market Maker V2 Bot

Preset-guided quoting, layered orders and matched exits

Market Maker V2 continuously places post-only buy and sell quotes around the current market price, but gives you a more guided setup than the original Market Maker. You choose a behavior, direction, order value, position limit and number of layers; the bot then keeps the quote structure updated while tracking the inventory created by fills.

Its purpose is still market making: try to capture the difference between entries and exits without allowing the open position to grow without control. V2 adds guided behaviors, optional adaptive protections, persistent matched exits, multi-layer quoting and a clearer view of open inventory, closed profit and current estimated result.

V2 is not guaranteed income

Post-only orders can reduce trading fees, but they do not remove directional risk. A strong trend can fill several layers on one side and leave the bot holding long or short inventory at a loss. Funding, liquidation, exchange limits, partial fills, fast markets and a market close can also change the final result.

Market Maker or Market Maker V2?

AreaMarket MakerMarket Maker V2
Setup styleDirect strategy configuration.Starts from a named behavior and then lets you review its visible settings.
Quote structureOne or more continuous quotes managed around inventory.Explicitly lets you choose 1 to 10 buy/sell layers and how spacing and size change with depth.
Exits after fillsProtective/reducing exits managed by the original strategy.Keeps a matching opposite-side exit for a filled entry according to the selected behavior.
Adaptive optionsOriginal Market Maker controls.Some behaviors expose Dynamic spread and/or Inventory price adjustment.
Detail pageOriginal accounting, cycles and repair workflow.Open quote book, recent fills, closed Grid Profit, open Inventory PnL, marked total and order activity.
LifecycleUses the original Market Maker controls.Behavior is fixed after creation; Pause and Delete have deliberately different effects.
They are separate bot types

V2 does not convert or upgrade an existing Market Maker. Existing bots keep their original behavior. Create V2 only when you want the V2 setup and controls.

Before you create one

Supported connections

V2 currently appears for active Hyperliquid, Lighter, Aster, Bitunix and Pacifica connections when the selected market is available.

Use a liquid market

A tight, deep order book makes post-only quoting more predictable. Thin pairs can move through several layers quickly and may be difficult to exit.

Avoid shared exposure

Do not run manual orders or another bot on the same account and pair unless you understand how the exchange combines positions. Shared exposure can make the displayed bot inventory harder to interpret.

Check exchange limits

Order value must remain above the market minimum after quantity and price precision are applied. The creation preview warns when the selected amount is too small.

Step-by-step: creating Market Maker V2

1

Select the exchange connection

Choose the saved account that will hold the position and orders. Only active, supported connections appear. Check that the account has enough available margin for several fills, not just one order.

2

Name the bot and choose the pair

Use a name that identifies the account, pair or purpose. Select a liquid market and verify the current price, minimum order and maximum leverage shown by the form.

3

Choose the Behavior

Start with Safe Starter or Balanced unless you already understand inventory risk. Selecting a behavior fills the visible spread, timing, limit and protection settings. Review them before continuing.

4

Choose Direction

Neutral opens buys and sells. Long intent opens buys first and uses sells as exits. Short intent opens sells first and uses buys as exits. Directional intent does not guarantee a directional profit.

5

Set order value and position limit

Order size per buy/sell is the approximate notional of each individual quote. Max bot position value is the exposure budget at which the bot becomes defensive or stops adding risk. Neither field is a wallet balance or a guaranteed maximum loss.

6

Choose layers

Use one layer for the simplest behavior. Two or more layers place additional prices farther from the market. More layers can create more simultaneous orders and can accumulate inventory faster if price moves through them.

7

Set trading mode and leverage

Use low leverage first. Choose Cross or Isolated according to your account risk preference. On exchanges that show Position mode, make sure One-way or Hedge matches how you want positions managed.

8

Review Fine tuning

Check spread, position zones, quote update settings, fill delay, fee estimate and any adaptive controls enabled by the selected behavior. Do not tighten several protections at once without understanding their combined effect.

9

Read the preview, then create

Confirm the estimated bid, ask, spread, direction, layer prices, order values and position-limit gauge. The preview is an estimate; live prices may change before the exchange accepts the orders.

The bot is created active

Market Maker V2 creation has no Dry Run switch. When you press Create Market Maker, the bot becomes active and may start sending real orders. Review every value and use a small size before confirming.

Behavior presets

Behavior is the starting personality of the bot. It fills a coordinated group of visible settings, but it is not a profit guarantee. The exact values are shown in the form when you select a behavior.

Behavior cannot be changed after creation

You can later edit many concrete values, but V2 preserves the behavior selected when the bot was created. If you need a fundamentally different behavior, create a new bot after safely stopping the old one.

BehaviorWhat it prioritizesAdaptive controls availableBest use
Pure Market MakerClassic, fixed bid/ask behavior. Its matching exits refresh on a normal order lifetime instead of being kept indefinitely.No Dynamic spread and no Inventory price adjustment.Users who want the simplest fixed quoting style and understand that exits can be refreshed.
Safe StarterWider prices, lower position limit, slower updates and earlier defensive behavior.Dynamic spread and Inventory price adjustment.First live runs and users prioritizing risk control over fill frequency.
BalancedMiddle ground between activity, distance and exposure. This is the default.Dynamic spread; no Inventory price adjustment.Normal use on liquid pairs after a small first test.
Active ScalperTighter prices, faster updates and more permitted exposure.No Dynamic spread and no Inventory price adjustment.Experienced users on very liquid markets. It can create more churn and inventory risk.
Inventory SaverTurns defensive earlier and tries to avoid letting one-sided inventory grow.Inventory price adjustment; no Dynamic spread.Users whose main concern is accumulated position rather than maximum activity.
Trend GuardMore caution, wider protection and slower re-entry when the market moves strongly.Inventory price adjustment; no Dynamic spread switch.Directional or fast markets where one-sided fills are the main risk.
Wide MakerWider distance, fewer replacements and lower order churn.No Dynamic spread and no Inventory price adjustment.Users willing to wait longer for fills in exchange for more distance.

How a normal V2 cycle looks to the user

1

Quotes are placed

The bot places the allowed bid and/or ask layers around the current price. Normal quotes are post-only so they try to rest on the order book instead of executing immediately as taker orders.

2

One side fills

A filled buy creates long inventory; a filled sell creates short inventory. Partial fills create only the amount actually executed, not the entire requested order.

3

A matching exit is kept

The opposite-side order is used to reduce the filled inventory. For example, a filled buy is paired with a sell exit. The selected behavior decides whether that exit stays until filled/stopped or follows a normal refresh lifetime.

4

Risk-increasing orders are reassessed

As position-limit usage rises, the bot becomes more cautious about adding further inventory. Reducing exits should remain the priority; a delay after a fill applies to adding exposure on the same side, not to a needed exit.

5

Old quotes are refreshed

Quotes may be replaced when the market has moved far enough or when an order reaches its configured age. A refresh does not mean a trade occurred; check Recent fills for executions.

Units: value, coin amount and bps

Order and position fields are quote-currency notional

Order size per buy/sell and Max bot position value represent market value, normally in USDC/USD. They are not margin, wallet balance or base-coin quantity. Approximate margin for an open position is notional ÷ leverage, but liquidation rules and exchange calculations still apply.

Unit or selectorMeaningWhat to remember
USD/USDC valueEnter the approximate notional value directly.This is the value the bot keeps as its main sizing reference.
Coin amountEnter an approximate base-asset quantity; the form converts it using the current reference price.If price changes, the equivalent coin amount changes. Recheck the value before creating.
bpsBasis points. 1 bp = 0.01%; 10 bps = 0.10%; 100 bps = 1%.Do not read 40 bps as 40%. It is 0.40%.
ContractsSome coin-margined markets display exchange quantity as contracts.Use the value preview and market minimum shown by the form; do not treat contracts as whole coins.

Basic setup fields

FieldWhat it doesPractical guidance
Exchange connectionSelects the account that sends orders and holds the resulting position.Use an active connection with enough available margin. The exchange and pair are not normally changed after creation.
Bot nameIdentifies the bot in lists, notifications and detail pages.Include the pair or purpose if you run several V2 bots.
PairSelects the market to quote.Prefer deep, liquid pairs. Do not select a pair only because it is volatile.
BehaviorLoads a coordinated starting set of distances, timing, position zones and optional adaptive controls.Review every populated value. The selected behavior remains fixed after creation.
Order size per buy/sellApproximate notional of each individual bid or ask layer.It is not total investment. With several layers, multiple orders can fill and accumulate more than one order value.
Max bot position valueMain exposure budget attributed to this bot.The bot becomes defensive before or around the configured zones. It is not a stop loss and does not guarantee the market cannot move beyond that value.
LeverageControls margin use and liquidation distance for the exchange position.Start at 1× or 2×. Higher leverage does not improve the spread; it mainly increases liquidation sensitivity.
Trading mode: CrossUses the exchange account's shared margin according to venue rules.A losing position can consume more shared collateral and affect other positions.
Trading mode: IsolatedLimits margin to the position where the exchange supports it.It can contain risk better, but liquidation may occur sooner if isolated margin is insufficient.
Position mode: One-way / HedgeShown for exchanges that support or require a position-mode choice. One-way nets the pair into one position; Hedge can keep long and short sides separately where supported.Use the mode that matches your account and do not change it casually while positions exist.
Reference priceCurrent market price used to prepare the creation preview and value-to-coin conversion.It is filled automatically. If live price is unavailable, refresh or select a market with valid data rather than creating from an unreliable preview.
Quote previewShows estimated bid, ask, spread, direction, layers and position-limit zones.It is a pre-creation estimate, not a promise of the exact exchange prices.

Direction

DirectionOpening behaviorMain risk
NeutralCan open bids and asks around the market while flat.It can still become long or short if only one side fills repeatedly.
Long intentUses buys as entries and sells as exits.A continued decline can accumulate long inventory and create unrealized loss.
Short intentUses sells as entries and buys as exits.A continued rise can accumulate short inventory and create liquidation risk.
Direction is not a price prediction

Long intent does not guarantee buys occur at the bottom, and Short intent does not guarantee sells occur at the top. It only controls which side can initiate exposure.

Buy/Sell layers and exit settings

FieldWhat it controlsExample / effect
Number of layersHow many bid and ask prices may be placed. Allowed range is 1 to 10.1 is simplest. 3 can show three progressively deeper buys and three progressively higher sells when both sides are allowed.
Distance between layersMultiplier applied successively to each gap between layers.1 keeps equal gaps. At 1.5, each new gap is 50% wider than the previous one; below 1, each new gap becomes tighter.
Size per deeper layerControls whether deeper layers stay the same size, become smaller or become larger.1 keeps sizes equal. Below 1 reduces deeper size. Above 1 increases deeper size and can reach the position limit much faster.
Keep exit orders forHow long a matching opposite-side exit is kept after an entry fills.0 means keep it until it fills or the bot is stopped. Pure Market Maker uses a normal finite order lifetime. The selected behavior sets this value at creation.
Post-onlyNormal V2 quotes are placed to rest on the book rather than intentionally crossing the market.It can reduce taker execution, but the exchange may reject or reposition an order that would immediately cross. A Delete close is a different market action.
Layers multiply possible exposure

A $20 order with 4 buy layers is not a $20 maximum position. If all four buys fill before exits, the bot may hold roughly $80 of position notional, subject to precision and position-limit behavior. Required margin then depends on leverage and exchange rules.

Spread, quote updates and adaptive distance

FieldWhat it controlsHow to interpret it
Buy/Sell distanceTarget total distance between the main buy and sell prices, in bps.Wider usually means fewer fills with more room for fees and movement. Tighter means more activity but more churn and adverse-selection risk.
Minimum allowed distanceSmallest total distance the bot may accept.It prevents automatic adjustments from leaving quotes tighter than your chosen floor. It is not guaranteed profit.
Order update intervalMinimum wait between quote checks. Current form minimum is 25 seconds.Shorter reacts sooner but can cancel/replace more. It does not guarantee an exact update every N seconds.
Reprice distanceHow far the market can move before existing quotes become candidates for replacement.Small values follow price more closely and increase churn. Large values leave orders resting longer.
Refresh orders afterMaximum normal age before an old quote can be refreshed even if the reprice threshold was not reached.Use a longer age for calmer behavior. A refresh is a cancel-and-new-quote event, not a fill.
Dynamic spreadAllows supported behaviors to widen the distance when recent movement or the visible order-book spread calls for more room.It is available only on behaviors that show the control. Turning it off keeps the configured static distance.
Maximum dynamic spreadUpper limit for automatic widening.Prevents the adaptive distance from growing beyond the value you accept.
Volatility windowAmount of recent price history considered by the Dynamic spread option.A short window reacts to recent bursts; a long window is smoother and slower to forget a move.
Volatility sensitivityHow strongly recent movement can widen the spread.Higher values react more strongly. It does not predict direction or prevent loss.
Book edgeExtra distance added beyond the current visible bid/ask gap when Dynamic spread is active.More edge is more conservative but can reduce fill frequency.
These are not the same timer

Order update interval controls how often the bot returns to review its quotes. Refresh orders after controls how old a normal quote may become before it is eligible for cancellation and replacement, even when the market has not reached the configured reprice distance. If both values are 25 seconds, the bot reviews roughly every 25 seconds and may refresh an order on the first review where it is already older than that age; it will not necessarily happen on the exact second because cancellation and the replacement order must also be processed. Using the same low value for both fields can increase churn. To keep fast reviews with fewer age-based replacements, you can combine a 25–30 second review interval with a 90–120 second maximum age. Matched exits that protect fills are managed separately and are not normally refreshed by this standard quote age.

Inventory and safety controls

FieldWhat it controlsImportant limitation
Defensive zonePercentage of the position limit where the bot starts becoming more cautious about adding exposure.It reduces risk-taking; it does not close the existing position.
Hard stop zonePercentage of the position limit where the bot stops adding further risk-increasing position.It is not a stop loss. Existing inventory remains exposed until an exit fills or you close it.
Inventory price adjustmentOn supported behaviors, shifts quote preference to help reduce an accumulated long or short position. 0 disables it.It can favor a reducing side, but it cannot guarantee a profitable exit or immediate fill.
Wait after a fillSeconds before adding more exposure on the same side after a fill.It should not prevent a risk-reducing opposite-side exit. A longer wait slows repeated same-side accumulation.
Minimum profit gapMinimum desired entry-to-exit gap after the configured fee estimate.It is a placement protection, not a guaranteed final profit. Partial fills, funding, market closes and real fees can change the result.
Fee estimateEstimated trading cost used by the bot's visible safety calculations.It does not change the exchange fee. Enter a realistic maker estimate for your account; 1 bp = 0.01%.
Safety bufferAdditional distance reserved for fast or unfavorable movement.A higher buffer is more conservative but can reduce fills. It is not a stop loss.
Do not trade belowOptional lower market boundary for opening new exposure.Below it, new risk-increasing entries stop. It should not be treated as an automatic market close.
Do not trade aboveOptional upper market boundary for opening new exposure.Above it, new risk-increasing entries stop. It does not guarantee the price cannot move higher.

How settings interact

Order size + layers

Order size is per layer. Increasing both at once can multiply potential fills and use the position limit much faster.

Tight spread + fast updates

This can increase activity, but also cancellations, fees, one-sided fills and inventory churn. More activity is not the same as more net profit.

Small cap + large order

One fill can consume much of the permitted exposure. Defensive or hard zones may activate immediately after the first order.

Dynamic spread + maximum

Dynamic spread may widen when conditions change, while Maximum dynamic spread limits how far it can go.

Fill delay + exits

The delay slows another same-side entry; it does not mean the bot should wait before placing or keeping the opposite-side reducing exit.

Price boundaries + open inventory

Floor and ceiling control new exposure. They do not remove inventory already opened and should not be mistaken for TP/SL.

Editing an existing V2 bot

The Edit page lets you adjust the concrete fields that are shown there, including name, direction, quote size, target/minimum spread, position limit and zones, layers, update interval, leverage and the adaptive fields supported by the original behavior. Exit retention remains governed by the behavior selected at creation.

SettingCan it change?Reason / guidance
BehaviorNoIt is fixed at creation so the bot does not silently change its operating personality. Create a new bot for another behavior.
Exchange connection and pairNot from the normal Edit formMoving a live bot to another account or market would break the meaning of its existing position and fills.
NameYesSafe organizational change.
Direction, order size, spread, layers and capYes, where shownChanges affect future quote decisions. Review open orders and inventory before making a large change.
LeverageYes, where supportedChanging leverage while exposure exists can materially change liquidation risk. Verify the exchange after saving.
Edit conservatively

Change one group at a time and then watch the next quote refresh. Do not simultaneously increase order size, number of layers, leverage and position limit on an active bot.

How to read the V2 detail page

Main cardWhat it meansHow to use it
Current bot positionCurrent inventory attributed to V2. Positive is long, negative is short, and zero/near zero is flat. Avg entry is the average of inventory still open.Read this first. A bot can have positive closed profit while still holding a losing position.
Grid ProfitNet realized result from V2 closes after the fees available to the fill history.Shows what closed portions have earned or lost. It does not include the market movement of inventory still open.
Inventory PnLEstimated mark-to-market result of the currently open inventory.This is the changing, unrealized part. It can reverse quickly and becomes realized when the position closes.
Total ProfitApproximate current total: Grid Profit + Inventory PnL.Use it as an estimate, not exact account equity. Final close slippage, funding, incomplete fee data, deposits, withdrawals and manual trades can differ.

Open quotes, fills and activity

Panel / columnMeaning
Open quotesOrders currently managed by the bot. Buys and sells are shown around the current market price.
Buy/Sell priceLimit price of each live quote.
Base / QuoteCoin quantity and approximate market value of the order.
Distance to marketHow far the order currently sits from the displayed market price, in bps.
Order statusPending/Processing means it is still being handled; Open means it is live; Partial means only part filled; Canceling means removal is in progress.
Recent fillsActual executed trades. This—not order activity—is where you confirm that a trade occurred.
ClosedAmount of prior opposite inventory reduced by that fill.
Entry pricePrice used to evaluate the portion that was closed.
FarmedApproximate spread captured by the closed portion, shown in bps.
Realized PnLProfit or loss created by the closed portion.
FeeRecorded or estimated trading cost associated with the fill.
Position afterInventory remaining after that fill.
Recent order activityPlacements, cancellations and exchange outcomes. A Placed result means an order was accepted/opened, not that it filled.
Strategy settingsCollapsed summary of the effective distances, zones, layers, fee estimate and other visible settings.
Lower fill summary

Volume is traded notional; Closed trades counts closing events; Gross realized is before fees; Fees is recorded/estimated cost; Realized net is gross minus those fees; Unrealized PnL is open inventory; and Marked total combines realized net with open inventory at the displayed mark.

Statuses and controls

Status or actionWhat it meansWhat the user should do
ActiveThe bot may place, keep and refresh quotes.Monitor open quotes, position-limit usage and inventory PnL.
StartingInitial setup is still being prepared.Wait and verify the exchange before repeating any action.
StoppingA Pause/Power off is canceling bot orders safely.Wait until Paused. Do not press Pause repeatedly.
PausedNew quoting is stopped and bot orders have been canceled, but existing market inventory can remain open.Check the exchange position. PnL and liquidation risk continue while inventory is open.
DeletingDelete is canceling orders and closing remaining bot inventory before removing the bot.Wait for completion and verify the market close on the exchange.
ErrorAn action or exchange response needs attention.Check the exchange and recent activity; contact support rather than repeating destructive actions.
EditChanges the concrete settings available for this bot.Review open position and orders first. Behavior remains fixed.
PauseCancels bot-managed orders and stops new quoting without automatically closing inventory.Use it when you want automation stopped but will manage or keep the position yourself.
Power offFor V2, follows the same safe-stop behavior as Pause.Do not assume it closes the position. Verify the exchange afterward.
ResumeRestarts quoting after the stop has fully completed.Wait until status is Paused and cancellations have finished; then confirm open inventory before resuming.
DeleteCancels V2 orders, sends a reduce-only market close for remaining bot inventory, and removes the bot only after shutdown completes.Use only when you intend to exit. A market close can realize loss, fees and slippage.
Pause and Delete are not the same

Pause/Power off leaves the market position open and may leave it without bot-managed exit orders. Delete attempts to close the remaining position at market before removing the bot. If you only want to stop automation, use Pause. If you want to exit and remove the bot, use Delete and verify the exchange.

Main risks

One-sided inventory

A trend can fill buys without sells or sells without buys. Closed spread profit may be smaller than the unrealized loss on the remaining position.

Leverage and liquidation

Position limits control intended exposure, but leverage and fast price movement can still create liquidation risk before a profitable exit fills.

Fees, funding and churn

Many small replacements or fills can look active while producing little net profit. Funding is separate from captured spread.

Minimum order and precision

A layer can be rejected if its final quantity/value is below exchange rules after rounding, even when the approximate preview looked close.

Partial fills

An order can fill only partly. The live position is based on executed quantity, not the original requested quantity.

Manual interference

Manual trades or another bot on the same account/pair can combine with V2 exposure and make inventory and PnL attribution less clear.

Pause exposure

Paused does not mean flat. Inventory can continue gaining or losing, and bot exits have been canceled during the pause process.

Market-close slippage

Delete closes remaining inventory at market. In a fast or thin book, the final execution can be worse than the displayed mark.

Safe first-run checklist

1

Use a dedicated, liquid pair

Confirm no manual order or other bot is already managing the same account and market.

2

Use Safe Starter or Balanced

Review every populated field instead of trusting the preset name alone.

3

Start with one layer

Add layers only after you understand how quickly the first configuration accumulates inventory.

4

Use the smallest valid order and 1×–2× leverage

Keep enough free margin for multiple fills and adverse movement.

5

Check both MyLiquidBot and the exchange

Confirm live orders, fills, position size and average entry match what you expect.

6

Know your exit action before starting

Pause stops automation but leaves inventory; Delete exits at market and removes the bot after completion.

Best reading order

First read Current bot position, then Inventory PnL, then Grid Profit, and finally Total Profit. This prevents closed spread gains from hiding an open position that is losing more.

Delta Neutral Arbitrage Bot

Delta Neutral Arbitrage opens two opposite legs so that one side's price movement is intended to offset the other. It can pair a long spot position with a short perpetual position, or use opposite perpetual positions. The objective is to reduce directional exposure while seeking a favorable funding and entry-price difference. It is available to every registered user; no special plan feature is required.

Delta-neutral does not mean risk-free

The legs may fill at different times or prices. Funding rates can reverse, one venue can delay or reject an order, and fees, slippage, mark-price differences or liquidation on one leg can exceed the expected return.

How it works

Two opposite legs

Leg A and Leg B use active exchange connections and opposite exposure. With spot + perpetual, spot stays long and the perpetual leg stays short. With perpetual + perpetual, the sides must be opposite.

Capital and ratios

Total capital is divided by the selected Leg A and Leg B ratios. The default 1:1 ratio aims for balanced notionals. Perpetual leverage changes required margin; it does not increase the configured capital allocation by itself.

Entry gap

The target gap is the minimum configured entry condition between both legs. The live preview shows the current gap, funding estimates and estimated opening fees before you create the bot.

Execution sessions

Creating the bot saves the configuration. Opening a session starts the paired entry. The bot executes progressively and shows each leg's progress, confirmed fills, current imbalance and session status.

Closing

A normal close session waits for the configured close gap; a quick close prioritizes exiting. Monitor the session until both legs are terminal and confirm the real positions on both exchanges.

Performance

Read trading PnL, funding PnL, fees, open inventory and both exchange positions together. A positive funding estimate is not a guaranteed total profit.

Recommended first use

1

Prepare both connections

Use active connections with enough available balance for each leg. Start with liquid markets and verify that the selected spot or perpetual market exists on each connection.

2

Review the screener and preview

Use the AI Studio screener as an initial filter, then review current gap, funding direction, opening fees and liquidity. A high displayed funding rate can change before the next payment.

3

Start small and balanced

Use a conservative total and 1:1 ratios for the first session. Keep free margin on both accounts so one leg can withstand price movement while the other catches up.

4

Monitor both venues

Check session progress in MyLiquidBot and confirm positions directly on both exchanges. If you manually alter one leg, the pair is no longer reliably neutral.

Stop / Cancel is not a position close

Stopping an active session only stops further work in that session. It does not automatically close inventory already acquired. Use the close action and verify both exchange positions before considering the strategy finished.

Managing bots: edit, add investment, pause and close

After creating a bot, detail-page actions are as important as the initial form. Read the confirmation text before clicking: some actions only stop automation, while others close the market position.

Edit

Lets you change configuration. If the bot has an open position, some strategies block dangerous changes or only allow range expansion without breaking the existing position.

Add investment

Adds capital to the active bot. In DCA it increases the next buy size; in Martingale/GridMart/GridMart Classic it increases order/safety budget; in GridBot Classic it can split between grid and position depending on the selected option.

Pause

Stops automation and, in Classic strategies, may cancel bot orders while keeping the position open. PnL keeps moving because the position is not closed.

Resume

Resumes the bot after a pause. If cancellations are still pending, wait until they finish to avoid duplicate orders.

Power off and close / sell / buy

Closes the position at market with a reduce-only order and then cleans pending orders. Use it only when you understand that you are exiting the trade.

Force delete

Deletes local records for a stuck bot. Do not use it as a normal close because it may not cancel real exchange orders.

How to add investment without confusion

If you want the bot to buy more position now, look for position/top-up options. If you only want future orders to be larger, add to the grid/safety budget. When in doubt, use a small amount and review open orders.

Portfolio

Portfolio is the account overview. It answers: how much equity is connected, how much is available, what positions are open, and where exposure is located.

Total equity

Estimated total account value across loaded connections. It can change because of PnL, deposits, withdrawals or API read differences.

Available balance

Capital/margin available for new trades after current positions and orders are considered.

Open positions

Current long/short exposure, size, entry and unrealized PnL when the exchange provides it.

Equity curve

A historical chart built from periodic profile snapshots. It filters partial reads and colors the curve red when the latest value is below the first point in the selected range.

Leaderboard

The Leaderboard helps compare bot performance. Use it to inspect strategy behavior, not as a guarantee that copying a bot will produce the same results.

ROI

Return relative to configured investment or tracked equity. Useful for comparing efficiency across different bot sizes.

AUM / investment

Capital associated with the bot. For Classic strategies this should align with configured investment, not inflated notional.

Strategy filter

Filter by bot type to compare similar logic instead of mixing Martingale, grid and DCA behavior.

Copy/create flow

When available, use leaderboard data as a starting point, then adjust risk parameters to your own account size.

Manual Trade

Manual Trade is for direct user-controlled actions. It is intentionally separated from bot runtime so manual close, TP, SL and cancellations do not pollute bot order state.

1

Select account and market

Choose the exchange connection and pair for a new manual order. Open manual orders are shown together so you do not need to switch DEX just to see pending TP/SL orders.

2

Choose order action

Use Buy/Sell for new manual entries, Close Position for reduce-only market exits, Take Profit for trigger/reduce-only profit exits, and Stop Loss for trigger/reduce-only protection where supported.

3

Review quantity and trigger

Quantity controls how much exposure is affected. Trigger price controls when TP/SL activates. A wrong trigger can close too early or not protect you.

4

Cancel manual TP/SL if needed

Open manual TP/SL orders show a Cancel action when the platform has the exchange order id and the order is still active.

Manual vs bot orders

Manual orders are tracked in the manual trade request log, not in bot open orders. This separation prevents a manual TP/SL from being mistaken for a bot-managed grid order.

AI Studio

AI Studio is the MyLiquidBot lab. It is used to test ideas, review backtests, visualize candles and compare configurations before risking real money.

Backtests

Simulate strategies such as GridBot Classic or TDCA on historical data. A backtest helps you understand behavior, but it does not guarantee future results.

Candle preview

Shows whether the exchange returned enough data for the selected range. If there are no candles, the backtest will not be reliable.

Funding arb screener

Finds opportunities between exchanges for the arbitrage bot. Use it as an initial filter, not as an automatic entry signal.

Saved results

Some backtests are processed in the background. You can wait for the status in the interface and return to the result when it finishes.

Preferences

Preferences define the default experience so you make fewer repetitive choices when creating bots or trading manually.

Default exchange

Preselects your preferred DEX/CEX in forms.

Quote asset

Default currency for markets and sizing, usually USDC or USDT depending on exchange.

Timezone

Makes timestamps easier to read in bot history, fills and charts.

Language

Controls supported interface labels. Trading terms may remain in English when they are exchange-standard.

UI density

Compact mode shows more data; comfortable mode gives more spacing.

Notifications

Controls whether fills and important events should be sent through connected notification channels.

Telegram

Telegram linking lets the platform send alerts outside the web interface. This is useful for fills, bot state changes, and operational warnings.

1

Open Account → Telegram

Use the Telegram section in your profile to start linking.

2

Generate link

The platform creates a unique link/token for your account. Do not share it.

3

Confirm with the bot

Open Telegram, confirm the link, then return to MyLiquidBot and verify the status changed.

Security

Security is part of trading operations. A compromised account can create unwanted orders even if withdrawals are disabled.

Password hygiene

Use a unique password and rotate it if you suspect exposure.

Email verification

Keep access to your email. It is used to confirm account ownership and sensitive flows.

Trading-only API keys

Disable withdrawals, avoid broad permissions, and rotate keys after testing.

Small first orders

Every new connection or strategy should be tested with small size before scaling up.

Frequently Asked Questions

What do I need to start using MyLiquidBot?

You need an EVM wallet such as MetaMask or Rabby, an account with funds on Hyperliquid, Lighter, Aster, Bitunix or Pacifica, and a MyLiquidBot account. First deposit funds on the exchange; then connect the API in MyLiquidBot. If there is no balance on the exchange, the bot has no capital to trade.

How do I add my API keys?

Log in, go to Account → Exchanges → Add connection, choose the exchange and paste the fields exactly as the exchange shows them. Always create keys without withdrawal permission. After saving, use the test button. If adding keys failed for you before, create the connection again from scratch because validation flows were fixed.

Why do I need to approve fees?

The approval lets the exchange attribute your trades to MyLiquidBot and charge the platform fee. It is not a withdrawal and it does not transfer your funds to MyLiquidBot. On Hyperliquid/Aster this is Builder Fees; on Lighter this is Integrator Fees. Bitunix does not use wallet fee approval. Optional subscriptions will be available for users who prefer lower per-operation commissions.

Can I copy bots from other users?

Yes. Leaderboard / Copytrading lets you use community configurations as a starting point. Do not copy size blindly: adapt investment, leverage and risk to your own account balance.

Does MyLiquidBot custody my funds?

No. Funds stay on the connected exchange/wallet account. MyLiquidBot sends trading instructions through API credentials but never holds or moves your balance.

Can the platform withdraw my funds?

Not if you connect with trading-only credentials. Never paste API keys or private keys that have withdrawal permissions. For Hyperliquid and Lighter, use API wallet keys that are authorized only for trading.

What is the difference between margin and notional?

Margin is the actual USDC deducted from your balance when an order fills. Notional is the total value of the position controlled by that margin (margin × leverage). Example: $25 margin at 5× leverage = $125 notional BTC position. Liquidation risk is based on notional relative to your account balance, not just margin.

Why does the bot not place orders immediately after creation?

Bots run on periodic engine cycles (typically every 1–5 minutes). After creation, wait for the next cycle. Some bots also wait for inventory fills before placing reduce-only exits — this is intentional to avoid invalid reduce-only orders that could increase exposure.

What is Power Off vs Pause vs Close?

Pause (GridMart Classic) — cancels active bot orders but leaves the market position open. PnL continues to change. Power Off / Stop — stops bot automation. Depending on the action button, it may leave the position open or close it. Always read the button label carefully before confirming. Close / Sell — exits the market position. Check the label to confirm whether it is a market close or reduce-only.

Can I use manual TP/SL alongside a bot?

Yes, but with caution. Manual TP/SL orders placed from the Trade panel are tracked separately from bot-managed orders. A manual TP that fires will close the position the bot is managing, which may confuse the bot's state on the next cycle. If you use manual exits, pause or stop the bot first.

Why does Portfolio equity change without any bot trade?

Portfolio can change due to unrealized PnL on open positions, funding fees, deposits, withdrawals, exchange mark price changes, or partial API reads. The equity curve filters incomplete reads where possible to avoid spikes.

My Lighter bot fails with a nonce or signing error. What do I do?

Stop the bot immediately. Go to Account → Exchanges, open the Lighter connection, and re-test it. If the test fails, re-enter the credentials. Also verify that the leverage for the target market has been set using the Manage page before creating bots. Nonce errors usually indicate a stale or invalid signing key.

Why does GridBot Classic show orders but no fills?

The grid only fills when price moves inside the configured range and touches a level. If BTC is trading outside the lower–upper range you set, no orders will be triggered. Check that the current price is inside the grid range. If the market has moved outside, consider editing the bot to shift the range, or stopping it.

Disclaimer

Not financial advice

Nothing in this documentation, on the MyLiquidBot platform, or in any associated communication (including Telegram support groups) constitutes financial advice, investment advice, trading advice, or any other kind of advice. All content is provided for informational and educational purposes only. You are solely responsible for your own trading decisions.

Trading risk

Trading perpetual futures and other leveraged instruments involves substantial risk of loss and is not appropriate for all users. You may lose some or all of your capital. Past performance of any bot, strategy, or leaderboard result does not guarantee future results. Market conditions, volatility, liquidity, and exchange behavior can change at any time in ways that negatively affect bot performance.

Automation risk

Bots execute automatically based on the parameters you configure. Once active, a bot may place orders without your direct intervention. MyLiquidBot is not responsible for losses resulting from bot misconfiguration, parameter mistakes, unexpected market movements, exchange downtime, API failures, network interruptions, or any other technical or market event. You are responsible for monitoring active bots and for stopping or modifying them when conditions change.

Leverage and liquidation risk

Using leverage amplifies both potential gains and potential losses. A leveraged position can be liquidated — meaning your entire margin for that position is lost — if the market moves sufficiently against you. Higher leverage, more grid levels, and larger multipliers all increase liquidation risk. Always calculate worst-case exposure before creating a bot and never allocate capital you cannot afford to lose.

Exchange and custody risk

MyLiquidBot does not custody your funds. Your balance remains on the connected exchange or decentralized protocol. MyLiquidBot is not responsible for exchange insolvency, hacks, smart contract bugs, network failures, or any event that affects the exchange or protocol where your funds are held. Use trading-only API credentials and never grant withdrawal permissions to the platform.

No guarantees

MyLiquidBot makes no representations or warranties, express or implied, about the accuracy, completeness, or reliability of any information, bot strategy, or example configuration shown in this documentation. Strategies described here (TDCA, Martingale, GridMart, GridBot Classic, etc.) are tools, not guaranteed profit systems. Any example values (leverage, amounts, percentages) are illustrative only and are not recommendations for your specific situation.

Regulatory compliance

Automated trading may be subject to legal restrictions in certain jurisdictions. It is your responsibility to ensure that your use of MyLiquidBot complies with all applicable laws and regulations in your country or region, including any rules related to futures trading, derivatives, or automated systems. MyLiquidBot does not provide legal or regulatory advice.

By using MyLiquidBot you acknowledge

That you have read and understood this disclaimer in full. That you accept full responsibility for your trading decisions and any losses incurred. That you understand the risks of leveraged trading, automated bots, and decentralized exchanges. That you are using the platform voluntarily and at your own risk.