Skip to content
Back to AbaPay

Card snapshot

abapays.com · 2026-08-10 20:47:01 UTC · 7715e68132d5f9092d45765434a6c66ff7a6a7dd9f6b68cc6271ce5273d981a3

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.

{
  "protocolVersion": "0.3.0",
  "name": "AbaPay",
  "description": "Non-custodial bill-payment agent. Pays airtime, mobile data, electricity, cable TV, education fees and international top-ups across 170+ countries, settled in stablecoins on Celo and Base from a wallet that has granted a bounded, revocable on-chain allowance.",
  "url": "https://abapays.com/api/a2a",
  "preferredTransport": "JSONRPC",
  "version": "1.0.0",
  "documentationUrl": "https://github.com/investorphem/AbaPay#a2a",
  "iconUrl": "https://abapays.com/logo.png",
  "provider": {
    "organization": "AbaPay",
    "url": "https://abapays.com"
  },
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json",
    "image/png"
  ],
  "securitySchemes": {
    "bearer": {
      "type": "http",
      "scheme": "bearer",
      "description": "OAuth 2.1 access token (see /.well-known/oauth-authorization-server) or an AbaPay Agent Hub API key. A token authenticates the connection only \u2014 pay_bill additionally requires the wallet PIN on every single call."
    }
  },
  "security": [
    {
      "bearer": []
    }
  ],
  "skills": [
    {
      "id": "describe_capabilities",
      "name": "Describe capabilities",
      "description": "List what AbaPay can pay (airtime, data, electricity, cable, etc.), any services currently paused, and example requests. Call this first if unsure what is supported.",
      "tags": [
        "discovery",
        "capabilities"
      ],
      "examples": [
        "What can AbaPay pay for?"
      ]
    },
    {
      "id": "check_balance",
      "name": "Check wallet balance",
      "description": "Check a linked wallet's stablecoin balances and remaining agent spending allowance. Works with no arguments once this connector is authorized via OAuth; otherwise pass the api_key created in the AbaPay app's Agent Hub (MCP).",
      "tags": [
        "balance",
        "wallet",
        "stablecoin",
        "celo",
        "base"
      ],
      "examples": [
        "What is the linked wallet's USDC balance and approved limit?"
      ]
    },
    {
      "id": "list_plans",
      "name": "List purchasable plans",
      "description": "List the REAL, currently purchasable plans for a service that needs one \u2014 DATA bundles, CABLE packages, or EDUCATION products (WAEC/JAMB) \u2014 with their exact codes and current VTpass prices. ALWAYS call this before pay_bill for these three services and pass back one of the returned codes as variation_code. Never guess a plan, a code, or a price \u2014 if this returns nothing usable, say so rather than i",
      "tags": [
        "catalogue",
        "data",
        "cable",
        "education"
      ],
      "examples": [
        "List MTN data plans"
      ]
    },
    {
      "id": "list_international_options",
      "name": "Browse international options",
      "description": "Browse the REAL, live international top-up catalogue (170+ countries) one level at a time. Call with no country to see supported countries. Add country to see its product types. Add product_type_id to see operators. Add operator_id too to see real, currently purchasable plans with their exact codes, foreign-currency price, and NGN-equivalent cost. ALWAYS call this before pay_bill with service: INT",
      "tags": [
        "international",
        "airtime",
        "data",
        "catalogue"
      ],
      "examples": [
        "What airtime operators are available in Ghana?"
      ]
    },
    {
      "id": "transaction_history",
      "name": "Recent transaction history",
      "description": "List recent real transactions for the linked wallet \u2014 same data as the AbaPay app's History tab (service, provider, amount, status, tx hash). Read-only, no PIN required.",
      "tags": [
        "history",
        "receipts"
      ],
      "examples": [
        "What bills were paid recently?"
      ]
    },
    {
      "id": "pay_bill",
      "name": "Pay a bill",
      "description": "Pay a real bill \u2014 Nigerian (airtime, data, electricity, cable TV, a WAEC/JAMB education PIN) or international airtime/data across 170+ countries \u2014 from the linked wallet, settled on-chain and delivered via the same pipeline as the AbaPay app. For DATA, CABLE (when changing package), and EDUCATION, call list_plans first and use a real variation_code from it. For service: INTERNATIONAL, call list_in",
      "tags": [
        "payment",
        "airtime",
        "data",
        "electricity",
        "cable",
        "education",
        "international"
      ],
      "examples": [
        "Pay 1000 NGN MTN airtime for 08012345678"
      ]
    }
  ]
}