AbaPay
Non-custodial stablecoin bill-pay rails on Celo & Base for AI agents, settled on-chain via MCP.
Connect it
Settings → Connectors → Add custom connector
URL: https://agents.abapays.com/api/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://agents.abapays.com/api/mcp{
"mcpServers": {
"abapay": {
"url": "https://agents.abapays.com/api/mcp"
}
}
}claude mcp add --transport http abapay https://agents.abapays.com/api/mcp{
"servers": {
"abapay": {
"type": "http",
"url": "https://agents.abapays.com/api/mcp"
}
}
}11 tools, verified live
describe_capabilitiesread-onlyList what AbaPay can pay (airtime, data, electricity, cable, etc.), any services currently paused, and example requests. Call this first if unsure what is supported.
check_balanceread-onlyCheck a linked wallet's stablecoin balances and remaining agent spending allowance. Works with no arguments once this connector is authorized via OAuth.
list_plansread-onlyList the REAL, currently purchasable plans for a service that needs one — DATA bundles, CABLE packages, or EDUCATION products (WAEC/JAMB) — 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 — if this returns nothing usable, say so rather than i
list_international_optionsread-onlyBrowse 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
transaction_historyread-onlyList 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 required. The interactive card's own Next/Previous buttons page through results by re-calling this tool with a different offset — pass offset yourself only when asked for something like "the next page" or "transactions before that" in plain
get_payment_statusread-onlyLook up one payment by its reference — the transaction hash (0x…) or the request id a payment returned — and get its current status in plain words: delivered, still being confirmed, failed, or refunded, including where any refund stands. Only finds payments made by the linked wallet. Read-only, no PIN required. Use this instead of paying again when a pay_bill result was lost.
pay_billcan modifyPay a real bill — Nigerian (airtime, data, electricity, cable TV, a WAEC/JAMB education PIN) or international airtime/data across 140+ countries — 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
schedule_billSet up a recurring or future one-off bill payment — daily/weekly/monthly airtime, data, electricity, or cable — 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 — money
list_schedulesread-onlyList 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 required. Returns each schedule's id — pass that to cancel_schedule to remove one.
cancel_schedulecan modifyCancel active schedules for the linked wallet. Call list_schedules first to get a real id. Pass id to cancel exactly one (no PIN needed). Cancelling several at once — provider for every schedule of that provider, or all: true for every schedule on this wallet — requires the PIN, asked from the human each time. Calling with none of id/provider/all is refused rather than cancelling everything.
pay_bill_batchcan modifyPay 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 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 — but if ANY group is short, the ENTIRE batch is refused before anything
Alternatives in Developer Tools
Compare →MIMiroOfficialA
Official Miro MCP server - Supports context to code and creating diagrams, docs, and data tables.
Context7A
Up-to-date code docs for any prompt
AAAirbyte AgentsOfficialA
Let AI agents query data and act across all your business apps via MCP.
VirusTotalOfficialA
Official VirusTotal MCP server: threat reports, file and URL submissions, and analysis recovery.
NENetdataA
Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.
OMOmnaraA
Deploy durable AI agents with Omnara, an open-source managed-agent platform.