Quilzomanual

Agents that pay, within limits a person sets

An agent pays only who a person named, only as much as they allowed, and every payment leaves a receipt.

In the adminApprovals

A mandate is what one agent may pay without a person deciding each payment: in one currency, to named payees, at most so much a payment and so much in all, until a date. It is the open mandate of AP2, the agent payments protocol, kept and checked by Quilzo.

A tool that pays

A REST operation that spends money says where in its arguments the amount, the currency and the payee are, so a payment is read from the call itself and never from a model's description of it:

{"name": "pay_invoice", "method": "POST", "path": "/payments",
 "body": {"type": "object"},
 "pays": {"amount": "body.amount", "minor": true,
          "currency": "body.currency", "payee": "body.payee"}}

Each of amount, currency and payee names a parameter, a field of the JSON body as body.FIELD, or a fixed value as =VALUE, such as "currency": "=USD". minor says the amount is in cents, as most payment APIs take it; without it, an amount is read as written, such as 12.50. Without a payee, the payee is the integration's host. Amounts are read exactly in each currency's own decimal places, from ISO 4217, and one with more places than its currency has is refused rather than rounded.

Grant a mandate

quilzo spend grant buyer --currency USD --per 50 --budget 500 \
  --payee acct_supplies --purpose "office supplies" --until 2026-12-31 --without-asking
A paymentWhat happens
Within a mandate granted --without-askingIt goes ahead and is debited from the mandate
Within a mandate that asksIt waits for a person in Approvals, shown as within the mandate
Beyond every mandate: another payee, too much, the budget spent, the mandate ended or revokedIt waits for a person, who may approve that one payment on its own

A mandate is granted by a person who may approve the agent's actions (the approve permission on the agent), never by a model. A paying call is never earned away from asking. What an agent reads can steer it, so a mandate is the most its holder accepts being spent however a run went: keep the payees exact and the amounts small. A payment that fails still counts against the mandate, because a call that timed out may have been paid; grant a new mandate once you know it was not.

Receipts

quilzo spend list buyer
quilzo spend receipts buyer
quilzo spend revoke md_…

Every payment leaves a receipt naming the agent, the run, the tool, the payee, the amount, and the mandate it was paid within or that a person approved it on its own, with what the far side answered. The audit log records each payment as it is made and settled.

Next