RouterClientConfigError: chain is required
Pass a supported chain name when you construct RouterClient.
Provide either signer, or privateKey (with chain) for Circle nanopayments
The client needs one signing path. Provide either signer or privateKey.
Paid request fails with an insufficient-balance error
Your signer’s wallet has no spendable USDC on the chain you’re paying from. Paid requests draw from your Circle Gateway balance, and a brand-new key starts at zero.- Confirm you’re funding the same chain you pass to
RouterClient(e.g.chain: "base"). - Top up with the SELAT CLI:
selat fund --chain base --amount 2. - Check what’s recorded so far with
selat history, and runselat doctorif the balance looks wrong.
Circle CLI signing timed out
If you use the Circle Agent Wallet signer, confirm that:
circleis installed and authenticated- the wallet address matches the target wallet
- your timeout is long enough for the environment
Remote signer returns no signature
Your remote signer must return a JSON object with asignature field that starts with 0x.
Paid request still looks unpaid
Check the target endpoint and the selected protocol hint.- Use
mppfor the default path - Use
x402when you explicitly want the x402 path
Need a faster way to isolate the issue
Try the smallest request possible first:- Use a GET request.
- Remove custom headers.
- Test with a private key signer before moving to a remote signer or Circle Agent Wallet.