Skip to main content

ausca

Client for Ausca metered agent infrastructure services: document OCR, document analysis, media transcription, browser sessions, and agent inboxes. Paid per call under a hard USD cap you set, with no account or provider API keys, and a settlement receipt on every completed invocation.

Install

pip install ausca

Use

import os
from ausca import AuscaClient

client = AuscaClient.with_local_key(
    private_key=os.environ["AUSCA_PRIVATE_KEY"],  # pays USDC on Base
    max_payment_usd=0.50,                         # hard per-call cap
)

outcome = client.invoke("browser.session", {"duration_seconds": 600})
print(outcome.result)
print(outcome.payment.transaction)  # settlement proof

invoke resolves the offer's immutable revision, schema digests, and payable route from the live catalog, reads the exact payment requirement, pays it if it fits the cap, and retries the same bytes with the same idempotency key. Each call starts with a fresh key. For recovery after an uncertain response, pass the same caller-owned idempotency_key; use a new key for another intentional purchase, even when its input is identical.

A CLI ships with the package:

ausca catalog
ausca price document.ocr
AUSCA_PRIVATE_KEY=0x... AUSCA_MAX_PAYMENT_USD=0.50 \
  ausca invoke browser.session '{"duration_seconds":600}'
# Reuse this key only to recover that same intended purchase:
ausca invoke browser.session '{"duration_seconds":600}' \
  --idempotency-key browser-attempt-20260903-0001

Payment rails

Payment is a pluggable authority, never a client concern. The built-in LocalKeyAuthority pays x402 v2 with a local signing key through the official x402 library, which enforces the cap through its spend controls before anything is signed; other rails implement the same small PaymentAuthority protocol. client.pay_request(url, ...) runs one paid call against any resource the configured authority can pay; nothing in it is vendor-specific.

Artifact-backed offers

Document and media offers take an immutable artifact commitment instead of raw bytes. ausca commit file.pdf sends the bytes to Ausca's keyless temporary ingress and returns the commitment the offer input carries; the library equivalent is client.commit(data, media_type). Repeating the same bytes is idempotent. The active offer catalog sets the usable input limit.

Successful paid state includes receipt_ref.public_url, an immutable hash-only proof of the Ausca service, public price, completion time, and receipt digest. It contains no request or result bytes, content digests, or access capabilities. Anyone holding the unguessable URL can read it.

The full agent contract lives at https://ausca.com/SKILL.md; discover the active offers at https://ausca.com/catalog.json. The npm equivalent is ausca, which adds a local MCP server (npx ausca mcp).

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ausca-0.0.2.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ausca-0.0.2-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file ausca-0.0.2.tar.gz.

File metadata

  • Download URL: ausca-0.0.2.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.4

File hashes

Hashes for ausca-0.0.2.tar.gz
Algorithm Hash digest
SHA256 8218388560c65b9647bce7d54c7e932488243737545ac268d8aebcd38a131b0d
MD5 8b18ccd7c27fef5581efc32f703329e0
BLAKE2b-256 7e1c6791b825be212a627641b230f9c0d211b70925e750664ee8a15f34028b24

See more details on using hashes here.

File details

Details for the file ausca-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: ausca-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.4

File hashes

Hashes for ausca-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b9f1ecd41670e83cb44952db6dc8f663e2c61db6c5eab044c27388ae40afbee3
MD5 3ca1766bb5b41bab200c8cb302de801b
BLAKE2b-256 8581ef651fb0a733d6dab156663aff3537ef696d99632daa7d4fd4f1ea17ff7a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page