Skip to main content
An agent that pays suppliers, contractors or your own accounts needs no seller on the other end: the recipient is an address, and nothing has to run there. A payout is that transfer under a mandate, so the agent can pay only the addresses you named, if you named any, within the cap and budget you set, and every payout is on chain where anyone with the credential and the issuer’s public key can verify it. mandate pull signs the transfer with the credential and mandate key from spending limits. The facilitator submits it and pays the gas, as it does for a payment to a seller.
--payment-id is your id for the payout, such as the refund’s or the invoice’s. A retry under the same id sends the same payout: once it has paid, it reports already paid, nothing sent with the mandate’s current spend. Two payouts of one amount to one payee, such as two refunds to one customer, are two payments under two ids. Without an id, a payout is known by its payee and amount, so the second, sent while the first is pending, sends the first again. A retry runs from the same home directory, under the same credential, and with or without --payment-id as the first run did; otherwise it signs a new payout. A refused payout paid nothing, so its id may be sent again with other values. An id recorded as paid or held in a transaction the chain does not hold, as after a chain reset, fails and sends nothing. To submit a payout yourself, pass --key with a key that holds *USDZ for gas. With --key and --record-refusal, a refused payout is sent, and the refusal is recorded on chain in a transaction that moves nothing. mandate verify lists every payment under the mandate, payouts included, and every recorded refusal.

Pay under spending limits

The mandate a payout is made under, and its refusal reasons.

Verify a transfer

The checks a backend makes before it trusts a transfer.