Coinbase Mandates API

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). 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.

Operations 12

POST /v2/mandates Create a mandate #
GET /v2/mandates List mandates #
GET /v2/mandates/{mandateId} Get a mandate #
POST /v2/mandates/{mandateId}/cancel Cancel a mandate #
GET /v2/mandates/{mandateId}/revocations List mandate revocations #
GET /v2/mandates/{mandateId}/revocations/{revocationId} Get a mandate revocation #
POST /v2/mandates/{mandateId}/revocations/wallet Revoke a mandate with a wallet #
GET /v2/mandates/{mandateId}/revocations/wallet/options Get wallet revocation options #
GET /v2/mandates/{mandateId}/approvals List mandate approvals #
GET /v2/mandates/{mandateId}/approvals/{approvalId} Get a mandate approval #
POST /v2/mandates/{mandateId}/approvals/wallet Approve a mandate with a wallet #
GET /v2/mandates/{mandateId}/approvals/wallet/options Get wallet approval options #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coinbase/refs/heads/main/json-schema/coinbase-conversion-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coinbase/refs/heads/main/json-schema/coinbase-currency-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coinbase/refs/heads/main/json-schema/coinbase-payment-method-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coinbase/refs/heads/main/json-schema/coinbase-transfer-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coinbase/refs/heads/main/json-schema/coinbase-transaction-summary-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coinbase/refs/heads/main/json-schema/coinbase-price-book-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coinbase/refs/heads/main/json-schema/coinbase-product-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coinbase/refs/heads/main/json-schema/coinbase-candle-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coinbase/refs/heads/main/json-schema/coinbase-trade-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coinbase/refs/heads/main/json-schema/coinbase-order-book-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coinbase/refs/heads/main/json-schema/coinbase-trade-2-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/coinbase/refs/heads/main/json-schema/coinbase-profile-schema.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/coinbase:coinbase-mandates-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

coinbase-mandates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Coinbase Developer Platform Mandates API
  description: The Coinbase Developer Platform APIs - leading the world's transition onchain.
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: 2.0.0
  contact:
    name: Coinbase Developer Platform
    email: cdp@coinbase.com
    url: https://cdp.coinbase.com
servers:
- url: https://api.cdp.coinbase.com/platform
  description: The production server of the CDP APIs.
security:
- apiKeyAuth: []
tags:


# --- truncated at 32 KB (205 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/coinbase/refs/heads/main/openapi/coinbase-mandates-api-openapi.yml