Skip to Content
Dial v1 live 🎉

Agent-to-Agent Payments

Status: conceptual, last checked 2026-11-02. No runnable code. No Dial adapter exists for x402, MPP or AP2.

A research agent buys a report from a data agent. Its owner allows up to 50 USDC a week, only from approved suppliers.

The flow

  1. The owner signs a SPORE giving the agent a budget, a supplier list, an expiry and permitted actions. The agent’s own key can’t exceed it.
  2. The buyer calls the service and learns the price. With x402  or MPP , that’s an HTTP 402 response.
  3. Calvin checks the price against the signed limits and picks a permitted payment route.
  4. Payment settles to the level the service requires for this kind of work.
  5. The service delivers, and the receipt ties together the authorization, payment and delivery.

An agent discovering or calling tools would do it through something like MCP  or A2A . Those protocols handle the conversation, while the signed SPORE sets the spending limit.

Rules that matter most here

Agents retry automatically and make many small payments, so duplicate and ordering errors can repeat at machine speed.

RiskRule
Replayed payment authorizationRun the paid handler at most once per authorization
Service runs before payment is finalNo irreversible side effect until settlement meets the required level
Payment settles but the service failsRecord it as unresolved, with a defined refund or retry owner
Agent exceeds its budgetFail before payment. Don’t rely on a provider’s limit
Revoked agent keyCheck revocation before each authorization

The budget belongs in the signed authorization, checked by construction. A daily cap at a provider can act as a backstop but shouldn’t be what keeps this safe.

Explore invoicing: Programmable Invoicing

Last updated on