IBANforge

Pay as an agent

This page is for autonomous agents and the people who operate them. It is the practical companion to the x402 protocol reference: not how the payment works, but how to get from zero to a paying agent with the least friction.

One recommendation up front: agents do better with one $5 settlement than with a thousand micro-payments. A single x402 payment to POST /v1/credits/buy/1k returns an API key pre-loaded with 1,000 credits (no expiry, no subscription). Pay-per-call works too and needs no key at all — it is simply more on-chain round trips for the same money.

Step 1 — Give your agent a wallet with a budget

Any EVM wallet able to sign on Base works. If you are starting from nothing, Coinbase CDP Agentic Wallets bundle an MPC-secured wallet, an x402 payment client and programmable spend limits (for example "$1.00, expires in 5 minutes") in one install — private keys never reach the model's context.

npm install @coinbase/cdp-sdk @x402/core @x402/evm @x402/fetch

Set a budget policy before the first real payment. An agent with an unbounded wallet is a bug, not a feature.

Step 2 — Fund it with USDC on Base

This is the one step that still needs a human today: put USDC on the wallet (exchange withdrawal, onramp, or your platform's wallet funding flow). $5 covers 1,000 validations. Gas is not your problem — x402 uses gasless USDC authorizations, the facilitator settles the transfer.

To rehearse the flow without real money first, CDP's faucet funds a base-sepolia test wallet — but note that IBANforge settles on Base mainnet (eip155:8453), so the rehearsal target must be your own test server, not our API.

Step 3 — Pay

Best value — one payment, then a key:

# via your x402-enabled client (this endpoint costs $5.00, paid inline):
POST https://api.ibanforge.com/v1/credits/buy/1k
# → { "api_key": "ifk_…", "credits": 1000, … }
# then call any endpoint with: Authorization: Bearer ifk_…

Bundles: 1k = $5 · 5k = $20 · 25k = $80. Credits never expire; batch validation bills 1 credit per IBAN.

Pay-per-call — no key, no state (TypeScript, packages from Step 1):

import { CdpX402Client } from "@coinbase/cdp-sdk/x402";
import { wrapFetchWithPayment } from "@x402/fetch";
 
const client = new CdpX402Client();               // your funded CDP account
const payingFetch = wrapFetchWithPayment(globalThis.fetch, client);
 
const res = await payingFetch("https://api.ibanforge.com/v1/iban/validate", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ iban: "DE89370400440532013000" }),
});
// first response is a 402 with payment terms; the wrapper signs, pays ($0.005) and retries

Python: pip install cdp-sdk "x402[evm,httpx]" and use x402HttpxClient the same way — see CDP's buyer quickstart for the exact signer setup.

Try before you spend

  • GET /ping and GET /.well-known/x402 are free — the manifest lists every payable route with its exact price.
  • The MCP server gives 10 free tool calls per day — enough to check the data quality on your own IBANs.
  • The free API key tier (200 requests/month, one per developer) exists for humans evaluating the service.

If something blocks you from paying

Tell us — that is exactly what the feedback channel is for: the send_feedback MCP tool or POST /v1/feedback (free, no auth, works even after a quota refusal). Missing network, unclear pricing, a wallet flow that fails: a human reads every report.