ProblemRate limits are IP-keyed; many merchants behind one NAT share a limit, and one noisy merchant can throttle others.
- IP-only key.
- No merchant dimension.
- Shared-NAT fairness broken.
Solution
- Key by authenticated merchant when present, IP as fallback.
- Support nested limits.
- Test shared-NAT scenario.
Acceptance Criteria
- Authenticated requests limit per merchant.
- Anonymous requests limit per IP.
pnpm --filter api-gateway build passes.
Note for Contributors: Write a clear PR description. Show the two-dimensional limiting test.
ProblemRate limits are IP-keyed; many merchants behind one NAT share a limit, and one noisy merchant can throttle others.
Solution
Acceptance Criteria
pnpm --filter api-gateway buildpasses.Note for Contributors: Write a clear PR description. Show the two-dimensional limiting test.