Pakt Docs

Authorization Pipeline

How an owner-approved agent's exact action becomes a refusal or submission-ready signed request.

Authorization begins after the owner approved the agent and activated the exact Pakt root. The approved agent can propose an action against that root. It cannot choose a different account, wallet, environment, trusted state source, or signer.

One Action Produces One Authorization Decision

Pakt returns either a signed request that the agent must submit unchanged or a proved refusal with no signature. Neither result proves that a venue executed the action.

The MCP Sequence

The approved agent uses three tools for authorization: get_execution_context, propose_execution, and get_execution_status. After its venue client observes a supported terminal result, it may call record_execution_completion to annotate the exact signed receipt. That fourth call is client-reported display state, not another authorization decision or an independent venue reconciliation.

The operation runs asynchronously because Pakt gathers signed state, evaluates the constraints, creates a proof, and asks the secure approver and wallet provider to authorize the exact payload.

Allowed

SIGNED_NOT_SUBMITTED means the proof allowed the exact request and the wallet provider released its signature. The MCP client receives a typed, submission-ready object and submits it unchanged to the venue.

Authorization is not execution. Pakt does not claim the venue accepted, settled, or finalized the request.

Refused

REFUSED_NOT_SIGNED is a completed policy decision. It names the refusal, creates a receipt, and releases no approval stamp or wallet signature. The approved agent must report the refusal; it must not reshape or route around the constraint unless the owner explicitly changes the action or activates a new Pakt.

Fault

A validation, dependency, proving, persistence, or wallet failure is not a policy verdict. Follow the returned recovery guidance. The status reference explains how to handle results that may already have released a signature.

On this page