Skip to content

v1.17.0 — Arc: the signed domain follows the 402's network

Latest

Choose a tag to compare

@VickyXAI VickyXAI released this 16 Sep 18:48
· 3 commits to main since this release
8a18227

Added

Arc. LLMClient(api_url="https://arc.blockrun.ai/api") pays on Circle's Arc. The chain table knew Base and Base Sepolia and fell back to Base for anything else, while asset and extra were taken from the 402 as given — so against arc.blockrun.ai (eip155:5042, USDC at 0x3600…, domain name USDC) every payment was a signature over chainId 8453 with Arc's contract: invalid, a 401 from the facilitator, after the SDK had reported a payment.

EVM_NETWORKS in blockrun_llm.x402 maps a 402's network to the SDK's own chain id, USDC address and EIP-712 domain (Base, Arc, Base Sepolia; the base-sepolia alias still resolves). The 402 selects the network and supplies nothing else: its extra no longer reaches the domain, an unknown network raises ValueError naming what is supported, and a 402 whose asset is not that network's USDC raises before anything is signed. Every EVM client passes the 402's asset through. Mirrors @blockrun/llm 3.16.0.

Verified against arc.blockrun.ai: Circle's /verify recovers the signing wallet as payer on Arc's domain.