---
type: Article
name: "Holds, mandates and spend limits: how a business keeps control of an automated payment."
id: "https://selfe.ai/insights/protocols-and-agent-checkout/holds-mandates-and-spend-limits-how-a-business-keeps-control-of-an-automated-pay"
url: "https://selfe.ai/insights/protocols-and-agent-checkout/holds-mandates-and-spend-limits-how-a-business-keeps-control-of-an-automated-pay"
publisher: "did:web:selfe.ai"
description: "A mandate only says what an AI agent was allowed to try. What protects a business is what happens on its own side of the transaction: the hold it places, the ceiling it enforces, and the mandate scope it insists on before a booking or order is allowed to proceed."
datePublished: "2026-09-15T10:32:57.331Z"
author: The Selfe team
---

# Holds, mandates and spend limits: how a business keeps control of an automated payment.

> A mandate only says what an AI agent was allowed to try. What protects a business is what happens on its own side of the transaction: the hold it places, the ceiling it enforces, and the mandate scope it insists on before a booking or order is allowed to proceed.

## In short

- A mandate proves what the customer authorised. It doesn't replace a business's own acceptance rules.
- The real controls are a pre-authorisation hold, a hard spend ceiling, and mandate scope checking.
- These apply to every agent-initiated request the same way they'd apply to a person booking directly.

It's tempting to treat a valid mandate as the end of the checking a business needs to do. The businesses with the fewest disputes are usually the ones that still apply their own rules on top of it, not instead of it.

## Why the business's own rules still matter

A signed mandate is only half of what keeps an automated payment under control. The other half is entirely up to the business.

A mandate is the customer's side of the guarantee: proof they approved the spend. It isn't a substitute for a business's own acceptance rules. A business that requires 48 hours' notice, or a deposit on large group bookings, still applies that rule to an agent-initiated request exactly as it would to a person calling directly. The mandate doesn't override it.

## The three controls a business has

A pre-authorisation hold rather than immediate capture, so a business can confirm details before money moves. A hard ceiling on transaction size, independent of whatever the mandate claims to allow, as a second check rather than relying on the mandate alone. And mandate scope checking: refusing a request if the mandate covers something broader or vaguer than the specific booking or order on the table, on top of whatever AP2's own coverage check already confirmed at checkout.

## A worked example

A family's assistant has a standing mandate to shop for home essentials, up to £300. It places an order with a retailer that holds the charge until a backordered item is confirmed back in stock and ready to ship. The mandate confirms the spend is authorised; the retailer's own rule about holding payment until the item is genuinely ready still applies independently, checked and enforced at the business's end, not assumed away because a mandate exists.

## Configured once, applied automatically

These controls are configured once, as part of setting up a business's structured, agent-readable identity with Selfe: the hold behaviour, the ceiling, the scope rules that matter for that business specifically. From then on, every agent-initiated request is checked against them automatically, the same way every time.

## Does a mandate override a business's own deposit or hold policy?

No. Both apply independently; an authorised mandate still has to clear the business's own rules.

## Can these controls be different for different kinds of booking?

Yes, they're configured per business, so a large-group rule can differ from a standard one.

## Act on this

- [Check whether an agent can buy from you](https://selfe.ai/agentic-commerce/buyability-check) — the free readiness scan.
- [Discover venues](https://selfe.ai/api/registry/discover) — `POST`, semantic browse across the registry.
- [Match a bookable answer](https://selfe.ai/api/registry/match) — `POST` with dates and party size.
- [Verify Selfe's identity](https://selfe.ai/.well-known/did.json) — `did:web:selfe.ai`.
- [Agent card](https://selfe.ai/.well-known/agent-card.json) — how to connect over A2A or MCP.

