bleeding edge alpha
← All Tutorials
Tutorial 4

MattDOM Execution Automation

MattDOM's AUTOMATION menu contains tools for repeating common execution actions: Limit Chaser, Limit Stalker, Step Ahead, Iceberg, Tape Hits, and Liq Guard. These tools submit live orders without confirmation prompts. Learn execution tools with the smallest venue-valid size before using normal size, and verify Liq Guard against the venue's own position and conditional-order displays.


1. Before using automation

Complete these checks before starting any tool:

  1. Select the intended symbol.
  2. Open VENUES and enable only the accounts that should trade.
  3. Confirm every intended venue shows LIVE.
  4. Enter the order quantity in SIZE (COIN).
  5. Check position mode, leverage, available collateral, current positions, and existing orders.
  6. Keep each venue's application open as a backup for canceling orders or closing risk.

Automation applies independently to every connected, available venue selected under VENUES. If three venues are enabled, one automated submission cycle can create three orders. The displayed size is not divided between venues. Liq Guard is the exception: it reads the actual position size from each venue and does not use SIZE (COIN).

Open AUTOMATION in the top toolbar to configure and start a tool. A running tool changes its button from START to STOP. The number beside AUTOMATION shows how many tools are active.

Your configuration is saved to your signed-in MattDOM user profile. Chaser, Stalker, Step Ahead, Iceberg, and Tape Hits never restart themselves after a reload. An explicitly started Liq Guard is remembered in that browser and resumes for the same symbol and enabled venues after account state loads; select STOP before reloading if you do not want it to resume.


2. Limit Chaser

Limit Chaser keeps a limit order at the current best price on its side of the book. It cancels the previous working order and submits a replacement when it refreshes.

Configure it

  • SIDEBUY follows the best bid; SELL follows the best ask.
  • REFRESH MS — time between cancel-and-replace cycles. The minimum is 250 milliseconds.
  • SIZE (COIN) — quantity used for each working order.

Start and stop

  1. Select BUY or SELL.
  2. Choose a refresh interval appropriate for the venue's order limits.
  3. Select START.
  4. Watch the automation status and the working-order line.
  5. Select STOP to stop refreshing and request cancellation of the currently tracked order.

Example

With BUY, size 0.001 BTC, and refresh 750 ms, the chaser repeatedly tries to rest 0.001 BTC at the best bid. When the bid moves, the next cycle cancels the old quote and submits at the new best bid.

Important behavior

  • A chaser is willing to execute. It does not guarantee maker status.
  • A fast market can trade through the order before its cancellation arrives.
  • Partial fills can occur during cancel-and-replace cycles. Watch total filled quantity and position size rather than assuming every cancellation left the full quantity untouched.
  • Short refresh intervals consume venue request capacity quickly and can produce rate-limit rejections.

Use a chaser when execution is desired but you want to begin with a limit order at the near touch instead of immediately sending a market order.


3. Limit Stalker

Limit Stalker maintains one limit order or a multi-level ladder at a configurable distance from the market. The complete ladder follows the BBO while remaining on the selected side of the book.

With more than one level, the configured size is submitted at every level and on every enabled venue. For example, size 0.1 with four levels works up to 0.4 coin per venue.

Missing ladder levels are queued in venue-specific chunks. Each venue uses its own configured orders-per-second and in-flight limits, so faster venues can build their ladders without waiting for slower venues. Placement can still take more than one second when the ladder contains more levels than a venue permits in one rate-limit window.

Configure it

  • SIDEBUY follows below the best bid; SELL follows above the best ask.
  • DISTANCE TICKS — number of inferred minimum market ticks between the first level and the BBO. The minimum is one tick. DOM row grouping does not change this tick size.
  • LEVELS — number of working orders in the ladder (one through 20). Each level uses SIZE (COIN).
  • STEP TICKS — distance between adjacent ladder orders. The entire ladder follows the BBO.
  • REFRESH MS — time between checks for a changed ladder target.
  • SIZE (COIN) — quantity of each ladder level, not the total ladder quantity.

The target prices are:

stalking buy  = best bid - (distance ticks × tick size)
stalking sell = best ask + (distance ticks × tick size)
next buy level  = prior level - (step ticks × tick size)
next sell level = prior level + (step ticks × tick size)

Example

Suppose the best bid is 100.00, best ask is 100.01, and the tick is 0.01.

  • A one-level buy stalker at three ticks targets 99.97.
  • A three-level sell stalker at three ticks with a two-tick step targets 100.04, 100.06, and 100.08.

How to use it

  1. Choose the side, initial distance, number of levels, and step between levels.
  2. Start with a moderate refresh interval such as 1000 ms.
  3. Select START.
  4. Increase the distance if fills are too frequent; decrease it if the order is too far from the market.
  5. Select STOP when the quote is no longer wanted.

Repricing and rate limits

On each refresh, MattDOM recalculates every target from the latest BBO. Orders already resting at a still-valid ladder price are left alone so they retain queue priority. BloFin places initial and refill ladders with its native batch-order request. For repricing, BloFin cancels the old managed IDs and verifies that all of them have disappeared from its active-order response before posting the replacement batch; a confirmation timeout pauses replacement instead of overlapping ladders. OKX and Hyperliquid move a complete changed ladder with their native batch-amend request, retaining the exchange order IDs. Bitunix, Coinbase, and Nado batch-cancel obsolete levels before replacements are submitted; PopDEX uses the safe order-scoped fallback because its broad on-chain cancel operation is not limited to this automation run. Other missing orders are dispatched concurrently in chunks sized to each venue's order-rate allowance; the shared dispatcher also enforces that venue's maximum in-flight request count.

Distance reduces execution probability but cannot prevent execution. The market can move through a resting stalker between refreshes, during exchange latency, or while a cancellation is in flight. A cancel-and-replace cycle can also leave partial fills. MattDOM does not represent this control as a guaranteed post-only order.


4. Step Ahead

Step Ahead improves a venue's book only when its spread contains an empty price tick. A buy is posted one tick below that venue's best ask; a sell is posted one tick above that venue's best bid. The order never intentionally crosses the opposite BBO.

Step Ahead calculates the BBO separately from the venue attribution in the consolidated book. A gap on one venue does not cause an order on another venue whose spread has no gap.

Configure it

  • SIDE — direction of the resting order.
  • FILLS — completed fills required on each enabled venue before that venue stops.
  • CHECK MS — how often open orders and spread conditions are checked.
  • SIZE (COIN) — quantity of each order.

The target prices are:

Step Ahead buy  = venue best ask - one tick
Step Ahead sell = venue best bid + one tick

Example

Suppose a venue has a best bid of 100.00, a best ask of 100.04, and a tick size of 0.01.

  • A Step Ahead buy posts at 100.03.
  • A Step Ahead sell posts at 100.01.

If the opposing BBO moves while the order is open, MattDOM verifies that the order is still live, cancels it, and replaces it at the new one-tick-ahead price. It does not submit the replacement when cancellation fails, avoiding an intentionally duplicated working order.

Fill cycle

Only one Step Ahead order rests on each venue at a time. After it fills, that venue's fill counter advances. MattDOM submits another order only when the venue again has a qualifying spread. A FILLS value of 3 with two enabled venues targets three fills on each venue, not three fills divided between them. Each venue stops independently at its target; the tool stops after all enabled venues finish.

Bitunix fills are confirmed with order status. Connectors that expose only their current open-order list infer completion when the tracked order disappears, so manually canceling a Step Ahead order outside MattDOM can be counted as a fill. Use the tool's STOP button instead, and verify the final count against venue fill history.

Selecting STOP cancels any tracked live orders. Fast BBO changes, cancellation latency, partial fills, venue tick rounding, and simultaneous market updates can still produce execution at a price different from the one most recently displayed.


5. Iceberg

The Iceberg tool exposes one slice at a time. When MattDOM no longer sees the tracked slice among open orders, it submits another slice. This repeats until you stop the tool.

Configure it

  • SIDE — side of every slice.
  • SLICE QTY — quantity of each visible slice. When blank, MattDOM uses SIZE (COIN).
  • PRICE: BBO — buy slices use the best bid and sell slices use the best ask.
  • PRICE: EXECUTABLE — buy slices use the best ask and sell slices use the best bid.
  • CHECK MS — interval for refreshing account state and checking whether the slice remains open.

Placement fallback

When a slice placement fails, MattDOM retries at the next best executable price:

  • A failed buy is retried at the best ask.
  • A failed sell is retried at the best bid.

The retry can execute immediately and can experience slippage if the book changes before the venue processes it.

How to use it

  1. Decide the intended total quantity outside MattDOM.
  2. Choose a much smaller slice quantity.
  3. Select BBO for passive attempts or EXECUTABLE for aggressive slices.
  4. Select START.
  5. Track cumulative fills and position size at the venue.
  6. Select STOP as soon as the desired total quantity has traded.

Critical quantity rule

MAX ORDERS does not apply to Iceberg. It continues replacing slices until manually stopped. MattDOM does not ask for a total target quantity, so the operator must monitor cumulative execution.

Do not manually cancel a working iceberg slice unless you also stop the Iceberg tool. A canceled order disappears from the open-order list just like a filled order, so the tool may interpret the disappearance as a completed slice and place another one.


6. Tape Hits

Tape Hits submits a controlled stream of market orders. It spaces requests evenly instead of placing the entire sequence in one burst.

Configure it

  • SIDE — market-buy or market-sell direction.
  • ORDERS / SEC — requested submission cadence, from 1 to 20 cycles per second.
  • MAX ORDERS — number of submission cycles before automatic shutdown.
  • SIZE (COIN) — quantity of every order in each cycle.

Example

With size 0.001 BTC, 5 orders per second, and 25 maximum orders, Tape Hits requests 25 market-order cycles over roughly five seconds. On one enabled venue, the requested total is 0.025 BTC. On three enabled venues, the same setup can request 0.075 BTC in total because every cycle submits 0.001 BTC to each venue.

How to use it

  1. Calculate size × max orders × enabled venues before starting.
  2. Choose the side and a conservative submission rate.
  3. Select START.
  4. Watch the confirmed-order counter in the automation status line. Rejected or unacknowledged requests are retried and do not reduce the remaining order count.
  5. Allow it to stop at MAX ORDERS, or select STOP early.

Market orders prioritize execution, not price. During volatility, later hits can fill much farther from the price visible when the sequence began. The requested rate is also not a promise: network latency, exchange processing, and rate limits can slow or reject submissions.

MattDOM uses deadline-based scheduling so exchange response latency does not slow later submissions. If the selected rate exceeds the safest configured limit of any enabled venue, Tape Hits will ask for a lower rate instead of silently running slower or flooding the exchange. Confirmed orders alone advance the maximum-order counter.


7. Liq Guard

Liq Guard maintains one stop-loss for the full current position, as far from the market as MattDOM can place it while keeping a modeled liquidation cushion. It is a last-line risk control, not a guaranteed defense against liquidation.

Liq Guard runs independently on every enabled venue. It does not open a position and does not use the quantity entered in SIZE (COIN). When a position grows or shrinks, the guard uses the venue's live full-position order where available or refreshes a full-size reduce-only stop.

While a Liq Guard reconciliation is running, MattDOM pauses new submissions and refresh work from its other automation tools, as well as routine account polling. Queued Chaser, Stalker, Step Ahead, Iceberg, and Tape Hits work resumes after the protection check finishes. Requests already in flight at the instant the check begins cannot be recalled.

Configure it

  • CHECK MS — time between position, liquidation-price, book-depth, and stop-order checks. The default is 3000 ms; the minimum is 2000 ms.
  • SAFETY BPS — additional fixed room between the modeled fill boundary and liquidation. The default is 15 basis points.

How the stop price is selected

For each position, MattDOM reads the venue's estimated liquidation price and walks that venue's visible order book until it finds enough opposing liquidity to fill the complete position. It measures the distance from the BBO to the worst modeled fill, increases that observed impact by 25%, and then adds SAFETY BPS.

In simplified form:

book cushion = (modeled full-size impact × 1.25) + safety bps
long stop    = liquidation price × (1 + book cushion)
short stop   = liquidation price × (1 - book cushion)

The result is rounded toward safety to the venue's valid price increment. A long stop must remain above liquidation and below the current market; a short stop must remain below liquidation and above the current market.

If visible depth cannot cover the full position, there is no actionable liquidation price, or the calculated trigger would already be through the market, Liq Guard does not claim that it updated protection. It reports the reason and preserves a previously managed stop when possible.

Exactly one full-position stop

Liq Guard reconciles the position to one stop-loss:

  1. It inspects existing stop-loss orders for the position, including stops created outside MattDOM.
  2. It keeps or modifies a suitable full-position stop when the venue supports modification.
  3. Otherwise, it confirms replacement protection before canceling the old stop whenever the venue permits overlapping protection.
  4. It removes duplicate stop-losses so one keeper remains.

Bitunix and BloFin use venue-native full-position stops. These follow the position's live size at trigger time. Hyperliquid uses one full-size reduce-only stop-market and Liq Guard refreshes its quantity as the position changes.

Because duplicate reconciliation operates on orders containing a stop-loss, canceling an old combined TP/SL order can also remove that order's take-profit leg. Take-profit-only orders are left alone. Recheck take-profit orders after first activating Liq Guard on a position that already had combined TP/SL instructions.

Venue availability

Venue Liq Guard status Protection method
Bitunix Supported Mark-price-triggered, exchange-native full-position market stop
BloFin Supported Mark-price-triggered TP/SL with entire-position size and market execution
Hyperliquid Supported Mark-price-triggered, full-size reduce-only stop-market
Coinbase Not applicable MattDOM's Coinbase connector is spot; spot balances have no liquidation price
Nado Unavailable Nado exposes unified subaccount health, not a safe actionable liquidation price for one position
PopDEX Unavailable The current connector does not expose authenticated positions and liquidation prices

An unavailable venue appears as N/A in the automation status. It is not counted as protected. Do not assume that enabling six venues produces six stops.

Start, monitor, and stop

  1. Enable the intended venues and confirm they show LIVE.
  2. Verify each position and its liquidation price at the venue.
  3. Choose the check interval and safety buffer, then select START.
  4. Read the status line. A protected row shows venue, side, full quantity, stop trigger, and liquidation price.
  5. Confirm that exactly one stop-loss appears for the position at the venue.
  6. Select STOP to stop reconciliation and request removal of the stop managed by this Liq Guard run.

Stopping protection is a risk-increasing action. Wait for MattDOM to confirm the cancellation and verify it at the venue before assuming the position has no stop. If a stop cannot be removed, MattDOM reports that removal is unconfirmed.

Limits of protection

  • Book depth is a snapshot, not reserved liquidity. Orders can disappear before the stop triggers.
  • A stop-market prioritizes execution rather than price and can slip through the liquidation level during a gap, outage, cascading liquidation, or thin book.
  • The venue's estimated liquidation price can change with funding, margin, other cross-margin positions, collateral, fees, and risk-tier changes.
  • The periodic loop leaves a short interval between a position-size change and the next reconciliation. Venue-native full-position stops reduce this gap, but no client-side loop is instantaneous.
  • Exchange/API downtime can prevent creation, modification, cancellation, or verification.
  • Liq Guard reduces liquidation risk; it cannot guarantee a fill or prevent liquidation.

8. Stop controls and lifecycle

There are three ways to stop automation:

  • Select STOP beside one running tool.
  • Select STOP ALL at the bottom of the automation panel.
  • Change the MattDOM symbol, which stops every running tool and requests cancellation of tracked limit orders.

Stopping a chaser, stalker, Step Ahead, or iceberg requests cancellation of the latest order IDs MattDOM is tracking. Stopping Liq Guard requests cancellation of its managed full-position stop. Cancellation is not complete until the venue accepts it. Always confirm the order has disappeared at the venue.

For Limit Stalker, STOPPING… remains visible while MattDOM batch-cancels its tracked IDs and verifies their removal from each venue's active-order response. PopDEX instead waits for every scoped cancellation transaction receipt because its current API does not expose an authenticated active-order query. The control returns to START only after all managed cancellations are confirmed. If any remain unconfirmed, the inactive run stays registered and the control offers STOP again for a safe retry; it does not restart the strategy.

Closing the browser pauses in-browser refresh loops, and a browser cannot guarantee that final cancellation requests are delivered while the page is closing. Resting exchange orders can remain live. An active Liq Guard resumes when the same browser reopens MattDOM on that symbol; other strategies do not. Use STOP ALL, verify cancellations, and only then close MattDOM when you do not want any strategy or protective stop retained.

CANCEL ALL remains available as a separate emergency control. It requests cancellation of every open order for the displayed symbol on selected venues, including orders not created by an automation tool.


9. Choosing the right tool

Goal Tool Primary risk
Seek execution while following the near touch Limit Chaser Fills during cancellation and rapid request use
Maintain a quote away from the touch Limit Stalker Market reaches the quote before it refreshes
Improve a venue's gapped spread Step Ahead Repeated fills while advancing the book
Replenish a repeating visible slice Iceberg Runs indefinitely until manually stopped
Submit a finite stream of aggressive orders Tape Hits Slippage and multiplied multi-venue size
Keep a last-line stop ahead of liquidation Liq Guard Book changes, slippage, API failure, and false confidence in estimated liquidation

Only run multiple tools together when you have intentionally calculated their combined behavior. A buy chaser, buy iceberg, and buy Tape Hits sequence can all add to the same position at once.


10. Recommended first practice

Use one venue, one tool, and the smallest valid size:

  1. Start a sell stalker at ten ticks for several refresh cycles, then stop it and verify cancellation.
  2. Start a buy chaser briefly in a liquid market, then stop and inspect fills.
  3. Run Step Ahead for one fill on one venue with the smallest valid size.
  4. Run an iceberg with a tiny slice and stop it after one or two completed slices.
  5. Run Tape Hits at one order per second with a maximum of two orders.
  6. With a tiny test position on a supported venue, start Liq Guard and confirm one full-position stop appears. Change the position size, verify that the same full position remains covered, then stop Liq Guard and verify removal.

After every exercise, compare MattDOM's order lines, position display, and notifications with the exchange's own order and fill history. The venue is the authoritative record of accepted orders, cancellations, fills, fees, and final position size.