Crypto / FinTechAI Agents 12-week production rollout

Durable AI Ops Layer on Multi-Venue Exchanges

Desk copilots that turn natural-language intent into HITL-approved exchange orders (Vercel AI SDK, Temporal, and MCP) without YOLO trading bots.

Ticket prep time (desk)
15–40 min / intent
2–5 min review
Double-submit incidents
Recurring on retries
0 after idempotent ids
Venues under one intent
Manual per venue
2+ with shared plan

The Problem

A multi-venue trading desk ran inventory cuts, TWAPs, and exception chasing through Slack threads and ad-hoc scripts. Mid-run crashes double-submitted slices. Seniors spent hours formatting venue tickets instead of owning risk.

The Solution

We built a durable AI ops layer: Broker / Execution / Judge agents on Temporal, tool calls only through MCP schemas, Vercel AI SDK for the agent loop, and human approval Signals before any write that moved capital.

Why not an autonomous trading bot?

The brief was never “LLM places alpha.” It was ops: translate desk intent, validate against policy, survive worker restarts, and never lose the approval trail. Autonomous gamma chase without durability is a liability. Durable ops with HITL is a product.

Architecture we shipped

Three Temporal workflows: Broker (intent + UX), Execution (venue I/O via MCP-backed Activities), Judge (scheduled quality eval). Write tools require deterministic client order ids (workflowId + sliceIndex). API keys never enter the LLM context; only tool results do. Approval above notional thresholds is a Temporal Signal, not a prompt suggestion.

MCP as the allowlist

Exchange capabilities are schema’d MCP tools: get_balances, get_open_orders, place_order, cancel_order, request_approval, get_execution_report. The model cannot invent HTTP endpoints. Activity workers own retries, rate limits, and heartbeats.

What changed for the desk

A typical “cut BTC inventory 15% across two venues, TWAP 40 minutes, max 8 bps vs mid” now yields a structured plan, optional dual-control gate, slice execution with no double-submit on crash, and a Judge report on slippage vs budget. Seniors review; juniors stop copy-pasting into three UIs.

Business Impact

Operators describe intent in natural language; the system proposes a plan, waits for dual control when required, executes with idempotent client order ids, and leaves a replayable audit trail for compliance.

Technical architecture write-up

Tech Stack

Vercel AI SDKTemporalMCP toolsZod schemasExchange REST/WS adaptersPostgres ledgerSlack / desk UI

Case FAQs

Did the AI place orders without humans?

No. Any write above policy threshold waited on an approval Signal. Read-only tools (balances, open orders) ran without gates. Risk limits lived in code/config, not in an evolving system prompt.

Why Temporal instead of a long-running Node process?

Exchange APIs fail and deploys kill processes. Temporal persists agent turns and Activities so completed slices are not re-sent after a crash: the core requirement for multi-venue TWAPs.

Can this pattern run on spot markets only?

The same Broker / Execution / Judge spine works for spot, perps, and OTC workflows. You swap MCP adapters and policy rules; the durable orchestration stays.

Want a system like this?

Tell us the workflow. We reply with a short architecture brief: stack, gates, and timeline.