prepare_pakt_activation
Create a browser approval request for one exact canonical Pakt.
| Field | Meaning |
|---|---|
| Side effects | Creates a six-hour review challenge. Activation occurs after Pakt signer approval in the browser. |
| Next step | The owner approves in the browser, then the client confirms the root with list_pakts. |
Arguments
| Argument | Type | Required |
|---|---|---|
canonical_ssz | string | yes |
Exact bounds, accepted values, and nested fields are in Full JSON Schema below.
Example
draft is the decoded final draft_pakt result. Call only after the user asks to begin activation. The agent must not sign the approval.
With an authenticated MCP client:
await client.callTool({
name: "prepare_pakt_activation",
arguments: { canonical_ssz: draft.pakt.canonical_ssz },
});Returns
Important fields in the decoded result; this is not a complete response schema.
| Field | Meaning |
|---|---|
status | BROWSER_WALLET_APPROVAL_REQUIRED, not an active Pakt. |
dashboard_url | Give this URL to the user for review and Pakt signer approval. |
pakt_root | Must match the final reviewed draft. |
expires_at | Unix seconds; the challenge lasts six hours. |
account_id / environment | Server-derived scope of the approval. |
For error handling and retry rules, see Statuses and Errors.
Stage one exact canonical Pakt for browser review. This creates a random six-hour EIP-712 challenge bound to the authenticated account, deployment environment, canonical root, and current Pakt signer. It does not activate the Pakt or accept key/signature material from the agent. The human completes activation in the dashboard with the bound Pakt signer.
From tools/list, MCP protocol revision 2026-07-28.
{
"additionalProperties": false,
"properties": {
"canonical_ssz": {
"description": "Canonical pakt SSZ as lowercase hex without 0x.",
"maxLength": 529256,
"minLength": 1,
"pattern": "^[0-9a-f]+$",
"type": "string"
}
},
"required": [
"canonical_ssz"
],
"type": "object"
}