RouterClientConfigError: chain is required
Pass a supported chain name when you construct RouterClient.
Provide either signer, or privateKey
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.