# Bootstrap and reconciliation Use a resource-specific procedure rather than treating all streams as interchangeable. ## Catalogue Open `/events`, buffer frames, read the paginated REST catalogue, then apply newer market revisions and continue live. ## Orders 1. Open `/orders` without `since` and buffer frames. 2. For every relevant account and market, page through `GET .../orders`. Fetch `NEW`, `ACTIVE`, and `PARTIALLY_FILLED` as needed; the endpoint accepts one status filter per request. 3. Merge buffered order views using `last_update_engine_seq`; keep the view with the greater value. 4. Continue live and persist `seq` atomically with applied state. This procedure can rebuild current order state after `resume_too_old`. Historical order transitions that are no longer reflected in current state are not recreated. ## Positions and accounting Use `GET .../positions?presentation=dual` as an eventually consistent position snapshot and `GET .../payouts` for payout reconciliation. Do not blindly add buffered accounting deltas to a REST snapshot: the public contract does not expose a shared snapshot watermark that proves which deltas the snapshot already includes. Most importantly, these REST views are not a replacement for accounting events lost beyond the supported replay window. Pagination fields are operation-specific: order, position, and payout lists return `next_cursor`; event and market lists return `cursor`. Continue until the relevant field is null.