Objects
Mandate
What a user lets one agent do.
A mandate is what a user lets one agent do. It is issued by an operator or tenant on the user’s behalf, stored by the authorizer, and never signed or modified by the agent.
An agent MUST have exactly one live mandate (status active and expires_at in the future) for an intent to be judged. None is A2M_MANDATE_INACTIVE; more than one is A2M_MANDATE_AMBIGUOUS. Both fail closed.
Fields
Section titled “Fields”| Field | Meaning |
|---|---|
venues |
Allowlist of venue names. Required, non-empty. |
instruments |
Allowlist of instruments. Required, non-empty. |
max_order_qty |
Fat-finger cap on quantity per order. |
max_order_notional |
Fat-finger cap on notional per order. |
position_limit |
Maximum projected position notional. |
daily_loss_limit |
Once reached, only reducing orders pass. |
price_collar_bps |
Maximum distance of the limit price from the reference price, in basis points. Also bounds the protect price of market orders. |
max_open_orders |
Throttle on working orders. |
max_orders_per_minute |
Throttle on order rate. |
expires_at |
Must be in the future when issued. |
reduce_only |
Restrict the agent to reducing orders. |
budget_id |
Optional sub-budget the mandate draws on. |
allow_resize |
Shrink an order to what the limits allow (verdict RESIZE) instead of rejecting it. |
approval_above_notional |
Notional above which a human must approve (PENDING_APPROVAL). |
Reference data
Section titled “Reference data”A mandate is always checked together with reference data the authorizer holds:
- Instrument: lot size, tick size, currency, trading calendar and status.
- Protected unit: one product class on one venue, with its market rules and broker rules (accepted order types and times in force, minimum and maximum notional).
A product class the authorizer has no risk treatment for fails closed (A2M_UNSUPPORTED_PRODUCT).
Not in v0.1
Section titled “Not in v0.1”How a mandate is requested from and confirmed by the user is not standardised yet. In the reference implementation an operator API issues and revokes mandates. A user-facing mandate request flow is planned.