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 has no spendable Gateway balance on the chain you pass toRouterClient. Paid requests draw from Circle Gateway, not from USDC sitting in the wallet, and a new address starts at zero.
- Confirm the balance belongs to the same address your signer signs with.
- Confirm it sits on the same chain you pass as
chain:circle gateway balance --address <address> --chain <chain> --all. - Top up that address on that chain. See Fund the signer.
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 the Circle Agent Wallet signer on a machine where
circleis logged in, before moving to a remote signer.