> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cdp.coinbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mandates

A mandate is a durable, revocable standing authorization to debit a funding `source`. It lets a merchant debit the same source repeatedly without the customer present, which suits recurring payments and usage-based billing. A mandate does not move funds itself; a payment session authorizes against it via **Authorize a payment session with a mandate**, and capture, void, and refund then work as they do for any other session. For the full flow, spending limits, and integration options, see the [Recurring Payments guide](https://docs.cdp.coinbase.com/payments/payment-acceptance/recurring-payments.md).

Access to the Mandates APIs requires enablement by Coinbase.

**Who does what.** Approving a mandate and revoking its on-chain spending allowance are customer-initiated: the customer signs the payload, so **Approve a mandate with a wallet** and **Revoke a mandate with a wallet** are unauthenticated. Creating, canceling, and reading mandates are merchant actions authenticated with your API key.

**Canceling vs. revoking.** These are independent. **Cancel a mandate** is an off-chain merchant action and does not touch the on-chain allowance (`canceledAt` is set). **Revoke a mandate with a wallet** removes the on-chain allowance (`revokedAt` is set). A `canceled` mandate can still have a live allowance until the customer revokes it. `status` records only the most recent transition; the timestamps are the durable record.
