Skip to main content

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_requirements is 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:
The API key identifies which merchant the intent belongs to and which wallets to include in 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.