Skip to content

v0.2.0 — x402 Payment Support

Latest

Choose a tag to compare

@axonfi axonfi released this 06 Mar 06:39
· 48 commits to main since this release

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) → return PAYMENT-SIGNATURE header
  • client.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_funding flag on pay() — audit/context flag for x402 self-payments
  • relayer_url config option on client

Previous versions

  • 0.1.6: Add relayer_url to client config
  • 0.1.5: Add swap(), execute(), token resolution, amount parsing
  • 0.1.0: Initial release — pay(), EIP-712 signing, sync wrapper