Skip to content

Backend: Apply per-principal rate limiting #1205

Description

@Cedarich

Complexity: Medium (150)

Description
apps/backend/src/common/rate-limit/ provides rate limiting infrastructure, but limits are not consistently scoped to the authenticated principal. An authenticated client can consume the shared budget for an entire source address, and expensive endpoints carry the same limit as trivial ones.

Acceptance Criteria

  • Limits are keyed by authenticated principal where one exists, falling back to source address otherwise.
  • Expensive endpoints — search, export, analytics, contract simulation — carry their own stricter limits.
  • Responses include standard rate limit headers and a Retry-After value on rejection.
  • Bot and service principals authenticated through bot-auth have separately configurable limits.
  • Limit rejections are exported as metrics labelled by endpoint class.

Wave 8 · source: backend.md

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

BackendStellar WaveIssues in the Stellar wave programapiAPI developmentnestjsNestJS frameworkreliabilityReliability and fault tolerancesecuritySecurity-related issues

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions