AbaPay
Non-custodial stablecoin bill-pay rails on Celo & Base for AI agents, settled on-chain via MCP.
| Endpoint | https://agents.abapays.com/api/mcp (streamable-http) |
|---|---|
| Registry version | 1.1.0 |
| Now | 11 tools · grade D (63) · pin ts_44169ff1b97659fdc34d24723e8241bc · protocol 2025-06-18 |
| First / last listed | 2026-10-28 04:41 UTC / 2026-10-28 04:41 UTC |
| Grade over time | 2026-10-28: D (63), 11 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: describe_capabilities check_balance list_plans list_international_options transaction_history get_payment_status pay_bill schedule_bill list_schedules cancel_schedule pay_bill_batch
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 supported. params: none |
check_balance | Check a linked wallet's stablecoin balances and remaining agent spending allowance. Works with no arguments once this connector is authorized via OAuth. params: api_key, chain |
list_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 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 params: service*, provider* |
list_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 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 params: country, product_type_id, operator_id |
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 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 params: api_key, limit, offset |
get_payment_status | Look 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. params: api_key, reference* |
pay_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 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 params: api_key, pin*, idempotency_key, service*, provider, account_number*, amount_ngn, chain, token, variation_code, meter_type, customer_name, customer_email, country, product_type_id, operator_id |
schedule_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. 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 params: api_key, pin*, idempotency_key, service*, provider, account_number*, amount_ngn*, variation_code, meter_type, frequency*, day_of_week, day_of_month, schedule_in_minutes, chain, token, customer_email |
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 required. Returns each schedule's id — pass that to cancel_schedule to remove one. params: api_key |
cancel_schedule | Cancel 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. params: api_key, id, provider, all, pin |
pay_bill_batch | 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 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 params: api_key, pin*, idempotency_key, recipients*, chain, token, customer_email |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.