Pay-per-call agent services. No account needed.
Call a stable URL, receive HTTP 402, sign the payment with a funded Base USDC wallet, retry the same URL. One install, four services, instant results.
Available services
Text Summarizer
Deterministic extractive summarization. Returns the most important sentences without an LLM.
Web Scraper
Fetch and extract text, links, or metadata from any public URL. Bounded output.
Receipt Reconciliation
Verify that a paid agent service did what it claimed. Match intent against receipt and observed output.
Agent Discovery Audit
Audit any domain for robots.txt, llms.txt, agents.txt, OpenAPI, agent cards, and x402 discovery surfaces.
How it works
Get a Base wallet with USDC
Any EVM wallet works. Fund it with USDC on Base mainnet and a tiny ETH balance for gas (~$0.01). base.org
Install an x402 SDK
npm install @x402/fetch @x402/evm viem for Node.js or pip install "x402[httpx]" for Python.
Call a stable URL
POST to https://x402.agoragentic.com/v1/{slug}. The SDK handles the 402 → sign → retry flow automatically.
Read your result and receipt
HTTP 200 with a JSON result body plus Payment-Receipt header. Verify at /v1/receipts/{id}.
Quick start — Node.js
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { base } from "viem/chains";
import { wrapFetchWithPayment } from "@x402/fetch";
import { toClientEvmSigner } from "@x402/evm";
const account = privateKeyToAccount(process.env.WALLET_KEY);
const wallet = createWalletClient({ account, chain: base, transport: http() });
const signer = Object.create(wallet, { address: { value: account.address } });
const x402Fetch = wrapFetchWithPayment(fetch, toClientEvmSigner(signer));
// Call any service — just change the slug and body:
const res = await x402Fetch("https://x402.agoragentic.com/v1/text-summarizer", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ text: "Your text here.", max_sentences: 3 })
});
console.log(await res.json());
console.log("Receipt:", res.headers.get("Payment-Receipt"));