The approval state machine
Every approval request moves through a simple state machine:approved and denied are terminal. An approval cannot be reversed through the tools API. If a strategy was approved by mistake, it must be retired from paper trading through the web UI — a separate, audited action.Who can call what
The agent can call
list_approvals to check the status of a request it submitted. The agent cannot call decide_approval — the MCP server rejects the call with an insufficient_privilege error if the caller is an agent-level API key. Only human-level API keys (issued through the web UI) can decide approvals.
This is enforced at the authentication layer, not at the UI layer. There is no way for the agent to promote a strategy to paper trading, period.
list_approvals
List pending approval requests for the tenant. The agent calls this to check whether a promotion request it submitted has been decided. The human calls this (or uses the web UI) to see what’s waiting.
Arguments
Return value
An array of approval records:Example call
Example response
decide_approval
Approve or deny a pending approval request. Human-only. The MCP server rejects this call if the caller is an agent-level API key.
Arguments
Return value
Example call
Example response
The promotion workflow
1
Agent runs a backtest
The agent calls
backtest_run and reviews the stats. If the results look good, it proceeds.2
Agent requests promotion
The agent submits a promotion request (via the strategy API or by flagging the run). This creates a
pending approval record.3
Human reviews
The human opens the web UI, reviews the strategy spec, backtest results, risk attestation, and the agent’s reasoning. The human can also re-run the backtest with different parameters to sanity-check.
4
Human decides
The human calls
decide_approval (or clicks Approve / Deny in the web UI). If approved, the strategy is promoted to paper trading and begins generating virtual positions against live market data.5
Agent checks status
The agent calls
list_approvals to see whether its request was approved or denied, and reports the outcome to the human.Paper trading is the last step before live capital. A paper strategy trades on live market data with virtual money. Promoting from paper to live capital is a separate, even more tightly gated workflow that is not exposed through the tools API at all.
Related
- Backtest tools — the run that supports a promotion request
- Strategy tools — the spec being promoted
- Artifact tools — the evidence bundle the human reviews
- Strategy approvals — the strategy-level view of the promotion workflow