> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bluumfinance.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Trading

> Order types, time in force, sizing, and order lifecycle.

Trading lets your users buy and sell securities. You submit an order, Bluum routes it to the right exchange through its custodian network, and you track status as it executes. Orders are created against an investor and carry a prefixed `ord_` id.

## Order types

| Type            | Description                                      | Requires                                     |
| --------------- | ------------------------------------------------ | -------------------------------------------- |
| `market`        | Executes immediately at the current price        | `quantity` or `notional`                     |
| `limit`         | Executes only at the limit price or better       | `quantity`, `limit_price`                    |
| `stop`          | Triggers a market order when price hits the stop | `quantity`, `stop_price`                     |
| `stop_limit`    | Triggers a limit order when price hits the stop  | `quantity`, `stop_price`, `limit_price`      |
| `trailing_stop` | Stop that trails the market by an offset         | `quantity`, `trail_price` or `trail_percent` |

## Sizing: quantity vs notional

* **`quantity`** — number of shares (e.g. `"10"`). The field is `quantity`, not `qty`.
* **`notional`** — a cash amount to invest (e.g. `"1000.00"`), `market` orders only.

Notional orders buy **fractional shares** when the amount doesn't divide evenly. Sell orders must use `quantity`.

## Time in force

| Value | Meaning                                                          |
| ----- | ---------------------------------------------------------------- |
| `day` | Valid for the current session; canceled at close if unfilled     |
| `gtc` | Good 'til canceled                                               |
| `opg` | At the opening auction                                           |
| `cls` | At the closing auction                                           |
| `ioc` | Immediate or cancel — fill what's available now, cancel the rest |
| `fok` | Fill or kill — fill entirely at once or cancel                   |

## Wallet currency

Pass `wallet_currency` (`USD`, `NGN`, `GBP`, `EUR`, `KES`) to settle the trade from a specific wallet. When omitted it defaults to `USD`.

## Order lifecycle

<Frame>
  <img src="https://mintcdn.com/bluumfinance/L5Dm3BN-WAZqlyQf/images/diagrams/order-lifecycle.svg?fit=max&auto=format&n=L5Dm3BN-WAZqlyQf&q=85&s=5958fbe8a0f2f4541072fdcc9f03b8a3" alt="Order lifecycle" width="1200" height="360" data-path="images/diagrams/order-lifecycle.svg" />
</Frame>

| Status      | Meaning                                                      |
| ----------- | ------------------------------------------------------------ |
| `open`      | Resting at the custodian, awaiting execution                 |
| `pending`   | Accepted and queued                                          |
| `partial`   | Some shares filled, remainder active                         |
| `filled`    | Fully executed                                               |
| `cancelled` | Canceled by user or system                                   |
| `failed`    | Rejected (insufficient funds, invalid symbol, market closed) |

Track fills with `filled_quantity`, `remaining_quantity`, `average_price`, and the `submitted_at` / `filled_at` / `cancelled_at` timestamps. Fetch a single order at `/v1/investors/{investor_id}/orders/{order_id}`.

<Note>
  For placing, estimating, and canceling orders step by step, see the journey guide:
  [Place orders](/get-started/journey/place-orders). Order schemas are in the
  [API reference](/api-reference/introduction).
</Note>
