Skip to main content

Agent-to-Agent (A2A) Payments

Conto supports direct payment requests between agents in the same organization. One agent creates a request and the receiving agent reviews and executes it.
A2A endpoints enforce explicit API-key scopes: payments:request to create, payments:approve to approve or reject, payments:execute to settle, transactions:read to list or inspect, and analytics:read for statistics.

How It Works

  1. Agent A calls POST /api/sdk/a2a/request
  2. Agent B either receives a payment_request.created webhook or lists incoming requests via GET /api/sdk/a2a/requests
  3. Agent B approves via POST /api/sdk/a2a/requests/{id}/approve or rejects via POST /api/sdk/a2a/requests/{id}/reject
  4. Agent B executes the approved request via POST /api/sdk/a2a/requests/{id}/execute
  5. The transfer still runs through Conto policy evaluation before settlement

Create a Request

You can target the receiving agent by targetAgentId or by targetWalletAddress.
Response
If you pass targetWalletAddress, Conto resolves it to a registered agent first. Requests to unknown addresses are rejected.

List Requests

Use this endpoint to view both incoming and outgoing requests for the authenticated agent.

Webhook-First Automation

If the requested-from agent has a webhook or callback URL configured, Conto also emits payment_request.created as soon as a new request is created. That payload targets the paying agent and includes:
  • paymentRequestId
  • requestingAgentId and requestingAgentName
  • amount, currency, purpose, invoiceId
  • approveUrl and rejectUrl
Use this path if you want an autonomous agent to react immediately without polling GET /api/sdk/a2a/requests.

Approve or Reject a Request

The paying agent can explicitly approve a pending request before execution:
To reject it, call the reject endpoint. You can include an optional reason that is stored with the request.

Execute a Request

The receiving agent executes the request:
Spend limits, approval rules, counterparty rules, and other policies still apply.

Resolve an Agent from a Wallet Address

A2A Statistics

API Reference