Pay-per-call APIs and MCP services for AI agents: document OCR, document analysis, media transcription, remote browser sessions, and agent email inboxes. No account, no API keys; USDC on Base per call, a signed receipt for every completed invocation.
Agents buy infrastructure the way they call tools: send the request, pay the 402 challenge within a hard USD cap you set, read the result and its settlement proof. The catalog, prices, and schemas are immutable and public at [ausca.com/catalog.json](https://ausca.com/catalog.json); the full agent contract is [ausca.com/SKILL.md](https://ausca.com/SKILL.md). ## Agent skills Install one canonical skill from this public repository: ```sh npx -y skills add auscahq/ausca --skill agent-inbox ``` Replace `agent-inbox` with `browser-session`, `document-analysis`, `document-ocr`, or `media-transcription`. Install all five with: ```sh npx -y skills add auscahq/ausca --skill '*' ``` ## Services and prices | Service | What it does | Price (USD) | | --- | --- | --- | | Document OCR | Normalized text with line confidence from one committed document | $0.25 per document | | Document Analysis | Normalized forms, tables, signatures, or layout from one committed document | $0.30 to $0.75, sized by document bytes | | Media Transcription | Normalized transcript of one committed audio or video file | $0.40 to $1.30, sized by media bytes | | Browser Session | Remote browser with standard CDP access | $0.05 / 10 min, $0.10 / 30 min, $0.20 / 60 min | | Agent Inbox | A renewable receive-only email address your agent owns | $0.05 / hour, $0.20 / day, $1.00 / week | | Inbox Extension | Add time to an active inbox without changing its address | $0.05 / hour, $0.20 / day, $1.00 / week | Prices are the public catalog values at the time of writing; the live catalog is authoritative. ## Use it in 60 seconds **MCP** (Claude Desktop, Cursor, any MCP host): the local server holds your wallet and pays within your cap. Tools are derived from the live catalog. ```json { "mcpServers": { "ausca": { "command": "npx", "args": ["-y", "ausca", "mcp"], "env": { "AUSCA_PRIVATE_KEY": "0x...", "AUSCA_MAX_PAYMENT_USD": "0.50" } } } } ``` **TypeScript** ```ts import { AuscaClient } from "ausca"; const client = AuscaClient.withLocalKey({ privateKey: process.env.AUSCA_PRIVATE_KEY, // pays USDC on Base maxPaymentUsd: 0.5, // hard per-call cap }); const outcome = await client.invoke("browser.session", { duration_seconds: 600 }, { idempotencyKey: savedPurchaseKey, }); console.log(outcome.result, outcome.payment?.transaction); ``` **CLI** ```bash npx ausca catalog npx ausca price document.ocr AUSCA_PRIVATE_KEY=0x... AUSCA_MAX_PAYMENT_USD=0.50 \ npx ausca invoke browser.session '{"duration_seconds":600}' --idempotency-key saved-browser-purchase-0001 ``` **Python** ```bash pip install ausca ``` ```python from ausca import AuscaClient client = AuscaClient.with_local_key(private_key=key, max_payment_usd=0.50) outcome = client.invoke( "browser.session", {"duration_seconds": 600}, idempotency_key=saved_purchase_key, ) ``` A remote MCP server also runs at `https://ausca.com/mcp` (Streamable HTTP) for discovery, preparation, and state reads; payment always signs on your side, which is why the local server exists. ## How payment works Every service is an [x402 v2](https://ausca.com/.well-known/x402) payable resource. An unsigned request returns the exact payment requirement; the client pays it only if it fits your cap, then retries the same bytes with the same idempotency key. Save a unique key before paying and retain it on uncertainty; starting another call with a new key is a new purchase. CLI and paid MCP calls require an explicit key. Resource admission contains private capabilities: never publish the raw result. See [recovery examples](examples). Settlement is USDC on Base and every completed invocation carries a receipt with a public, hash-only verification page. Payment rails are pluggable behind one interface; the official `@x402/*` libraries do all signing. Document and media services take an immutable artifact commitment instead of raw bytes: `npx ausca commit file.pdf` uploads through the keyless ingress and returns the commitment the offer input carries. ## What is in this repository Every package uses [ausca.com](https://ausca.com) as its product home and resolves commercial offer bindings from the live catalog. A registry listing is not a separate service or source of pricing truth. | Package | Registry | What it is | | --- | --- | --- | | [`ausca`](packages/ausca) | [npm](https://www.npmjs.com/package/ausca) | The front door: library, CLI, and local MCP server | | [`@ausca/sdk`](packages/sdk) | [npm](https://www.npmjs.com/package/@ausca/sdk) | The typed engine: client, payment authorities, artifact store | | [`ausca`](python/ausca) | [PyPI](https://pypi.org/project/ausca/) | Python client and CLI with the same ports | | [`ausca`](go) | [Go module](https://pkg.go.dev/github.com/auscahq/ausca/go) | Standard-library buyer client; payment-capable HTTP client port | | [`ausca`](rust/ausca) | [crates.io](https://crates.io/crates/ausca) | Rust buyer client; rail-neutral transport port | | [`ausca`](ruby/ausca) | [RubyGems](https://rubygems.org/gems/ausca) | Ruby buyer client; rail-neutral transport port | | [`auscahq/ausca`](php) | Packagist submission pending | PHP buyer client; rail-neutral transport port | | [`Ausca`](swift) | [Swift Package Manager](https://github.com/auscahq/ausca/tags); [index submission](https://github.com/SwiftPackageIndex/PackageList/issues/15591) pending | Swift buyer client; rail-neutral transport port | | [`ausca`](dart/ausca) | [pub.dev](https://pub.dev/packages/ausca) | Dart buyer client; rail-neutral transport port | | [`Ausca`](dotnet/Ausca) | [NuGet](https://www.nuget.org/packages/Ausca) | .NET buyer client; rail-neutral transport port | | [`com.ausca:ausca`](java/ausca) | Maven Central publication pending | JVM buyer client; rail-neutral transport port | | [`@ausca/ai-sdk`](packages/ai-sdk) | [npm](https://www.npmjs.com/package/@ausca/ai-sdk) | Vercel AI SDK tools for any x402 v2 resource | | [`langchain-ausca`](packages/langchain-ausca) | [npm](https://www.npmjs.com/package/langchain-ausca) | LangChain tools for any x402 v2 resource | | [`skills/`](skills) | [ausca.com](https://ausca.com/skills/document-ocr/SKILL.md) | Agent skills, mirrored from the live origin | The service runtime is not in this repository; this is the complete public buyer side. `server.json` carries the official MCP registry identity `com.ausca/agent-services`. ## Links - Agent contract: