Desk copilots that turn natural-language intent into HITL-approved exchange orders — Vercel AI SDK, Temporal, and MCP — without YOLO trading bots.
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.
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.
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.
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.
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-upTech Stack
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.
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.
The same Broker / Execution / Judge spine works for spot, perps, and OTC workflows. You swap MCP adapters and policy rules; the durable orchestration stays.
Banking / FinTech
Conversational Rules Engine for Crypto↔Fiat Banking
Users set salary-day and balance rules in chat; Temporal workflows execute convert → transfer recipes with confirm cards and zero double-pays on webhook retries.
Banking
Durable AI Ops Layer for Mid-Market Banking
KYC exceptions and payment repairs on Temporal + Vercel AI SDK + MCP — maker-checker Signals, PII redaction, zero double-posts on core retries.
Insurance
Claims Intake Routing & Data Extraction
FNOL packs auto-classified and routed — adjusters cut intake from ~45 minutes to ~5–8 on standard claims.