What's New
x402 (HTTP 402 Payment Required) support
Handle paywalled APIs automatically:
response = requests.get("https://api.example.com/data")
if response.status_code == 402:
result = client.x402_handle_payment_required(dict(response.headers))
data = requests.get(url, headers={"PAYMENT-SIGNATURE": result.payment_signature})client.x402_handle_payment_required(headers)— full flow: parse header → fund bot EOA from vault → sign EIP-3009 (USDC) or Permit2 (any ERC-20) → returnPAYMENT-SIGNATUREheaderclient.x402_fund(amount, token?)— fund bot EOA from vault for manual flows- EIP-3009 signing (
eip3009.py) — USDC-specific gasless transfer authorization - Permit2 signing (
permit2.py) — universal ERC-20 via Uniswap Permit2 - x402 header parsing, chain matching, metadata extraction (
x402.py) - Full Axon pipeline applies (spending limits, AI scan, human review)
Other changes
x402_fundingflag onpay()— audit/context flag for x402 self-paymentsrelayer_urlconfig option on client
Previous versions
- 0.1.6: Add
relayer_urlto client config - 0.1.5: Add
swap(),execute(), token resolution, amount parsing - 0.1.0: Initial release —
pay(), EIP-712 signing, sync wrapper