Skip to content
Back to api.xfuel.app

Card snapshot

api.xfuel.app · 2026-08-30 04:01:41 UTC · 4a4660633938007e116f6f5498456a0c330ac874c13c29a45cb6c23d3da7eb60

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": "XFuel",
  "description": "XFuel is the book. This agent spent Y on this job. You hold hub, model, and amount. Paid door is POST /v1/chat/completions at $0.01 USDC on Base (eip155:8453) and Solana. POST /a2a-message is the same $0.01 door (A2A HTTP+JSON URL). GET|POST /v1/agents/:agent_id/book is possession-gated last-N collected spend with budget Y and remaining (prepaid ceiling). POST /v1/agents/register is fail-closed: collected HMAC-valid receipt plus an AAWP official or smart-account agentWallet. Returns integer agent_id for POST /erc8004/validate.",
  "supportedInterfaces": [
    {
      "url": "https://api.xfuel.app/a2a-message",
      "protocolBinding": "HTTP+JSON",
      "protocolVersion": "1.0"
    }
  ],
  "provider": {
    "organization": "XFuel",
    "url": "https://xfuel.app"
  },
  "version": "1.0.0",
  "documentationUrl": "https://api.xfuel.app/llms.txt",
  "iconUrl": "https://api.xfuel.app/xfuel-icon.svg",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "chat-completions",
      "name": "Paid chat completions",
      "description": "OpenAI-compatible POST /v1/chat/completions. $0.01 USDC on Base and Solana. Unauthenticated GET or POST {} returns HTTP 402. You hold hub, model, and amount.",
      "tags": [
        "llm",
        "openai-compatible",
        "x402",
        "usdc"
      ],
      "examples": [
        "POST /v1/chat/completions with { model, messages }"
      ]
    },
    {
      "id": "a2a-message",
      "name": "A2A paid door",
      "description": "POST /a2a-message is the A2A card URL. Same $0.01 x402 floor and chat fulfillment as /v1/chat/completions. You hold hub, model, and amount. Unauthenticated POST {} returns HTTP 402. Collected rows are bookable via GET|POST /v1/agents/:agent_id/book.",
      "tags": [
        "a2a",
        "x402",
        "usdc",
        "llm"
      ],
      "examples": [
        "POST /a2a-message with { model, messages } \u2014 same body as /v1/chat/completions"
      ]
    },
    {
      "id": "register-agent",
      "name": "Register agent identity",
      "description": "POST /v1/agents/register is fail-closed: bind an AAWP official or smart-account agentWallet to an integer agent_id using a collected HMAC-valid receipt. Demo receipts do not qualify.",
      "tags": [
        "identity",
        "erc8004",
        "a2a"
      ],
      "examples": [
        "POST /v1/agents/register with { agentWallet, task_id }"
      ]
    },
    {
      "id": "agent-book",
      "name": "Agent spend book",
      "description": "GET|POST /v1/agents/:agent_id/book returns last-N collected spend for that agent_id, plus budget Y (cap), spent, and remaining under a prepaid ceiling. Possession-gated (register session or HMAC). Set budget with POST { session, budget }. Not a public index. You hold hub, model, and amount.",
      "tags": [
        "identity",
        "spend"
      ],
      "examples": [
        "POST /v1/agents/1/book with { session }",
        "POST /v1/agents/1/book with { session, budget: \"10000\" }"
      ]
    },
    {
      "id": "erc8004-validate",
      "name": "ERC-8004 validate",
      "description": "POST /erc8004/validate turns a settled receipt into a score (0\u2013100) for a registered agent_id.",
      "tags": [
        "erc8004",
        "validation"
      ],
      "examples": [
        "POST /erc8004/validate with { task_id, request_hash, agent_id }"
      ]
    },
    {
      "id": "models",
      "name": "Model catalog",
      "description": "GET /v1/models lists the live catalog. Public, no key.",
      "tags": [
        "catalog",
        "openai-compatible"
      ],
      "examples": [
        "GET /v1/models"
      ]
    }
  ],
  "securitySchemes": {
    "apiKey": {
      "apiKeySecurityScheme": {
        "location": "header",
        "name": "X-API-Key",
        "description": "API key. Not a wallet. Demo key xfuel-demo skips payment on chat; it does not qualify register."
      }
    }
  },
  "security": [
    {
      "apiKey": []
    }
  ]
}