- Base: the official PyPI
x402client, using the EIP-3009exactscheme settled through Coinbase’s facilitator. The wallet needs USDC on Base only, no ETH for gas. - Solana: the Limitguard SDK’s co-sign mode. Limitguard’s own fee payer covers the Solana network fee, so the wallet needs USDC only, no SOL.
POST /v1/risk/score. For the raw HTTP 402 flow behind both (useful if you’re not on Python, or want to hand-roll the signature), see x402 Protocol. For what each endpoint costs, see Pricing.
Base (official x402 client)
EVM_PRIVATE_KEY to a wallet holding enough USDC on Base mainnet (eip155:8453) for the call: POST /v1/risk/score costs $0.90 on the fresh tier (see Pricing). The transport handles the 402: it probes the endpoint, signs the EIP-3009 authorization for the quoted amount, retries with the payment header, and returns the paid response. Nothing else to wire up.
Solana (Limitguard SDK, co-sign mode)
SOLANA_PRIVATE_KEY to a base58-encoded secret key for a wallet holding enough USDC for the call (Solana mainnet USDC mint EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v): POST /v1/risk/score costs $0.90 on the fresh tier. LimitGuardClient retries any 402 automatically once a wallet is set. Note that, unlike the Base example above, the SDK has no built-in per-call spend cap, so only call methods (risk_score, check_entity, …) whose price you already know rather than passing it an arbitrary path.
SolanaWallet(keypair=keypair, broadcast=True) opts back into paying the network fee yourself instead of the co-sign path: that mode needs a small SOL balance in addition to USDC. The default (shown above) does not.Next Steps
x402 Protocol
The raw HTTP 402 flow, response headers, and both chains’ payment payloads
Pricing
What every endpoint costs, cached vs. fresh