Show docs pages

Sniper

Sniper only takes liquidity. It sends IOC orders through the best price, capped by an optional limit, and never rests an order on the book.

This page covers how Sniper decides when to take and how much, each field in the ticket, how a Sniper order ends, what you can change while it runs, and what it does when something goes wrong.

What Sniper does

Sniper fills your quantity by taking liquidity. Every order it sends is IOC: it fills what it can and the exchange cancels the rest. Sniper never rests an order on the book.

Without a Limit price, Sniper takes until your quantity fills. With one, it waits, resting nothing, until the book is marketable within your limit.

How it works

When it takes

Sniper is ready to take while its price still crosses the best price on the other side of the book: the best ask for a buy, the best bid for a sell.

  • Without a Limit price, that is always true, so Sniper keeps taking until it is done.
  • With a Limit price, Sniper takes only while the other side is at or inside your limit. Otherwise it sends nothing and waits. The status reads armed while it waits; hover it to see your limit.

Pricing each order

Each IOC is priced 20 bps through the best price on the other side, so it can still fill if the book moves while the order is on its way. Your Limit price caps that price: a buy never pays above it and a sell never sells below it.

Sizing each order

Each IOC is up to a quarter of the size on the top 10 price levels on the other side of the book, or what is left of your quantity if that is smaller. If a quarter is below the exchange's minimum, Sniper sends a minimum-size order.

Sniper also avoids leaving a remainder below the exchange's minimum. When an order would do that, it either takes the whole remainder or makes the order smaller, so the last piece can still be sent.

On OKX and Bybit, no IOC is larger than the largest single order the exchange takes on the market: by quantity or by value on OKX, by quantity on Bybit.

On spot markets, each IOC is also no larger than your available balance can pay for at its price, with room for the fee on Coinbase, as in Chase. On an OKX or Bybit perpetual it is no larger than your margin carries at its price, with room for what an order through the mid would lose against the mid. When that would leave it below the exchange's minimum, the IOC goes out at its usual size.

The next order

Sniper decides again on every book update and whenever an IOC ends. One IOC is out at a time.

Quantity in the quote currency

On spot, perpetual and futures markets, click the unit beside Quantity to switch between the base and quote currency. In the quote currency, the quantity is a budget. Sniper sizes each order so that a full fill on the book it was sized from does not spend more than what is left of it.

Parameters

ParameterWhat it doesDefault and limits
QuantityHow much to buy or sell, in the unit shown beside it.Required. Must meet the exchange's minimum size and be a whole number of lots. Some markets also have a minimum order value.
Limit priceOptional. Caps every IOC's price, and Sniper waits while the book is not marketable within it.Default none. Leave it blank to take without a cap.
Reduce onlyThe exchange uses each order only to reduce your current net position and cancels any remainder it cannot use.Default off. Shown on perpetual markets only.
StartsNow sends the order on submit. At holds it as scheduled and starts it at the time you pick.Default Now. At offers 15 minutes ahead. At most 365 days out.
ExpiresNever is good till cancelled. At cancels whatever is left at that time and closes the order as Expired.Default Never. At offers 1 hour ahead. At most 365 days out, and after the start.

Sniper has no Post only switch and no Chase distance: it never rests an order. It has no other settings.

Below the submit button, Est. fee uses your taker rate, because every Sniper fill takes. Sweep cost now shows what taking your whole size from the live book would cost against the mid right now. See Placing an order for the other readouts.

While it runs

StatusMeaning
scheduledWaiting for its Starts time.
newAccepted, and not taking right now.
armedWaiting for the other side to reach your limit. Hover it to see the limit.
workingAn IOC is working at the exchange.
waitingWaiting for market data.
amendingApplying your changes.
expiringCancelling what is left at its Expires time.
cancellingCancelling at your request.

In the order sheet, a note beside the limit price says where the best price on the other side sits against your limit, for example Ask at the limit or Ask 3.1 bps below. It turns amber when the book is past your limit, which is when Sniper waits.

How it ends

The status chip shows the outcome: filled, cancelled or part. cancelled. It reads rejected only for an order above your Max USD notional or one that never reached the exchange because the account had no connection. When the order ended for a reason other than a fill or a cancel, the order sheet shows the reason in a red box at the top, whatever the status.

ReasonWhat happened
FilledThe whole quantity filled. With a quote-currency quantity, also when what is left of the budget is too small for one order the exchange accepts. Hover the status to see the unspent amount.
CancelledYou cancelled the order.
ExpiredThe order reached its Expires time.
Remainder below the exchange's minimum sizeWhat is left is smaller than the exchange's minimum order size.
Remainder below the exchange's minimum order valueWhat is left is worth less than the exchange's minimum order value.
Stopped after repeated rejectionsThe exchange rejected 5 orders in a row, with none accepted or filled in between. Rejections for the exchange's rate limit don't count.
Rejected by the exchangeThe exchange rejected an order for a reason that sending again cannot fix. The red box names the reason, such as Size not accepted, with the exchange's own words.
Position already closedA reduce-only order found no position left to reduce.
Cancelled by the exchange for marginThe exchange's risk or margin controls cancelled an order.
Order could not be sentThe account's current settings cannot carry this order.
Above your Max USD notionalThe order is larger than your max USD notional. See Settings.
Amended order was refusedAura accepted an amend, but the order with its new values failed Aura's checks.
Exchange account disconnectedThe account had lost its connection, or the exchange had refused its API key, before the order reached the exchange. See Connection status.
Exchange account could not connectAura could not connect the account to send the order.
Closed when the paper account was restoredYou reset a paper account whose saved state Aura couldn't restore.

Amending

Open the order and click Amend, or click the pencil on its row in Open Orders. In the Order column you can change:

FieldNotes
QuantityMust stay above what has already filled.
Reduce onlyPerpetual markets only. Applies to orders placed after the amendment.
Limit priceLeave it empty to remove the limit.
ExpiresUnchanged, At a time, or No expiry (GTC). On an order with no expiry, the choices are No expiry (GTC) and At a time.
StartsOnly while the order is scheduled: Unchanged, At a time, or Start now.

Click Apply to send only what you changed, or Discard to leave without sending anything. An IOC already out when you apply finishes under the old values. Aura then checks the new values the way it checks a new order and starts Sniper again. If you cancel during an amend, the cancel wins.

Moving the limit across the best price makes Sniper start taking on the next book update that is marketable within it. Tightening the limit past the book makes it stop and wait.

What can go wrong

SituationWhat Sniper does
No book, no visible depth, or no trading rules for the marketSends nothing. It shows waiting until the book and its depth arrive, and new (armed with a limit) while it waits for the trading rules. It starts when all three arrive.
The book stops updatingKeeps deciding from the last book Aura received. An IOC can then find nothing; Sniper spaces out repeat orders at the same price until the book moves.
An IOC finds nothing to fillNot a rejection. Sniper decides again from the current book.
Insufficient balanceCaps later orders at half the refused size, never below the exchange's minimum, until one fills. After 5 rejections in a row it stops with Stopped after repeated rejections.
The exchange rate-limits youWaits out the exchange's window, 2 seconds on OKX and 1 second on Coinbase, Kraken and Bybit, then decides again from the current book, as many times as it takes. A rate limit never counts as a rejection and never ends the order.
The exchange is unavailable, has too many open orders, or gives no clear reasonWaits for the next book update or exchange event, then tries again. These count toward the 5-in-a-row limit.
A rejection that sending again cannot fix, such as Size not accepted, Market unavailable, API key refused or Position limit reachedStops with Rejected by the exchange.
What is left falls below the exchange's minimumEnds with one of the two Remainder below… reasons.
A quote-currency budget is too small for one more orderEnds Filled if anything filled, with the unspent amount in the status hover. If nothing filled, it ends Cancelled with the remainder reason.
The exchange does not confirm an orderThe status reads unconfirmed until it is settled. See Managing orders.

If your exchange account disconnects, see Connection status. To compare Sniper with the other algos, see Choosing an algo.