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.
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.
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 ▴
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 recordedNothing 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 toagent-card.json
| Captured | Hash | |
|---|---|---|
| 2026-09-21 07:26:36 current | b14e6eb983d5… |
view → |
Try it
Send a message to this agent live. Your prompt is proxied through Agenstry.
Endpoints
| Agent card | https://agents.abapays.com/.well-known/agent-card.json |
| Provider | https://agents.abapays.com |
| Docs | https://github.com/investorphem/AbaPay#a2a |
Skills · 10 declared · mapped to canonical taxonomy
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…
Check a linked wallet's stablecoin balances and remaining agent spending allowance. Works with no arguments once this connector is authorized via OAuth.
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…
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…
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 …
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…
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…
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.…
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…
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…
Health · last 1 probes
Similar agents embedding-nearest
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.
Markdown / HTML snippets
[](https://agenstry.com/agents/agents.abapays.com) [](https://agenstry.com/agents/agents.abapays.com) [](https://agenstry.com/agents/agents.abapays.com) [](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.
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"
]
}
]
}