Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
100
A2A live JSON-RPC A2A 0.3.0 v1.0.0

AbaPay

agents.abapays.com · AbaPay

Non-custodial bill-payment agent. Pays airtime, mobile data, electricity, cable TV, education fees and international top-ups across 140+ countries, settled in stablecoins on Celo and Base from a wallet that has granted a bounded, revocable on-chain allowance.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain agents.abapays.com via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership
🔔 Watch this agent. Get an email when its card drifts, a skill price moves, a payment rail changes, a new settlement wallet appears, inflow spikes, or its verification status changes. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
61/100
grade C · 9 criteria
Uptime
accumulating
1/5 direct probes · 30d
~641 ms response
Observed inflow · 30d
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
changed
1 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

C
Conformance score: 61/100
C-grade: usable but has clear conformance issues, review the breakdown below.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
pass Live JSON-RPC 25/25
Endpoint responds to a negotiated A2A SendMessage probe (answers in ~641 ms).
partial Protocol version 5/10
Declares pre-1.0 A2A 0.3.0 (Google preview). Upgrade to v1.x for full points.
How to earn +5 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` (Major.Minor, no patch number — §3.6) to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs →
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far, need ≥5 for an uptime grade.
pass Skill declaration 10/10
Declares 10 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: AbaPay (https://agents.abapays.com). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 4/5
seen in upstream source within 0d
partial Security declaration 2/5
Declares 1 security scheme(s) but none use PKCE or mTLS.
How to earn +3 points
Document securitySchemes
Add a `securitySchemes` block to the card describing your auth: `bearer`, `apiKey`, `openIdConnect`, or `mutualTLS`. Routers refuse to call agents that declare no auth model.
Docs →
⚠ Card drift detected. This agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded

Nothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

1 snapshot Every change to agent-card.json
Captured Hash
2026-09-21 07:26:36 current b14e6eb983d5… view →
Uptime
accumulating
1 direct probes · 30d
Response
425ms
last direct probe
Skills
10
declared
Streaming
SSE-capable

Try it

Send a message to this agent live. Your prompt is proxied through Agenstry.

calling agent…

Skills · 10 declared · mapped to canonical taxonomy

Describe capabilities

List what AbaPay can pay (airtime, data, electricity, cable, etc.), any services currently paused, and example requests. Call this first if unsure what is suppo…

canonical Api Schema Understanding match 81%
discoverycapabilities
Check wallet balance

Check a linked wallet's stablecoin balances and remaining agent spending allowance. Works with no arguments once this connector is authorized via OAuth.

canonical x402 Crypto Micropayment match 84%
balancewalletstablecoincelobase
List purchasable plans

List the REAL, currently purchasable plans for a service that needs one — DATA bundles, CABLE packages, or EDUCATION products (WAEC/JAMB) — with their exact cod…

canonical UCP Catalog Exposure match 81%
cataloguedatacableeducation
Browse international options

Browse the REAL, live international top-up catalogue (140+ countries) one level at a time. Call with no country to see supported countries. Add country to see i…

canonical Flight Search and Booking match 83%
internationalairtimedatacatalogue
Recent transaction history

List recent real transactions for the linked wallet — same data as the AbaPay app's History tab (service, provider, amount, status, tx hash). Read-only, no PIN …

canonical Onchain Subgraph Query match 81%
historyreceipts
Pay a bill

Pay a real bill — Nigerian (airtime, data, electricity, cable TV, a WAEC/JAMB education PIN) or international airtime/data across 140+ countries — from the link…

canonical X402 Usdc Payments match 82%
paymentairtimedataelectricitycable
Pay multiple bills at once

Pay airtime or data to multiple recipients in ONE call — the same multi-recipient batch Telegram/WhatsApp/X support ("send 500 to X and 1000 to Y"). One PIN aut…

canonical X402 Usdc Payments match 83%
paymentairtimedatabatch
Schedule a bill

Set up a recurring or future one-off bill payment — daily/weekly/monthly airtime, data, electricity, or cable — the same automation Telegram/WhatsApp/X support.…

canonical Invoicing and Billing match 84%
paymentschedulerecurringautomation
List schedules

List active recurring/one-off bill schedules for the linked wallet — same data as the AbaPay app and Telegram/WhatsApp "show my schedules". Read-only, no PIN re…

canonical Recurring Job Scheduling match 84%
schedulerecurringautomation
Cancel a schedule

Cancel one or more active schedules for the linked wallet. Call list_schedules first to get a real id. Pass id to cancel exactly one; pass provider to cancel ev…

canonical Recurring Job Scheduling match 83%
schedulerecurringautomation

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-09-21 07:26:36 200 425ms

Similar agents embedding-nearest

AbaPay live
Non-custodial bill-payment agent. Pays airtime, mobile data, electricity, cable TV, education fees and international top-ups across 140+ cou
AbaPay · q 100%
Agoragentic live
Agoragentic Agent OS and marketplace router for autonomous agents. Deploy governed agents, route tasks to trusted services, expose machine-r
Agoragentic · q 100%
data.crestsystems.ai live
Counterparty intelligence for the agent economy. Profile any x402 buyer or Base/EVM wallet before you transact: whale score, behavioral clus
data.crestsystems.ai · q 45%
Lunium live
Settles between Brazilian PIX and stablecoins, and issues Central Bank end-to-end (E2E) receipts. Four skills need no credentials: check liv
Lunium (ZANQUETA INTERMED LTDA) · q 100%
Lunium live
Settles between Brazilian PIX and stablecoins, and issues Central Bank end-to-end (E2E) receipts. Four skills need no credentials: check liv
Lunium (ZANQUETA INTERMED LTDA) · q 100%
remittancepulse.vercel.app
Global remittance intelligence API. 9 endpoints covering 200+ corridors: corridor analysis (best providers, fees, receive options), provider
remittancepulse.vercel.app · q 45%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/agents.abapays.com.svg)](https://agenstry.com/agents/agents.abapays.com)
[![Verified Business](https://agenstry.com/badge/agents.abapays.com/identity.svg)](https://agenstry.com/agents/agents.abapays.com)
[![Uptime](https://agenstry.com/badge/agents.abapays.com/uptime.svg)](https://agenstry.com/agents/agents.abapays.com)
[![A2A version](https://agenstry.com/badge/agents.abapays.com/protocol.svg)](https://agenstry.com/agents/agents.abapays.com)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "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 140+ countries, settled in stablecoins on Celo and Base from a wallet that has granted a bounded, revocable on-chain allowance.",
  "url": "https://agents.abapays.com/api/a2a",
  "preferredTransport": "JSONRPC",
  "version": "1.0.0",
  "documentationUrl": "https://github.com/investorphem/AbaPay#a2a",
  "iconUrl": "https://agents.abapays.com/logo.png",
  "provider": {
    "organization": "AbaPay",
    "url": "https://agents.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.",
      "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 (140+ 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. The interactive card's own Next/Previous buttons page through results by re-calling this tool with a different offset \u2014 pass offset yourself only when asked for something like \"the next page\" or \"transactions before that\" in plain",
      "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 140+ 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"
      ]
    },
    {
      "id": "pay_bill_batch",
      "name": "Pay multiple bills at once",
      "description": "Pay airtime or data to multiple recipients in ONE call \u2014 the same multi-recipient batch Telegram/WhatsApp/X support (\"send 500 to X and 1000 to Y\"). One PIN authorizes the whole batch. Recipients are grouped by (chain, token); each group's capacity (balance + approved agent limit) is checked against that group's own subtotal \u2014 but if ANY group is short, the ENTIRE batch is refused before anything ",
      "tags": [
        "payment",
        "airtime",
        "data",
        "batch"
      ],
      "examples": [
        "Send 500 NGN airtime to 08011111111 and 1000 NGN to 08033333333"
      ]
    },
    {
      "id": "schedule_bill",
      "name": "Schedule a bill",
      "description": "Set up a recurring or future one-off bill payment \u2014 daily/weekly/monthly airtime, data, electricity, or cable \u2014 the same automation Telegram/WhatsApp/X support. Validates exactly like pay_bill (call list_plans first for DATA, or CABLE when changing package, to get a real variation_code) and ALWAYS requires the PIN, since this creates a standing spend. Nothing is charged when this tool runs \u2014 money",
      "tags": [
        "payment",
        "schedule",
        "recurring",
        "automation"
      ],
      "examples": [
        "Every Tuesday buy 200 NGN MTN airtime for 08012345678"
      ]
    },
    {
      "id": "list_schedules",
      "name": "List schedules",
      "description": "List active recurring/one-off bill schedules for the linked wallet \u2014 same data as the AbaPay app and Telegram/WhatsApp \"show my schedules\". Read-only, no PIN required. Returns each schedule's id \u2014 pass that to cancel_schedule to remove one.",
      "tags": [
        "schedule",
        "recurring",
        "automation"
      ],
      "examples": [
        "What automations do I have set up?"
      ]
    },
    {
      "id": "cancel_schedule",
      "name": "Cancel a schedule",
      "description": "Cancel one or more active schedules for the linked wallet. Call list_schedules first to get a real id. Pass id to cancel exactly one; pass provider to cancel every active schedule for that provider; omit both to cancel ALL active schedules for this wallet. No PIN required, matching chat.",
      "tags": [
        "schedule",
        "recurring",
        "automation"
      ],
      "examples": [
        "Cancel my MTN airtime schedule"
      ]
    }
  ]
}