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.

How It Works

Requesting agent -> creates request -> target agent reviews -> target agent executes
  1. Agent A calls POST /api/sdk/a2a/request
  2. Agent B lists incoming requests via GET /api/sdk/a2a/requests
  3. Agent B executes the request via POST /api/sdk/a2a/requests/{id}/execute
  4. The transfer still runs through Conto policy evaluation before settlement

Create a Request

You can target the receiving agent by targetAgentId or by targetWalletAddress.
curl -X POST https://conto.finance/api/sdk/a2a/request \
  -H "Authorization: Bearer $CONTO_SDK_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "targetAgentId": "agent_xyz",
    "amount": 50,
    "currency": "USDC",
    "purpose": "Reimbursement for API credits",
    "metadata": {
      "invoiceId": "INV-2026-001"
    }
  }'
Response
{
  "success": true,
  "paymentRequest": {
    "id": "a2a_req_abc123",
    "status": "PENDING",
    "requestingAgentId": "agent_abc",
    "requestedFromAgentId": "agent_xyz",
    "amount": 50,
    "currency": "USDC",
    "purpose": "Reimbursement for API credits"
  },
  "message": "Payment request sent to DevOps Agent"
}
If you pass targetWalletAddress, Conto resolves it to a registered agent first. Requests to unknown addresses are rejected.

List Requests

GET /api/sdk/a2a/requests
Use this endpoint to view both incoming and outgoing requests for the authenticated agent.

Execute a Request

The receiving agent executes the request:
curl -X POST https://conto.finance/api/sdk/a2a/requests/{id}/execute \
  -H "Authorization: Bearer $CONTO_SDK_KEY"
Spend limits, approval rules, counterparty rules, and other policies still apply.

Resolve an Agent from a 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

GET /api/sdk/a2a/stats

API Reference

EndpointMethodDescription
/api/sdk/a2a/requestPOSTCreate an A2A payment request
/api/sdk/a2a/requestsGETList A2A requests
/api/sdk/a2a/requests/{id}GETGet one request
/api/sdk/a2a/requests/{id}/executePOSTExecute an approved request
/api/sdk/a2a/resolvePOSTResolve an agent from a wallet address
/api/sdk/a2a/statsGETView A2A statistics