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
| Parameter | What it does | Default and limits |
|---|---|---|
| Quantity | How 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 price | Optional. 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 only | The 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. |
| Starts | Now 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. |
| Expires | Never 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
| Status | Meaning |
|---|---|
| scheduled | Waiting for its Starts time. |
| new | Accepted, and not taking right now. |
| armed | Waiting for the other side to reach your limit. Hover it to see the limit. |
| working | An IOC is working at the exchange. |
| waiting | Waiting for market data. |
| amending | Applying your changes. |
| expiring | Cancelling what is left at its Expires time. |
| cancelling | Cancelling 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.
| Reason | What happened |
|---|---|
| Filled | The 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. |
| Cancelled | You cancelled the order. |
| Expired | The order reached its Expires time. |
| Remainder below the exchange's minimum size | What is left is smaller than the exchange's minimum order size. |
| Remainder below the exchange's minimum order value | What is left is worth less than the exchange's minimum order value. |
| Stopped after repeated rejections | The 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 exchange | The 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 closed | A reduce-only order found no position left to reduce. |
| Cancelled by the exchange for margin | The exchange's risk or margin controls cancelled an order. |
| Order could not be sent | The account's current settings cannot carry this order. |
| Above your Max USD notional | The order is larger than your max USD notional. See Settings. |
| Amended order was refused | Aura accepted an amend, but the order with its new values failed Aura's checks. |
| Exchange account disconnected | The 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 connect | Aura could not connect the account to send the order. |
| Closed when the paper account was restored | You 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:
| Field | Notes |
|---|---|
| Quantity | Must stay above what has already filled. |
| Reduce only | Perpetual markets only. Applies to orders placed after the amendment. |
| Limit price | Leave it empty to remove the limit. |
| Expires | Unchanged, At a time, or No expiry (GTC). On an order with no expiry, the choices are No expiry (GTC) and At a time. |
| Starts | Only 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
| Situation | What Sniper does |
|---|---|
| No book, no visible depth, or no trading rules for the market | Sends 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 updating | Keeps 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 fill | Not a rejection. Sniper decides again from the current book. |
| Insufficient balance | Caps 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 you | Waits 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 reason | Waits 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 reached | Stops with Rejected by the exchange. |
| What is left falls below the exchange's minimum | Ends with one of the two Remainder below… reasons. |
| A quote-currency budget is too small for one more order | Ends 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 order | The 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.