Overview
Ababil is a payment infrastructure layer built on the x402 protocol. It sits between merchants and buyers, providing the API, dashboard, and on-chain relay needed to accept USDC payments — without ever holding funds. The system is designed around three principles:- Non-custodial — USDC moves peer-to-peer, directly from buyer wallet to merchant dashboard wallet. Ababil relays the transaction but never holds or routes funds through its own accounts.
- Chain-agnostic — a single payment intent covers all chains the merchant has registered wallets on. The buyer picks the chain at payment time.
- Agent-ready — EIP-3009 authorizations require nothing beyond a private key, making fully autonomous AI agent payments possible with no browser or approval flow.
The x402 Protocol Triangle
Every payment involves three roles:Payment Flow
EIP-3009 — How the Authorization Works
EIP-3009 (transferWithAuthorization) is a standard on Circle USDC contracts that allows a signed message to authorize a USDC transfer, without requiring a separate on-chain approve transaction first.
The buyer signs an EIP-712 typed data message containing:
Ababil’s relay wallet submits this signed data to the USDC contract. The contract verifies the signature and executes the transfer atomically — no separate approval step, no intermediate account.
Supported Chains (Testnet v1)
All EVM chains use the same
TransferWithAuthorization signing flow. Solana uses a two-step flow: Ababil builds the unsigned SPL transfer transaction, the buyer signs it with their Solana wallet, and the signed transaction is submitted via /pay.
Merchant Dashboard Wallet
Each merchant registers one or more wallets from the Ababilpay Dashboard. These are the destination addresses for all USDC settlements.- Wallets are registered per chain — a merchant can have a Base Sepolia wallet and a Solana Devnet wallet simultaneously.
- When a payment intent is created,
payment_requirementsis automatically populated with an entry for every chain the merchant has a registered wallet on. - USDC is transferred directly to the registered wallet address on settlement — it never passes through Ababil.
API Authentication Model
All API calls are authenticated with a merchant-scoped Bearer key:payment_requirements. Keys are created and revoked from the Dashboard → API Keys.
Integration Paths
Ababil supports two integration patterns that share the same intent creation endpoint:
See Hosted Gateway and Custom Integration for full implementation details.