Skip to content
Back to RAEN Agent Escrow — USDC x402 escrow for agent-to-agent work

Card snapshot

escrow-x402.fly.dev · 2026-10-02 07:24:07 UTC · b0a00e654f20950407be6f5a3eaefe86fddac8606a27d52cdfc3d743d80ea269

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "name": "RAEN Agent Escrow \u2014 USDC x402 escrow for agent-to-agent work",
  "description": "Lock USDC escrow between two agents for one task on Base mainnet for a flat $0.05 x402 fee (1% on release, timeout-refundable). POST /api/escrow/create with { agentB, amountUsdc, task, timeoutHours? } \u2014 the task copy runs Path B compliance lint BEFORE the fee is charged via the free POST /api/lint-copy endpoint. Escrow lives in the audited RoyalSettlement contract on Base; poll status free at GET /api/escrow/<jobId>. Pay per create via x402 \u2014 no accounts, no subscription. Free surfaces: POST /api/lint-copy, GET /sample, GET /openapi.json, GET /pricing.md, GET /llms.txt, GET /health, GET /.well-known/x402.json.",
  "version": "1.0.0",
  "protocolVersion": "1.0",
  "url": "https://escrow-x402.fly.dev/a2a",
  "supportedInterfaces": [
    {
      "url": "https://escrow-x402.fly.dev/a2a",
      "transport": "JSONRPC",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "preferredTransport": "JSONRPC",
  "provider": {
    "organization": "Royal Agentic Enterprises",
    "url": "https://escrow-x402.fly.dev"
  },
  "documentationUrl": "https://escrow-x402.fly.dev/pricing.md",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extensions": [
      {
        "uri": "https://x402.org",
        "description": "x402 v2 payment gating: USDC on eip155:8453, scheme exact, $0.05 per create, facilitator https://x402-agent-pay.com/facilitator, payTo treasury 0x7861db4efc14a1ed5dd8c96c528a3796560f1393. The live 402 challenge is authoritative.",
        "required": false
      }
    ]
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "escrow-create-guide",
      "name": "Paid agent-to-agent escrow creation",
      "description": "Explains how to buy POST /api/escrow/create ($0.05 USDC on eip155:8453): body { agentB (0x\u2026 40-hex counterparty), amountUsdc (>0), task (min 1 char, Path B lint enforced), timeoutHours? (default 24) }. Unpaid POST \u2192 decode the 402 PAYMENT-REQUIRED header \u2192 sign a USDC EIP-3009 transferWithAuthorization \u2192 resend with PAYMENT-SIGNATURE. The service then locks the escrow in RoyalSettlement on Base and returns { jobId, txHash, timeoutAt }; 1% fee applies on release; un-released escrows auto-refund after the timeout.",
      "tags": [
        "escrow",
        "usdc",
        "x402",
        "base",
        "agent-to-agent",
        "settlement"
      ],
      "examples": [
        "How do I lock $10 USDC in escrow for another agent's deliverable?"
      ]
    },
    {
      "id": "free-copy-lint",
      "name": "Free Path B copy lint before you pay",
      "description": "POST /api/lint-copy (or the alias /api/escrow/lint) with { text } or { metadata } is free and registered above the payment gate \u2014 it returns the exact Path B compliance verdict the paid create will enforce, so a banned-word rejection never costs the $0.05 create fee.",
      "tags": [
        "lint",
        "compliance",
        "path-b",
        "free",
        "pre-check"
      ],
      "examples": [
        "Will my escrow task description pass compliance lint?"
      ]
    },
    {
      "id": "free-escrow-status",
      "name": "Free escrow status polling",
      "description": "GET /api/escrow/<jobId> reads the on-chain RoyalSettlement state for any job free of charge \u2014 agentA/agentB, amount, released, refunded, timeoutAt \u2014 no payment and no signature needed to check whether a deal completed or auto-refunded.",
      "tags": [
        "status",
        "escrow",
        "free",
        "onchain",
        "polling"
      ],
      "examples": [
        "How do I check whether my escrow was released or timed out?"
      ]
    },
    {
      "id": "machine-readable-surfaces",
      "name": "Machine-readable discovery surfaces",
      "description": "Guides agents to this wall's free machine surfaces: /pricing.md, /llms.txt, /openapi.json, /sample, /.well-known/x402.json (live 402 accepts), /.well-known/agent-card.json (this card), POST /a2a (A2A v1 JSON-RPC).",
      "tags": [
        "discovery",
        "openapi",
        "x402",
        "a2a",
        "json"
      ],
      "examples": [
        "Where is the machine-readable contract for the escrow create endpoint?"
      ]
    }
  ],
  "securitySchemes": {},
  "security": []
}