prepare_mandate_signature
Generate the exact payload bytes a principal must sign to authorize a mandate without writing it; use the returned signed_at and principal signature when calling create_mandate.
Instructions
Return the exact bytes a principal must sign to grant this mandate.
Takes the same arguments as create_mandate. Nothing is written. The principal signs payload (UTF-8 bytes; payload_b64url is the same bytes) with its Ed25519 key, then calls create_mandate with the same arguments plus principal_signature and this signed_at. Any difference in the arguments makes the signature invalid.
Args: signed_at: ISO 8601 timestamp with timezone to place in the payload. Default: now (UTC). Example: "2026-10-18T20:30:00+00:00" (all other arguments: see create_mandate)
Returns: JSON string with keys: payload (str), payload_b64url, signed_at. On error: {"error": "...", "code": "..."}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scope | Yes | ||
| agent_id | Yes | ||
| currency | No | EUR | |
| metadata | No | ||
| signed_at | No | ||
| max_amount | No | ||
| period_days | No | ||
| principal_id | Yes | ||
| risk_classes | No | ||
| amount_actions | No | ||
| duration_hours | Yes | ||
| allowed_actions | No | ||
| forbidden_actions | No | ||
| parent_mandate_id | No | ||
| period_max_amount | No | ||
| delegation_allowed | No | ||
| legal_basis_article | Yes | ||
| max_delegation_depth | No | ||
| legal_basis_regulation | Yes | ||
| legal_basis_jurisdiction | No | EU |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |