Porto rejects external wallet signers.
merchantUrl is required for mainnet sponsorship unless the account has native gas; feeToken can bypass unavailable native sponsorship on supported chains.