Pakt Docs
MCP Tools

draft_pakt

Compile one candidate Pakt and receive everything needed for human review.

FieldMeaning
Side effectsReturns review data only. Account and Pakt authority remain unchanged.
Next stepPresent pakt.review; after user review, pass the exact pakt.canonical_ssz to prepare_pakt_activation.

Arguments

ArgumentTypeRequired
draft_jsonstringno
preset_idstringno
viewstringno

Exact bounds, accepted values, and nested fields are in Full JSON Schema below.

Example

Compiles unchanged example limits, not a personalized recommendation. First confirm this ID appears in list_pakt_templates. To customize it, edit the returned source.draft_json and send that JSON string as draft_json instead of preset_id.

With an authenticated MCP client:

await client.callTool({
  name: "draft_pakt",
  arguments: { preset_id: "perps-conservative" },
});

Returns

Important fields in the decoded result; this is not a complete response schema.

FieldMeaning
statusDRAFT_NO_SIDE_EFFECTS. No storage, activation, or signing occurs.
pakt.reviewHeadline, important note, and readable rule groups to show the user. The freshness and deadlines group always states when the Pakt itself expires.
pakt.rootIdentifier of this exact compiled draft.
pakt.canonical_sszPass unchanged to activation preparation after user review.
source.draft_jsonEditable source as a JSON string; compile revisions to get a new root.
pakt.dual_readback / pakt.technical_detailsExhaustive audit views; not the default user-facing explanation.
view: "review"Optional. Omits pakt.technical_details and pakt.dual_readback and adds pakt.omitted; root, canonical SSZ, review, and activation handoff are unchanged. The default view: "full" returns everything.

For error handling and retry rules, see Statuses and Errors.

On this page