circuit operations approves and inspects inert reviews, with separate approvals for prerequisites, durable evidence, and full selected wallet or venue account execution subject to permits and live checks. circuit ask "<reason>" --review proposals.json submits your own money action proposals as reviews (--review - reads stdin); circuit capabilities --resource ask/review prints the shape.
Every operation response includes its review display and lifecycle; reading it again is not required to show a prepared review. It is identified by
operationId; its status is review, expired, dismissed, pending, unproven (submitted, past its settlement bound, and still watched until evidence settles it), success or error; its phase is review, settling (pending or unproven) or settled; and a successor’s continuation.status uses the same vocabulary: its operation’s state once prepared, otherwise pending while it waits or prepares, error when preparation failed, and dismissed when the previous operation did not complete. Hyperliquid labels use resolved asset symbols, while raw market IDs remain execution inputs.
Inspect timeout receipts instead of automatically replacing an operation. Web and CLI prepare successors automatically for separate confirmation; a lower refreshed minimum requires approval. An order proposal on venue: "hyperliquid"’s order takes the Hyperliquid order shape, and a cancel there takes the orderId from the order’s result or open orders, Hyperliquid’s numeric ID for an order placed outside Circuit, or "all" to cancel every resting order on the account in one action; an account proposal on venue: "hyperliquid"’s account takes the Hyperliquid account change, whose scheduleCancel takes at, an ISO time at least five seconds ahead when Hyperliquid cancels every resting order on the account (its dead man’s switch, at most ten firings a day), or null to clear it. Configuration-dependent sizing requires account setup first.
Ask Circuit
circuit ask "swap 0.1 ETH to USDC on Base" prints its Turn ID, message, operation IDs and outcomes; a proposal that failed for missing funds or gas prints circuit ask --recover <conversation>:<item>, which asks Circuit to fund it. Approve IDs individually or use --approve to execute proposed trades and agent actions in order. The first failure or still-pending operation stops approvals and preserves remaining reviews. --json includes the Turn, operations, and agentActions, retaining known resources on failure. Start and Top-up require reviewed inputs.
circuit ask --build "<request>" goes directly to Builder; build results name Turn, status and workspace. --agent <id> edits that agent instead of creating one, and --wait waits until the build finishes. Each CLI invocation starts a new chat; web restores the chat and agent selection.
Unsized buys/longs/shorts default to 20 USDC on Hyperliquid, 10 pUSD on Polymarket, and $20 elsewhere. Swaps, sells, sends and modifications require sizing; explicit closes select the whole identified position. Fractions stay fractions. Margin and leverage phrasing follows the FAQ.
Absent indexed assets are read live. Ordinary-wallet sends/swaps need source gas, including swaps into gas. An unspecified destination network prefers the funding network where the exact asset exists, without substituting a wrapped asset; destinations need not be held. Arbitrary protocols and raw transactions are supported. Unresolved loan terms require clarification, and dependent funding, approval and entry receive separate reviews. Research URLs are optional and appear in raw-transaction reviews.
Agent actions
Readcircuit ask action <action-id> and approve with --file approval.json or stdin --file -. Control input is { "kind": "control" }. Top-up adds required-asset units with { "kind": "topUp", "allocationTargetRaw": "1000000" }; "max" allocates the whole unallocated balance read at admission. Start requires kind: "start", an account of { "kind": "wallet", "walletId": 12 } or, for paper trading, { "kind": "simulated", "simulatedAccountId": "<uuid>" }, allocationTargetRaw, optional settings, optional exchangeCredential of { "credentialId": "<uuid>", "allocationAmount": "25" } (allocationAmount only for agents that trade on the exchange; Circuit derives read/trade access and the allocation asset from the agent), and a separately requested passkey permit.
Every action produces a review. Saved decisions appear while independent reviews prepare concurrently. Identical approved inputs replay the original outcome; changed inputs conflict. Receipts retain proposal, wallet, allocated amount, settings and exchange attachments. Live inventory changes reject the exact reviewed amount. Start and Top-up admit runs; one execution per session respects earlier work. Account readiness is checked again before execution.