Skip to main content

x402 payment transport for the Anthropic Python SDK

Project description

x402-anthropic-python

PyPI Python License CI

x402 payment transport for the Anthropic Python SDK.

Wrap the standard anthropic.Anthropic client with a crypto wallet. When the server responds with HTTP 402, the library automatically signs a USDC payment and retries — zero code changes needed. Follows the pattern introduced by qntx/x402-openai-python.

Install

pip install "x402-anthropic[evm]"   # EVM (Base, Ethereum)
pip install "x402-anthropic[svm]"   # SVM (Solana)
pip install "x402-anthropic[all]"   # all chains

Quick start

from x402_anthropic import X402Anthropic, EVMWallet

wallet = EVMWallet(private_key="0x...")
client = X402Anthropic(wallet=wallet, base_url="https://your-x402-gateway.example.com")

message = client.messages.create(
    model="claude-opus-4-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello!"}],
)
print(message.content[0].text)

Swap EVMWallet for SVMWallet to pay on Solana — the API is identical.

Usage

Async + streaming

from x402_anthropic import AsyncX402Anthropic, EVMWallet
import asyncio

async def main():
    wallet = EVMWallet(private_key="0x...")
    async with AsyncX402Anthropic(wallet=wallet, base_url="...") as client:
        async with client.messages.stream(...) as stream:
            async for text in stream.text_stream:
                print(text, end="", flush=True)

asyncio.run(main())

Payment policies

from x402 import preferNetwork, maxAmount

client = X402Anthropic(
    wallet=wallet,
    policies=[preferNetwork("eip155:8453"), maxAmount(1_000_000)],  # Base, max $1 USDC
    base_url="...",
)

API reference

X402Anthropic / AsyncX402Anthropic

Drop-in replacement for anthropic.Anthropic / anthropic.AsyncAnthropic.

Parameter Type Description
wallet Wallet Wallet adapter for signing payments
policies list[Policy] Payment policies (chain preference, amount cap)
base_url str Gateway URL (required — points at your x402 server)

All standard Anthropic kwargs (timeout, max_retries, api_key, …) are forwarded.

Wallet adapters

Class Chain Extra
EVMWallet(private_key=…) Base, Ethereum, any EVM x402-anthropic[evm]
SVMWallet(private_key=…) Solana x402-anthropic[svm]

Implement the Wallet base class to add a new chain.

Low-level transports

X402Transport / AsyncX402Transport — httpx transports for manual wiring:

import httpx
from x402_anthropic._transport import X402Transport

x402_http = wallet.build_sync()
transport = X402Transport(x402_http, httpx.HTTPTransport())
client = httpx.Client(transport=transport)

Examples

EVM_PRIVATE_KEY="0x..."        python examples/basic.py
EVM_PRIVATE_KEY="0x..."        python examples/streaming.py

Related

License

MIT

Project details


Download files

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

Source Distribution

x402_anthropic-0.1.2.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

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

x402_anthropic-0.1.2-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file x402_anthropic-0.1.2.tar.gz.

File metadata

  • Download URL: x402_anthropic-0.1.2.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for x402_anthropic-0.1.2.tar.gz
Algorithm Hash digest
SHA256 e77e3cf9fbb76aa6fa03266d0d0c9d464cc9cf8037c6f4637727c5be1b4532fc
MD5 4ade31449eaf92dc7a05f49e3060dafe
BLAKE2b-256 6d20858908c4de4fd3614119014474faa9f6f17c8e90abccfb2adcdbbabe6db5

See more details on using hashes here.

File details

Details for the file x402_anthropic-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: x402_anthropic-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for x402_anthropic-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3629ed8149e4854c11ebc8f177727cd5ad07d1f0ead64e81c7f594fdfe44adf2
MD5 0d83ace98faabbc7d155968404a42699
BLAKE2b-256 6e5e743a2e33358598b9bc6bf6a35ea73774250681c353722708064137879160

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page