Base Spend Permissions for AI Agents

Base Spend Permissions let an account authorize a named spender to transfer a specified token within an allowance and time period. For an agent business, that onchain permission should sit beneath a written authority grant, isolated agent identity, customer-controlled account, transaction logging, reconciliation, and a tested revocation path.

Last updated 2026-08-29


What is a Base Spend Permission?

A Base Spend Permission is a signed authorization that lets a designated spender move a supported token from a user’s smart account within defined limits. The permission records the account, spender, token, allowance, recurring period, start time, end time, and distinguishing data. (Coinbase, SpendPermissionManager source)

It is a technical payment control, not a company resolution, provider approval, or legal delegation by itself. Start with the Agent Business Readiness Scan, and see Controlled Payment Activation for a business and provider assessment.

What does the permission control?

The current Base contract structure includes these core fields:

FieldMeaning
accountSmart account whose assets may be spent
spenderAddress allowed to initiate the spend
tokenNative token or supported ERC-20 token
allowanceMaximum amount available within each period
periodTime interval after which the period allowance resets
startEarliest valid time
endExpiration time
saltValue that distinguishes otherwise identical permissions
extraDataOptional data available to the spender’s implementation

The account owner signs typed permission data. The spender later submits calls through the permission manager, which checks approval, time, token, and available allowance before transferring value. The account owner can revoke the permission onchain. (Coinbase Spend Permissions repository)

How should an agent business use it?

Bind each permission to one accountable business context:

  1. identify the legal organization and human controller;
  2. identify the exact agent and production environment;
  3. approve a written authority with allowed purposes and counterparties;
  4. create a dedicated spender rather than reuse a broad treasury address;
  5. choose the token, allowance, period, start, and end;
  6. record who requested and signed the permission;
  7. log every spend with the business purpose and resulting output;
  8. reconcile onchain transfers with invoices, receipts, or service results;
  9. revoke and test failure before treating the setup as production-ready.

The onchain permission enforces token movement. Application policy must enforce rules that the contract does not know, such as approved vendor, product category, invoice terms, or required human review.

Does the permission remove all approval prompts?

After the user signs and the permission is active, the designated spender can initiate transfers within the defined limits without a fresh user signature for each spend. That is the feature, and also the reason to keep the allowance and duration narrow.

Do not issue a large indefinite allowance merely to avoid prompts. Start with the smallest amount, shortest useful period, and one test use case. Increase only after the business can explain the transactions, reconcile them, and revoke the permission reliably.

Should every agent use a separate spender or subaccount?

Separate identities improve attribution and incident response. A dedicated spender address or separately controlled account can isolate budget, activity, and revocation for one agent or environment. Confirm the exact account model, supported tokens, and SDK behavior against the current implementation before use.

Isolation does not make the agent the owner of funds. The organization and controller remain responsible for the account, policy, provider terms, and accounting.

What risks remain outside the contract?

Spend limits do not answer every business question. The implementation still needs to address:

Use server-side validation, idempotency, counterparty rules, monitoring, and human approval for these layers.

What should a revocation drill prove?

A useful drill tests the real permission manager and application path:

  1. sign a small, short-lived permission;
  2. complete one expected transfer;
  3. verify the allowance and evidence record;
  4. revoke the permission from the controlling account;
  5. attempt the same transfer again;
  6. confirm failure at the onchain or provider control;
  7. confirm the application reports the revoked state;
  8. create a replacement only after review.

Do not count a dashboard toggle as proof unless the transaction path actually fails afterward.

Who should hold the keys?

The customer or its chosen wallet provider should control account keys. An activation service can help define the permission, observe configuration, and document the test, but should never request a seed phrase or private key.

If a vendor needs signing access, use a scoped, documented provider-controlled design and understand its custody, recovery, and incident model before funding it.

What is the next step?

Record the intended transaction, token, maximum amount, period, spender, counterparties, approval owner, and revocation owner. Use the readiness scan to identify organization and authority gaps. Then request a Controlled Payment Activation assessment to compare Base permissions with other provider-controlled options.


Last updated August 2026. Base contracts, SDKs, supported chains, tokens, and product availability can change. Confirm current official documentation before production use. This is not legal, tax, financial, investment, or security advice.

Primary sources: