Skip to main content

Policy & Readiness

Policies in OAW are backend-enforced objects, not UI settings. A venue action must pass all relevant policies, and readiness is a precise, inspectable state.

Policy layers

LayerGoverns
Wallet / provider policyper-wallet spend caps, allowed methods, allowlists (e.g. Privy agent-wallet policy)
Venue policyper-venue permissions: max order size, per-market exposure, categories, leverage
Global spend policydaily caps, reservations, autonomy mode, confirmation thresholds

A live action must satisfy all layers. Policy is configurable from chat/mobile — e.g. "change my Polymarket daily cap to $250" calls a real backend policy tool, never a fake local setting.

interface AgentPolicy {
dailyCapUsd: number;
perActionCapUsd: number;
blockedCategories: string[];
autonomyMode: "manual" | "confirm" | "auto";
}

Readiness — what "live-ready" requires

agent authority (Mode A or verified Mode B)
→ venue binding via the pre-bind gate
→ funding present on the venue's settlement chain
→ venue policy + global caps pass
→ live-execution flag on + approval (where required)
→ a production adapter wired (not the reference stub)

Miss any one and OAW returns a precise status — agent_wallet_required, funding_required, ready_but_live_locked, requires_approval, virtuals_signer_required, … — never a generic "failed".

When a human is required

Human confirmation is required only for: first policy authorization, policy changes, actions above limits, ambiguous venue/action/market, restricted categories, compliance/region blocks, unsupported funding routes, owner/signature handoffs, new withdrawal destinations, and risk breaches.

Don't ask just because you're unsure

If policy allows the action, the user authorized it, the live flags permit it, and wallet/venue authority is ready — the agent executes. Ambiguity routes to a clarifier, not a guess. See the Intent classifier.