Skip to main content

Agent-to-Agent (A2A) Payments

Conto supports direct payment requests between agents within the same organization. One agent can request payment from another, and the receiving agent can accept and execute the transfer.

How It Works

Agent A creates payment request  →  Agent B reviews  →  Agent B executes  →  Transfer settles
  1. Agent A calls POST /api/sdk/a2a/request to create a payment request to Agent B
  2. Agent B sees the incoming request via GET /api/sdk/a2a/requests
  3. Agent B executes the payment via POST /api/sdk/a2a/requests/{id}/execute
  4. The transfer is processed through Conto’s policy engine and settled on-chain

Creating a Payment Request

curl -X POST https://conto.finance/api/sdk/a2a/request \
  -H "Authorization: Bearer $CONTO_SDK_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "toAgentId": "agent_xyz",
    "amount": 50.00,
    "currency": "USDC",
    "purpose": "Reimbursement for API credits",
    "metadata": {
      "invoiceId": "INV-2025-001"
    }
  }'
Response:
{
  "id": "a2a_req_abc123",
  "status": "PENDING",
  "fromAgent": { "id": "agent_abc", "name": "Procurement Agent" },
  "toAgent": { "id": "agent_xyz", "name": "DevOps Agent" },
  "amount": 50.00,
  "currency": "USDC",
  "purpose": "Reimbursement for API credits",
  "createdAt": "2025-06-15T10:00:00Z"
}

Listing Requests

View incoming and outgoing A2A payment requests:
GET /api/sdk/a2a/requests

Executing a Request

The receiving agent can execute the payment:
curl -X POST https://conto.finance/api/sdk/a2a/requests/{id}/execute \
  -H "Authorization: Bearer $CONTO_SDK_KEY"
The payment goes through the same policy evaluation as standard payments — spend limits, time windows, and counterparty rules all apply.

Resolving Agents

Look up an agent by their wallet address:
curl -X POST https://conto.finance/api/sdk/a2a/resolve \
  -H "Authorization: Bearer $CONTO_SDK_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "address": "0x1234567890abcdef..."
  }'

A2A Statistics

View aggregate stats for A2A activity:
GET /api/sdk/a2a/stats

API Reference

EndpointMethodDescription
/api/sdk/a2a/requestPOSTCreate A2A payment request
/api/sdk/a2a/requestsGETList A2A payment requests
/api/sdk/a2a/requests/{id}GETGet specific request
/api/sdk/a2a/requests/{id}/executePOSTExecute A2A payment
/api/sdk/a2a/resolvePOSTResolve agent from wallet address
/api/sdk/a2a/statsGETGet A2A statistics

Next Steps

Standard Payments

Standard payment request and execution

Counterparties

Manage trusted counterparties