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

# Conventions

> These rules hold on every route, so you can learn them once.

These rules hold on every route, so you can learn them once.

**Times are epoch seconds**, not milliseconds, unless a field is explicitly `date-time`. If a
timestamp looks a thousand times too small, this is why.

**Null means unknown, and it stays null.** Money fields are `number | null`, and null means the
venue has not reported yet. The engine never coalesces an unknown value to `0`, and your UI
should not either. A trader who sees a `$0` balance during a venue hiccup will react to it.

**Quantities are signed.** A long position is positive, a short is negative. There is no separate
side field to cross-check against.

**Timeframes are a grammar, not a menu.** A timeframe token is `<N><unit>` with units
`s m h d w mo t`: `1m`, `4h`, `1d`, `100t`. Any count within the published ceilings is legal,
including values no preset lists, like `45s` or `250t`. Fetch `/api/market/config` once and you
have the exact grammar the engine validates against. A malformed token fails closed with `400`.

**Account targeting is uniform.** Every account-scoped route takes optional `broker` and
`account` query parameters. Omitted means your priority default. Present-but-unknown is a `400`,
validated against your own set, so a typo cannot silently trade the wrong account.
