list_proposals
For issuers: list multisig proposals on a managed company, sorted most recent first. Each row describes the proposal in enough detail to reason about its status and decide whether to sign it.
Authentication
Section titled “Authentication”Requires sign-in and issuer access to the requested company. Call list_managed_companies first to get a valid companyId.
Inputs
Section titled “Inputs”| Field | Type | Required | Description |
|---|---|---|---|
company | integer | Yes | Company id of a company the signed-in user is authorized to manage. |
state | string | No | Filter by state: pending, signed, or failed. Omit to list across all states. |
pageNumber | integer | No | Zero-based page index. Default 0 (most recent page). |
pageSize | integer | No | Proposals per page. Default 10, maximum 100. Raise only when the user asks for more. |
Output
Section titled “Output”A summary envelope with pagination metadata and the proposals on the requested page:
| Field | Type | Description |
|---|---|---|
companyId | integer | The company id the proposals belong to. |
state | string | State filter applied, if any. Omitted when listing across all states. |
pageNumber | integer | Zero-based page index. |
pageSize | integer | Page size used for the request. |
totalElements | integer | Total number of proposals matching the filter. |
totalPages | integer | Total number of pages at the requested page size. |
items | array | Proposals on this page. |
Each proposal in items contains:
| Field | Type | Description |
|---|---|---|
id | integer | Proposal id — required input for sign_proposal. |
nonce | string | Account nonce reserved for this proposal (decimal string). Required when signing. |
gasPrice | number | Gas price locked in for this proposal (wei). Required when signing. |
creationTimestamp | string | ISO timestamp the proposal was created. |
executionDatetime | string | ISO timestamp the proposal was executed on-chain. Absent while the proposal is pending or has failed. |
declaration | string | Solidity-style method signature being called, e.g. setPaymentHub(address hub). |
title | string | Short human-readable title. |
message | string | Fuller human-readable description of what the proposal does. |
toAddress | string | Contract address the proposal would call. |
hexData | string | ABI-encoded call data (hex). Not directly user-readable; encodes the decoded parameters of the transaction. |
hash | string | On-chain transaction hash. Present only once the proposal has executed. |
signedBy | array | Signers who have already signed, as { name } objects. |
youHaveSigned | boolean | Whether the signed-in user has already signed this proposal. |
initiatorName | string | Name of the person who created the proposal. |
state | string | pending · signed · failed. |
errorMessage | string | Backend-reported failure reason. Present only when state is failed. |
Other fields from the backend’s verbose trans block (gas limit, value, from address, block number, etc.) and the proposal’s labels / children / chain are stripped by the adapter and never reach the model context.
Example Prompts
Section titled “Example Prompts”- “List my company’s pending multisig proposals.”
- “Show the most recent signed proposals for company 42.”
- “Which pending proposals on my company have I not yet signed?”
- “Did the last proposal succeed or fail?”
Notes for Agents
Section titled “Notes for Agents”- Always call
list_managed_companiesfirst — passing acompanyid the user is not authorized for returns403. - Use
state: 'pending'when the user asks “what needs signing?” — it returns only proposals awaiting more signatures or execution. - The
youHaveSignedflag is the canonical way to know whether the signed-in user still needs to sign a given proposal. Do not infer fromsignedByalone. - A
404means the company does not exist; re-runlist_managed_companies. A401means the session expired; callsign_inand retry.