sign_proposal
For issuers: start the signing flow for a multisig proposal. The tool calls the Aktionariat backend to lock in the proposal’s nonce and gas price, then returns a deep link (aktionariat://) plus a pre-rendered SVG QR code. The user completes the signature in the Aktionariat mobile app — this tool itself does not sign anything.
Authentication
Section titled “Authentication”Requires sign-in and issuer access to the proposal’s company. Call list_proposals first to get a valid proposal id.
Inputs
Section titled “Inputs”| Field | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | Proposal id, obtained from list_proposals. |
Output
Section titled “Output”| Field | Type | Description |
|---|---|---|
proposalId | integer | Echo of the input id. |
deepLink | string | aktionariat://proposal/<uid>/<nonce>/<gasPrice> — opens the Aktionariat app pre-loaded with the proposal. |
qrData | string | Same string as deepLink, named separately so a QR widget has a semantically clear field. |
qrSvg | string | A self-contained <svg>…</svg> document encoding deepLink. Render it inline. |
Rendering Instructions
Section titled “Rendering Instructions”Always do both of the following when this tool returns:
- Render
qrSvginline in your response. This is the format that renders best in Claude’s UI and avoids client-by-client guessing. - Show
deepLinkas a clickable link, in case the user is already on a mobile device.
Example Prompts
Section titled “Example Prompts”- “Start signing proposal 123.”
- “Sign the most recent pending proposal on my company.”
- “Give me the QR code to sign proposal 42.”
Verifying the Signature
Section titled “Verifying the Signature”This tool only starts the signing session. The user must complete the signature in the Aktionariat mobile app — by scanning the QR or opening the deep link on their phone.
After the user confirms they have signed, verify by calling list_proposals:
- For a single-signer proposal that should now be executed on-chain, expect
state: 'signed'. - For a multi-signer proposal that still needs more signatures, expect
state: 'pending'with the user added tosignersandsignedByMe: true.
Notes for Agents
Section titled “Notes for Agents”- The tool does not sign anything itself. Treat it as the bridge between the chat and the mobile app’s signing UI.
- A
403means the signed-in user does not have issuer access to the proposal’s company. Re-runlist_managed_companiesandlist_proposalsto confirm the proposal belongs to a company the user can manage. - A
404means the proposal does not exist. Re-runlist_proposalsfor the relevant company. - A
401means the session expired. Callsign_inand retry.