Metadata
| Field | Value |
|---|---|
| Name | beneficiary.add |
| Category | write |
| Required scope | beneficiary:write |
| Idempotency key required | yes |
Annotations
| Annotation | Value |
|---|---|
| Title | Propose Beneficiary |
| Read-only | no |
| Destructive | no |
| Idempotent | yes |
| Open-world | no |
| Requires human approval | yes (step-up) |
Input schema
Output schema
Auth
Caller’s grant must include thebeneficiary:write scope. Grants whose scope set is a superset of the required scope are accepted.
Request examples
Response examples
Success — proposal enqueued for principal approval:Errors
| Code | Name | Cause | Remediation |
|---|---|---|---|
-32600 | Invalid request | Malformed JSON-RPC envelope | Check method, jsonrpc, and id fields |
-32602 | Invalid params | counterparty.chain not in enum, address empty, or idempotency_key too short | Validate against the input schema before calling |
-32001 | Unauthorized | Missing/expired grant token | Refresh via agent.grant.refresh |
-32002 | Policy denied | Grant missing beneficiary:write scope | Issue a new grant with the required scope |
-32004 | Rate limited | Too many proposals in a short window | Back off by retry_after_seconds in the error data |
-32603 | Internal error | Proposal write failed | Retry with the same idempotency_key; the response will be idempotent |