How Anboto Executes#
What happens between clicking Review order and seeing fills — and why the design keeps you in custody of your funds throughout.
Principles#
- Non-custodial. Your assets never leave your own exchange accounts. Anboto holds trade-only API keys — never withdrawal permission — so the platform can place and cancel orders on your behalf but can never move funds.
- Your keys stay server-side and encrypted. API keys are encrypted in HashiCorp Vault and used only from servers inside a private subnet, never exposed to browsers or third parties. See API Key Security.
- Every order is measurable. Each parent order produces a post-trade analysis scoring the execution against market benchmarks — the platform grades its own work.
- Programmatic access too. The same execution algos are exposed over REST and WebSocket through the Anboto Trading API, so clients can drive the engine from their own systems. The API default for parent order expiry is 30 days (720 hours) — the same as the GUI default.
The life of an order#
1. Validation. When you submit, the order management layer validates the order against the venue's rules — minimum quantity, contract-size multiples, time windows — and persists it. Invalid orders are rejected immediately with a specific reason.
2. Slicing. Your order becomes a parent order, and the execution engine works it according to the algo you chose: a TWAP paces child orders evenly through time, a VWAP follows the market's volume profile, a POV tracks live traded volume, and so on. Child orders are sized by the clip size logic and randomized so the pattern is not readable from the tape.
3. Placement. Child orders reach the venue through Anboto's connectivity layer, which maintains persistent, low-latency connections to every supported CEX and perp-DEX. Each account's traffic egresses through its own fixed IP addresses — the same ones you allowlist on the venue when linking the exchange.
4. Reaction. The engine watches the order book and your fills in real time: resting maker orders are re-priced when the market moves away (see Maker Placement in Algo Specifications), the spread is crossed when your trading style calls for it, and venue rate limits trigger an automatic pause and resume rather than an error.
5. Completion. Fills accumulate on the parent order until it is filled, cancelled, or reaches its time limit. The ended order moves to History; its order page shows every fill against the benchmarks, and its post-trade analysis feeds the Metrics view.
Failure behavior#
The engine is built to degrade safely rather than silently:
- If a venue rejects child orders repeatedly, the parent order stops with the venue's reason attached, rather than retrying forever.
- If a venue rate-limits the account, the order slows down (Pacing) or pauses (Paused — exchange rate limit) and resumes automatically.
- If a venue's market data freezes, the engine detects the frozen order book within seconds and holds passive orders until fresh data returns, so they are not placed against stale prices. Aggressive orders, direct-market-access flow and orders at their deadline carry on as before.
- If the market never reaches your trigger price, the order waits until its expiration. If it stays beyond your limit price, execution pauses until the order's time runs out — nothing executes at a price you did not accept.
See Troubleshooting for the full error reference.