Skip to main content
For the conceptual overview and the end-to-end flow, see What is a pact and Pact flow. This page covers the technical details: operating modes, the PactSpec schema, the state machine, and how pact-scoped credentials work.

Two modes: owner and delegate

The pact mechanism behaves differently depending on whether your agent is the wallet owner or a delegate. Before pairing, pacts are automatically processed. After pairing, the agent is a delegate and every pact requires explicit owner approval in the Cobo Agentic Wallet app. When you pair the wallet with the Cobo Agentic Wallet app, your agent transitions from owner to delegate. From that point on, the owner uses pacts to define the terms the agent operates under: what it is trying to do, under which policies, and when that authority ends.

The PactSpec: what the agent declares

When your agent needs a new scoped delegation, it submits a PactSpec — a machine-readable declaration of its intent, plan, and policy boundaries:

Pact state machine

The pact-scoped API key

When a pact is approved, the agent receives an API key scoped to that pact’s policies. This key:
  • Can only authorize operations within the delegation scope derived from the pact’s policy set
  • Is subject to all policies defined in the pact’s policies field on every call
  • Is bound to the specific wallet identified by wallet_id
  • Becomes invalid immediately when the pact exits ACTIVE for any reason — no grace period

Policy controls

A pact’s policies field is where you set the guardrails the agent must operate within. The following pages cover each control in detail: