Documentation Index
Fetch the complete documentation index at: https://docs.rivermarkets.com/llms.txt
Use this file to discover all available pages before exploring further.
Basic Order Types
Market Order
Executes immediately at the best available price.- Use case: When you need immediate execution and price is less important
- Example: Market buy 100 contracts → fills at current best ask price
Limit Order
Rests on the order book at a specified price.- Use case: When you want price control and can wait for execution
- Example: Limit buy @ → only fills at $0.65 or better
Time in Force
- IOC : Immediate or Cancel - executes immediately for any available quantity, and cancels any unfilled remainder.
- Example: IOC buy 10 contracts; if only 6 are available now, 6 fill and 4 are canceled.
- FOK : Fill-Or-Kill - must be filled completely and immediately, or the entire order is canceled.
- Example: FOK buy 10 contracts; if all 10 cannot fill right now, nothing is executed.
- GTD : Good-Till-Date - stays active until a specific date/time, unless filled or canceled earlier.
- Example: GTD limit buy valid until
2026-02-20 15:00 UTC.
- Example: GTD limit buy valid until
- GTC : Good-Till-Cancelled - stays active until fully filled or manually canceled (subject to platform-level max lifetime limits).
- Example: Rest a GTC limit order on the book until market reaches your price.
Conditional Order Types
Conditional orders are not placed immediately. They activate (“trigger”) when specific conditions are met.Stop Orders
Stop orders trigger when price moves to a predefined stop price, using the traded price. On a buy stop order, the order is triggered if someone trades at or above the stop price. On a sell stop order, the order is triggered if someone trades at or below the stop price.- Stop Market
- Stop Limit
Triggers when market trades at or through your stop price, then executes as a market order (immediate fill at best available price).
- BUY stop: Triggers at or above stop price (breakout entry or short exit)
- SELL stop: Triggers at or below stop price (stop loss or long exit)
Reverse Stop Orders
Reverse stop orders trigger when price moves in your desired direction. Used exclusively for take profit scenarios. A “reverse stop” is called “reverse” because it triggers in the opposite direction of a normal stop order.- Reverse Stop Market (TP Market)
- Reverse Stop Limit (TP Limit)
Triggers when market trades at or through your target price (opposite direction from normal stop), then executes as a market order.
- BUY reverse stop: Triggers at or below target (opposite of normal buy stop)
- SELL reverse stop: Triggers at or above target (opposite of normal sell stop)
- Normal SELL stop @ 0.60 (price falling)
- SELL reverse stop @ 0.80 (price rising)
- The trigger direction is reversed!
Take Profit Orders (TP)
Parent-child orders: Automatically triggers a child order when a parent order fills.- TP Market
- TP Limit
Triggers when parent order is fully filled, then activates a reverse stop market order.
Stop Loss Orders (SL)
Parent-child orders: Automatically triggers a child order when a parent order fills.- SL Market
- SL Limit
Triggers when parent order is fully filled, then activates a stop market order.
Algorithmic Order Types
Algorithmic orders execute over time as a sequence of automatically-managed child orders. They live on River’s side, not the exchange’s — a background worker manages the lifecycle and you cancel the parent to cancel everything. Placed via the Complex Orders API.Iceberg
Splits a large order into smaller tranches so the full size is never visible on the book. Onlydisplayed_qty is posted at any moment; when a
tranche fully fills, the next is placed at the same limit_price until
total_qty is exhausted.
Parameters:
| Field | Description |
|---|---|
total_qty | Total quantity across all tranches |
displayed_qty | Tranche size — quantity shown to the market at a time |
limit_price | Static price used for every tranche (between 0 and 1) |
post_only | If true, every tranche is posted maker-only |
reload_delay_s | Optional seconds to wait between tranches (0 = immediate) |
expiry_ts_utc | Optional GTD expiry for every tranche; venue expiry cancels the iceberg |
Child tranches arrive on the orders WebSocket
as ordinary
order frames — clients can group them by parent_iceberg_order_id
if needed.Peg
Rests a single child order at the top of book and automatically repegs it as the book moves, capped by a worst-price limit. Useful for capturing the spread without manually chasing the market.- Buy peg: rests at the current best bid, repegs up as bids rise, never
pays more than
limit_price. - Sell peg: rests at the current best ask, repegs down as asks fall, never
sells below
limit_price.
| Field | Description |
|---|---|
total_qty | Total quantity for the peg |
limit_price | Worst price the peg will accept (max for buy, min for sell) |
post_only | If true, a repeg that would cross the book cancels the peg instead of taking |
peg_min_stay_time_s | Optional minimum seconds the child must rest before a price-driven repeg fires |
expiry_ts_utc | Optional GTD expiry for the resting child |
post_only=true is recommended for makers — without it, a fast-moving book
could cause a repeg to cross and consume liquidity at your limit price.Comparison
| Type | Trigger | Execution | Primary Use |
|---|---|---|---|
| Market | Immediate | Best price | Need immediate fill |
| Limit | Rests on book | At limit or better | Price control |
| Stop Market | Price moves against | Market order | Stop loss, breakout |
| Stop Limit | Price moves against | Limit order | Stop loss with price protection |
| TP Market | Parent fills + price moves for | Market via reverse stop | Take profit |
| TP Limit | Parent fills + price moves for | Limit via reverse stop | Take profit with control |
| SL Market | Parent fills + price moves against | Market via stop | Stop loss from entry |
| SL Limit | Parent fills + price moves against | Limit via stop | Stop loss with price floor |
| Iceberg | Immediate (per tranche) | Sequential limit tranches | Hide size on a large order |
| Peg | Tracks top of book | Resting limit, auto-repegged | Capture the spread up to a limit |
Key Concepts
Stop vs Reverse Stop
- Stop: Triggers when price moves AGAINST you (exit losses, enter breakouts)
- Reverse Stop: Triggers when price moves FOR you (take profits)
Parent-Child Orders
- TP/SL orders are “meta-orders” that activate child orders when a parent fills
- The child order itself is usually a stop or reverse stop order
- This creates a two-step process: Parent fill → Child activation → Price trigger → Execution
Trigger Direction Summary
| Side | Stop (Loss/Breakout) | Reverse Stop (Profit) |
|---|---|---|
| BUY | Triggers ≥ stop price | Triggers ≤ target price |
| SELL | Triggers ≤ stop price | Triggers ≥ target price |

