The Vision: Global Web3 Utility
AbaPay is a decentralized payment gateway designed to bridge the gap between global Web3 liquidity and real-world utility systems across Africa and the globe. Traditional utility apps require you to deposit local fiat and trust centralized servers. AbaPay reimagines this by allowing users to pay for real-world bills—airtime, mobile data, electricity, cable TV, education PINs, bank transfers and international top-ups—directly from their self-custodial wallets using stablecoins, settled in seconds on the blockchain.
There are three ways in, and they all run on the same payment engine: this app, a chat with our agent on Telegram, WhatsApp or X, or an AI assistant connected over MCP. Whichever you use, the rules, the limits, the refund path and the on-chain guarantees are identical.
The AbaPay Difference
No Deposits. No Fiat Wallets.
You never have to 'fund' an AbaPay account — there is no AbaPay balance. Your money stays in your own wallet (MiniPay, Valora, MetaMask, Coinbase Smart Wallet / Base Account, or any WalletConnect wallet) until the exact moment you pay a bill.
Smart Contract Escrow
Your crypto isn't blindly sent to an admin. It is locked in our smart contracts on the Celo and Base networks. The contract only releases the funds to our treasury after the utility provider confirms the transaction.
Borderless Payments
You do not need a local bank account to pay bills in supported countries. Whether you are in Lagos, London, or Los Angeles, as long as you have stablecoins, you can pay Nigerian bills or top up phones abroad across 170+ supported countries, instantly.
Live Provider Catalogue
Providers, plans and their amount limits are read live from our payment provider rather than a list we maintain by hand — so the app only ever offers what can genuinely be bought right now, and a provider that goes offline simply disappears instead of failing after you've paid.
DeAI — Pay Bills by Chat
DeAI is AbaPay's conversational agent — talk to it on Telegram, WhatsApp, X (Twitter), or the in-app chat widget, and it handles the rest. No menus to memorize: just say what you want, like "top up my 08012345678 with 500 naira" or reply "Celo" and "usdt" instead of hunting for a numbered option.
Two Ways to Pay
If you've approved a spending allowance for a chain and stablecoin (see Agent Hub below), the agent pays instantly with no wallet signature needed. If you haven't, it sends you a secure, one-tap link to review and sign the payment yourself — same verified pipeline as the website either way.
See Your Balance & Limit Before You Choose
When the agent asks which stablecoin to use, it shows the live wallet balance and your remaining approved agent limit for every option on that chain — so you're never picking blind.
Never Left Hanging
Abandon a chat mid-payment and nothing is left dangling — the intent is cleaned up automatically. If a network hiccup happens right after you enter your PIN, the agent tracks the payment through to a confirmed on-chain result before ever telling you it failed, so you're never double-charged or left unsure.
MCP — Connect Your Own AI Assistant
AbaPay runs an MCP (Model Context Protocol) server, so an AI assistant you already use — Claude, or any MCP-speaking client — can pay your bills for you: Nigerian services, or international airtime/data across 170+ countries. It's the same engine chat uses, reached over JSON-RPC instead of a message. Nothing about it is a looser trust boundary: same on-chain allowance, same PIN gate, same kill switches, same operator caps, same spend alerts.
The server URL your client needs
Add https://abapays.com/api/mcp as the AbaPay server in your MCP client. It's shown with a copy button in Agent Hub → MCP too, so you never have to type it.
OAuth, or an API key
Preferred: authorize once in your browser with OAuth 2.1 and the connection is remembered — no credential to paste ever again. For clients that can't do OAuth, create an API key in Agent Hub → MCP instead. Either one can be revoked instantly from the Agent Hub, which kills every token issued against it.
Your PIN is still required — every single payment
Authorizing a connection means "this assistant may act for me". It never means "this assistant may spend". Without your PIN a connected assistant can read your balance and the plan catalogue and nothing else. If anything claims it can pay without asking you for your PIN, treat that as a red flag.
Real plans, real prices — never guessed
A list_plans tool gives the assistant the actual purchasable data bundles, cable packages and exam products with their real codes and current prices, straight from our payment provider. A separate list_international_options tool does the same for the international catalogue — country, product type, operator and priced plan. It's what stops an assistant inventing a plausible-sounding "1GB for ₦1,000" that doesn't exist — a real code is required or it can't pay at all.
Premium receipts, and your own history — right in chat
Every successful payment comes back with a branded receipt card and a shareable receipt link, not just a line of text. A transaction_history tool lets the assistant answer "what did I pay recently" with the same records as your app's History tab, without you needing to open it.
Agent Hub — Your Spending Allowance
The Agent Hub tab is where you link a messaging account (or create an MCP credential) and grant the agent permission to pay on your behalf — entirely optional, and entirely under your control.
- Choose Your Own Chain & StablecoinApprovals are independent per chain and per token — approve USDC on Celo, USD₮ on Base, both, or neither. Each approval is its own on-chain transaction that only you can sign.
- Bounded and Revocable, On-ChainThe smart contract itself — not AbaPay's servers — enforces the cap. The agent can never spend more than the remaining amount you've approved, and you can lower it, raise it, or set it to zero at any moment. Setting it to zero is the real revocation; unlinking a chat account stops that channel but doesn't touch the on-chain limit.
- No Allowance? No Problem.If you ask the agent to pay with a token you haven't approved yet, it tells you plainly and gives you the choice — approve it now in the Agent Hub, or complete just this one payment with a signed link instead.
- You Hear About Every Agent SpendThe moment an agent moves money, an alert goes out to your other linked channels and your email — so a leaked key or a compromised chat account is visible to you immediately, not at the end of the month.
Scheduled & Recurring Bills
Tell the agent in plain language — "every Tuesday buy ₦200 MTN airtime", "pay my meter on the 28th every month", or a one-off "top up 08012345678 in an hour" — and it becomes a schedule. Ask it to "show my schedules" or "cancel my airtime schedule" the same way.
Automatic execution is opt-in, per schedule
By default a schedule only reminds you when it's due. Only if you explicitly turn on automatic execution does it pay by itself — and even then it's bounded by the same on-chain allowance and the same per-transaction and daily caps as any other agent payment. A schedule runs at most once per due date, re-checks every service rule before it fires, warns you ahead of time if your balance looks short, and pauses itself after repeated failures rather than retrying forever.
What You Can Pay For
- Airtime & mobile data — MTN, Airtel, Glo, 9mobile, including SME data bundles. No platform fee.
- Electricity — prepaid and postpaid, across the Nigerian distribution companies. Your meter is verified with the disco before you pay.
- Cable TV — DStv, GOtv, Startimes. Smartcard/IUC verified before payment.
- Education PINs — WAEC result-checker and WAEC registration PINs, buyable in the app, in chat and through a connected AI agent. JAMB is built but not currently enabled on our merchant account, so it can't be bought today.
- International airtime & data — every country our payment provider currently covers, read live from their own list.
- Bank transfers — app only, deliberately. Moving money to a third party needs your own wallet signature, so the agent will never execute one from an allowance.
The exact providers, plans and amount limits inside each category come live from our payment provider and can change without an app update.
AbaPoints & Rewards
AbaPoints (⚡) are our way of rewarding loyal users. You can see your live AbaPoints balance glowing in the top right corner of the app, directly in the header.
Global Earning Ratio
1 Stablecoin = 1.00 Point
AbaPoints are globally pegged to the stablecoin (USDC, USD₮, USAT) value of your utility purchase. Spend exactly 5.50 USDC on a utility bill? You earn exactly 5.50 points instantly. This ensures your rewards are completely protected against local fiat currency inflation!
Future Utility Plans
Keep stacking your points! In future updates, you will be able to redeem AbaPoints for free Airtime/Data, use them to cover transaction fees, or qualify for exclusive ecosystem airdrops.
Saved Beneficiaries (Recents)
Typing the same meter number or international phone number every time is stressful. AbaPay automatically saves your successful transactions as "Recent" shortcuts right below the input field.
How to Delete a Saved Number
Did you save a number by mistake or no longer need it? You can easily remove it from your recents list:
Press and hold (Long-press) on the saved name/number pill for 1 second.
The pill will turn red and say "Delete". Click it to remove it forever!
Receipts & Support
Sharing Your Receipt
Click the dark "SHARE" button at the bottom of any successful transaction receipt. AbaPay generates a clean image of your receipt that you can send straight to WhatsApp or Telegram via your phone's share sheet — or, where that isn't available (desktop and some wallet browsers), save it as a PNG or PDF, or simply long-press the preview image.
Note: The dopamine "+AbaPoints" animation happens on the app screen to celebrate your purchase, but it is intentionally hidden from the final receipt image so your receipts look professional when shared.
In-App Support System
Did a transaction fail or is a token delayed? Click the "Support" button on any receipt to instantly send a ticket, complete with your transaction hash, directly to our admin ops center.
Security & Failsafes
Domestic and international utility networks can occasionally experience downtime. AbaPay is built with Defensive Programming to ensure you never lose money to a dropped connection.
- Strict Token RequirementsIf a provider claims "Success" but fails to generate your electricity token or education PIN, our system refuses to accept it. Your transaction goes into a PENDING state while our background webhook safely hunts down your token.
- Deep On-Chain Payload DecodingOur API does not trust front-end claims. It directly fetches your blockchain transaction and decodes the smart contract data to verify the exact amount and service you paid for before vending.
- Preflight Intent RecoveryIf your mobile app crashes or your network drops immediately after signing the transaction in your wallet, your funds are not lost. The system actively scans the blockchain to recover your "abandoned" preflight intent and completes the vending in the background.
- Verified Refunds OnlyEvery refund is checked against the blockchain — correct token, correct recipient, sufficient amount — before it can be marked as refunded. A refund can never be recorded that didn't actually happen.
Frequently Asked Questions
Everything in one place — no separate FAQ page to hunt for.
Getting paid up
Three ways, all running the same payment engine. In this app: pick the service, enter the number, confirm, and sign in your wallet. By chat: message AbaPay on Telegram, WhatsApp or X in plain language — "send ₦500 airtime to 08012345678". Through an AI assistant: connect AbaPay as a tool over MCP and just ask it to pay.
Chat and AI payments need a spending allowance approved first (or they'll send you a signed link to pay yourself, one time).
Yes — add the bot to a group and tag it (@AbaPayAgentBot) to use it there. Anything sensitive (balances, receipts, PINs) is always sent to you privately, never posted where the group can see it.
One group-only trick: ask it to pick a few phone numbers that were posted in the chat recently and recharge them — e.g. "recharge 5 random numbers from the last 30 minutes, 200 each", or the same with data instead of airtime. It confirms the total and asks for your PIN by DM first, then posts the result (numbers, amounts, proof) back in the group once it's done. Electricity and cable aren't included in this — there's no safe way to tell a meter or smartcard number apart from any other number someone posts, so those still need you to name the account directly.
Some wallets — Zerion and a few others — show a risk warning on AbaPay's payment signature. The warning is about the shape of the request, not about AbaPay.
AbaPay settles payments using x402, an open payment standard. It asks you to sign a one-off permission for a single, exact amount to be collected for the bill you're paying. Automated scanners can't tell that kind of permission apart from the one a scam site would ask for, so some of them flag every request of that shape.
Check the wallet screen itself, which is the part that can't lie to you: it shows the exact amount and the recipient. The amount should match your bill, and the recipient should be AbaPay's payment contract. If those look right, the request is genuine. If they don't, cancel — and please tell us.
Cancelling is always safe. Nothing is charged, and nothing is left half-done.
When your wallet is a separate app rather than one built into this browser, AbaPay sends the approval request to it — but nothing can force that app to open on top of what you're doing. The request is sitting in your wallet waiting for you.
Switch to your wallet app and approve it there, then come back. AbaPay says so on screen rather than leaving you watching a spinner.
If no prompt arrives at all, the connection to your wallet has usually gone stale. AbaPay reconnects you automatically when you return, and that remembered connection can look fine — your address and balance show — while the link to your wallet is actually closed, so requests reach nothing. AbaPay now checks that link before asking you to approve anything, and tells you to tap Connect again if it has dropped.
If a request still goes unanswered, AbaPay stops waiting after ninety seconds rather than spinning forever, and switches to its standard payment route — which will ask you to approve again, in your wallet app. That second request is the real one: the first was abandoned, so approving it late now does nothing and cannot charge you twice.
No — don't pay again. That message means AbaPay checked the blockchain itself and found that your payment really did leave your wallet, even though the payment service that handled it reported an error instead of a receipt.
AbaPay deliberately stops there rather than offering to retry. A retry in that situation would be a genuine second payment for the same bill, and the whole point of the check is to make sure that can't happen to you.
Your payment is flagged for us to reconcile by hand. Check your History tab — if the bill hasn't been delivered or refunded shortly after, contact support and we'll trace it from the payment itself.
It's a proof that the wallet is yours, and it is safe: signing it moves no money, approves no payment, and grants no spending permission. The message says exactly that — read it in your wallet and you'll see.
Here's why it's needed. Your wallet address is public information. Without a signature, anything that simply claimed your address could ask AbaPay to show that address's payment history — the numbers you've recharged, the meters you've paid, the amounts. A signature can only be produced by whoever actually holds the wallet, so it turns "this address was claimed" into "this address was proven".
You're asked once per browsing session, not per page. If you decline, you're disconnected — nothing breaks, and you can tap Connect and approve it whenever you like.
If your wallet can't produce that kind of signature at all, you stay connected and can still pay as normal; only your history stays hidden, because that's the part that needs proof.
Both live in the same place: tap the network badge at the top of the app — the small pill showing BASE or CELO. It opens a short menu with the networks you can switch to and a Disconnect option.
The badge used to just flip to the other network the moment you touched it, which made a mis-tap awkward to undo. Now nothing happens until you actually choose something, and the menu closes as soon as you do.
Disconnecting doesn't touch your money — it only ends this app's connection to your wallet. Your funds never left it in the first place. Tap Connect whenever you want to pay again.
Open Agent Hub, pick that channel, and use the Open button shown there. It takes you straight to the bot.
You don't need to link again — your account is still connected. This is just a shortcut back to the conversation, which matters if you changed phone or cleared your chats.
Because connecting your wallet should be your decision, not ours. AbaPay no longer restores a connection on its own when you open or refresh the page — you tap Connect, and you choose which wallet to use.
Connecting by itself caused two real problems. It picked a wallet on your behalf when you had more than one, and it hid the chooser — including the WalletConnect option for phone wallets — behind a button there was no reason to press. It could also restore a connection that looked fine but had quietly gone dead, so payments vanished with no prompt and no error.
There are three exceptions, where AbaPay is running inside your wallet and there is only one account it could possibly mean: MiniPay, Base App and Farcaster. Those still connect automatically.
The trade is that refreshing the page means tapping Connect again. Nothing is lost when you do — your money never leaves your own wallet either way.
That's deliberate. Inside Valora's built-in browser, AbaPay used to appear connected by itself — and then payments got stuck: an approval prompt would come up, you'd tap Allow, Valora would say the connection succeeded, and the payment would keep loading with no second prompt ever arriving.
Valora connects properly over WalletConnect, so that is the only route AbaPay now uses there. Tap Connect and choose Valora — it's the same app you're already in, so it takes one tap — and payments go through normally after that.
Valora works on Celo. If AbaPay is showing Base when you connect, it switches itself to Celo to match your wallet; pick a Celo token (USDC, USD₮ or USAT) and pay as usual.
MiniPay (Opera Mini's Celo wallet), Valora, MetaMask, Coinbase Smart Wallet / Base Account, and any other wallet reachable over WalletConnect or injected into your browser. AbaPay also runs as a Farcaster Mini App. Valora connects over WalletConnect — tap Connect and pick it — which is the only route it handles reliably.
Wallets that support smart-account gas sponsorship on Base get it automatically — the app detects the capability and batches the token approval and the payment into one sponsored transaction. Every other wallet just pays normal network fees, with no difference in behaviour.
Open AbaPay inside MiniPay and it locks to Celo; inside Base App or Farcaster and it locks to Base — there's only ever one chain either wallet can pay on, so the network switcher, balances and token list all show that one chain, with an Exit button to disconnect. Everywhere else — an ordinary browser, any WalletConnect wallet — both chains stay available and switchable.
If you have a wallet installed in this browser, AbaPay uses it directly — it opens that wallet's own approval window, and if several are installed it asks which one you want. No QR code, no third-party service involved.
WalletConnect is only used when there is no wallet in the browser at all. That is where this usually goes wrong: connecting that way goes through a background service that some networks block, and because it's a WebSocket it fails silently instead of showing an error.
Open the network check and it will tell you in a few seconds whether something is being blocked, and exactly what.
The quickest fix is to open AbaPay inside MiniPay, Base App or Farcaster — they connect your wallet directly and need none of the blocked services. Switching to a different network (mobile data instead of Wi-Fi, or the other way round) or turning on a VPN also works.
Base and Celo — those two, plus their public test networks, and nothing else. Base is the default: it's what AbaPay connects to unless your wallet puts you somewhere else, and you can switch to Celo at any time. USD₮ and USDC work on both chains; USAT is Celo-only.
The token picker filters itself to whatever chain your wallet is on, so you can't accidentally choose one that doesn't exist there. On Base it offers USDC first, then USD₮; on Celo, USD₮ first. Sending funds to our contract by hand, on another network or in another token, is not a payment and can't be matched to an order.
The blockchain part confirms in roughly a few seconds on both Celo and Base. Utility delivery normally follows immediately after confirmation — electricity tokens and education PINs appear on the receipt itself. If a provider is slow, the transaction sits in a PENDING state and our webhook keeps chasing it rather than declaring failure.
No. There's no AbaPay balance to top up, and we never hold your keys. Your stablecoins stay in your own wallet until the moment you pay a bill, and they go straight into the payment smart contract. We can't move your funds without either your signature or an allowance you explicitly approved on-chain.
Yes, and they're always shown in the total before you confirm. There's a small flat platform fee on electricity, cable TV, education and bank transfers. Airtime, mobile data and international top-ups carry no platform fee at all.
Blockchain gas is separate, goes to the network rather than to us, and depends on your wallet and chain — Base smart wallets are often sponsored, so free.
What you can buy
Airtime, mobile data (including SME bundles), electricity (prepaid and postpaid), cable TV (DStv, GOtv, Startimes), education PINs, bank transfers, and international airtime/data.
The providers inside each category are pulled live from our payment providers, so the list only ever shows what can genuinely be bought right now. If a provider disappears from the picker, it isn't purchasable at that moment — which is deliberately better than letting you pay for it and fail afterwards.
Type the destination account number — we check it against every Nigerian bank automatically and tell you whose account it is, so you don't need to know or select the bank yourself. If more than one bank has an account under that exact number, we show you the short list of matches so you can confirm which one is yours.
Once confirmed, the transfer settles in real time as an actual bank payout, not a top-up voucher.
Not right now, honestly. WAEC result-checker and WAEC registration PINs work — in the app, in chat, and through a connected AI agent. JAMB is fully built on our side, but it isn't enabled on our current merchant account with our payment provider, so it doesn't appear in the live product list and can't be bought.
If that changes at their end it will simply start appearing, with no update needed from us.
Every country our payment provider currently covers — including Ghana, Kenya, South Africa, the UK and the US. We deliberately don't publish a count, because we read that list live from the provider rather than keeping our own copy of it, so it can change without us knowing.
Pick the country in the app (or just name it in chat) and you'll see its own operators, plans and local currency. If a country isn't in the live list, the agent will tell you so instead of promising something that would fail at delivery.
Yes — just say so in chat: "every Tuesday buy ₦200 MTN airtime", "pay my meter on the 28th every month", or a one-off "top up 08012345678 in an hour". Ask to "show my schedules" or "cancel my airtime schedule" the same way.
Automatic execution is opt-in per schedule; by default a schedule only reminds you. When it is on, it's still bounded by your on-chain allowance and our per-transaction and daily caps, runs at most once per due date, and pauses itself after repeated failures.
The outcome is reported back on whatever channel you created the schedule from. On WhatsApp there's a wrinkle outside AbaPay's control: WhatsApp only lets a business send you a free-form message within 24 hours of your last one, so a schedule due days later is delivered as a formatted notification instead. Either way, the full receipt is always in your History tab.
On the receipt, immediately after a successful payment — shown in full, and shareable as an image or saveable as a PNG/PDF. It's also in your History tab, and sent by email where we have your address.
Agents, MCP and your PIN
In the app, you sign every payment in your wallet — nothing moves without that signature. With an agent, you approve an on-chain spending allowance once from the Agent Hub, for one specific chain and one specific stablecoin. After that the agent can pay without a fresh signature each time, but only up to what's left of that allowance.
The cap is enforced by the smart contract itself, not by our servers, so it cannot reach the rest of your wallet no matter what goes wrong on our side. Our own per-transaction and daily limits sit on top of yours.
Open the Agent Hub tab, pick the chain and stablecoin you want the agent to be able to use, and approve a limit — that's an on-chain transaction only you can sign. To revoke, set the limit back to zero; it takes effect on-chain immediately. Note that unlinking a chat account stops that channel but does not by itself zero your allowance, so do both if you want a full stop.
MCP (Model Context Protocol) is the standard that lets an AI assistant like Claude use AbaPay as a tool. A connected assistant can describe what AbaPay supports, list real purchasable plans with real prices, read your balance and remaining allowance, and — with your PIN — pay a bill.
It reaches exactly the same engine as chat: same on-chain allowance ceiling, same PIN gate with lockout, same kill switches, same operator caps, same spend alerts. It is not a looser door.
OAuth if your client supports it: you authorize once in the browser and the connection is remembered, so there's no credential to paste into every new conversation. The API key you create in Agent Hub → MCP is the fallback for clients that can't do the OAuth flow.
Both can be revoked instantly from the Agent Hub, and revoking kills every token issued against that link. An expired or revoked authorization makes the assistant ask you to reconnect rather than quietly failing.
Yes — every single payment, every time. Authorizing the connector means 'this assistant may act for me'; it never means 'this assistant may spend'. Without the PIN a connected assistant can only read your balance and the plan catalogue. If something claims it can pay without asking for your PIN, treat that as a red flag.
No, and it's important not to confuse them. Your wallet password and recovery phrase belong to your wallet app and we never see them. Your AbaPay PIN is a separate 4–6 digit code you set when linking a chat account or creating an MCP credential.
It gates one thing: authorising a payment through those channels. It can't move funds on its own — it only unlocks spending inside the allowance you already approved on-chain. Repeated wrong PINs lock the channel out.
It can't, for the services where that would matter. Data bundles, cable packages and education products all require a real plan code, and the connector exposes a list_plans tool that returns the actual purchasable plans, codes and current prices from our payment provider. If an agent can't get a real code, the payment is refused before any money moves rather than settling on-chain and failing at delivery.
It checks first. If there's no allowance for that chain and token, it says so and gives you the choice — approve a limit now in the Agent Hub, or complete just that one payment via a secure signed link. If another stablecoin on the same chain already has both the balance and the approved limit to cover it, it will tell you that too, so you can just use that one instead.
Yes — Telegram, WhatsApp and X can be linked independently to the same wallet, alongside one or more MCP credentials, and each can be managed or unlinked separately from the Agent Hub.
No, and that's deliberate. Bank transfers move money to a third party, so they must be confirmed with your own wallet signature in the app. The agent will refuse and point you there rather than spending from an allowance.
When something goes wrong
You get refunded, and you don't have to chase it. The moment a delivery fails after your money has landed on-chain, the transaction is flagged, queued for a refund, and our operators are alerted. You're told on the channel you used (and by email if we have one), then again when the refund actually lands.
It goes back to the same wallet, in the same stablecoin, and is verified against the blockchain — correct token, correct recipient, sufficient amount — before it can be marked as refunded. Refunds are released by an operator rather than instantly; we aim for 24–72 hours. The gas you originally paid to submit the transaction isn't recoverable.
There's nothing to refund — if the transaction reverted or never landed, your money never left your wallet. Refunds exist for the case where we received your funds and the provider then failed to deliver. Check your wallet balance; if you're still unsure, tap Support on the receipt and the ticket carries your transaction hash automatically.
Usually one of four things. (1) The service, or that one specific provider, is paused — we do that during an outage, a dispute or a security concern, and we'd rather refuse up front than take your money for something we know is broken. (2) The amount is outside the provider's own limits, which vary by network and by biller rather than following one flat rule. (3) You picked a provider our payment provider can't currently sell. (4) For agent payments: the amount exceeds your remaining allowance, your daily limit, or our operator cap.
The refusal message tells you which one it was.
We can pause things at two levels — a whole category (all electricity, say) or a single provider within it (just one disco). Both are applied identically to the app, chat, the MCP connector and the scheduler, so nothing can slip through a side door while the website correctly refuses. It's almost always a provider outage or a dispute, and it's temporary.
You do. AbaPay is a non-custodial gateway. We do not have access to your private keys, and we cannot move your funds without you either signing a transaction or having explicitly approved an on-chain allowance — which you can revoke at any moment.
x402 is an HTTP-native payment protocol that some app payments settle through automatically instead of a direct contract call, where the chain, the token and your wallet all support it. It's invisible in day-to-day use — same wallet, same vault, same refund protection — it simply makes that payment independently verifiable on public x402 explorers. If your wallet can't return the kind of signature x402 needs, or the payment isn't accepted on that route, AbaPay switches to the ordinary contract-call route by itself and asks you to approve once more — nothing is charged twice, and you don't have to start over. Which rail is used is our routing decision, not something you pick.
Tap Support on any receipt — the ticket goes straight to our ops team with your transaction hash attached, which is by far the fastest route.
Otherwise, email support@abapays.com. Our Terms and Privacy Policy spell out the formal version of everything above.