Synapse · Rate Limits
Synapse Rate Limits
Synapse ships with documented per-second / burst-count rate limits configured under the `ratelimiting` section of homeserver.yaml. Defaults are operator-tunable. Limits are enforced per-user / per-IP / per-room as appropriate and are not bound to a commercial plan because Synapse is self-hosted open-source software.
11 Limits
Throttle: 429
MatrixMessagingOpen SourceRate Limiting
Limits
Client Messaging (rc_message) user
0.2
Burst count 10. Applies to client message-send events.
Login by Address (rc_login.address) IP
0.003
Burst count 5.
Login by Account (rc_login.account) account
0.003
Burst count 5.
Failed Login Attempts (rc_login.failed_attempts) account
0.17
Burst count 3.
Registration (rc_registration) IP
0.17
Burst count 3.
Invites Per Room (rc_invites.per_room) room
0.3
Burst count 10.
Invites Per User (rc_invites.per_user) user
0.003
Burst count 5.
Invites Per Issuer (rc_invites.per_issuer) user
0.3
Burst count 10.
Local Joins (rc_joins.local) user
0.1
Burst count 10.
Remote Joins (rc_joins.remote) user
0.01
Burst count 10.
Federation Read-Receipts (federation_rr_transactions_per_room_per_second) room
50
Federation read-receipt transactions per room.
Policies
Operator-Tunable Defaults
All rate-limit values above are defaults from homeserver.yaml; operators may raise or lower them per deployment. Effective limits are therefore deployment-specific.
Per-Scope Enforcement
Limits are enforced per-user, per-IP, or per-room depending on the bucket; clients must distinguish 429s caused by user-bucket vs IP-bucket throttling.
Federation Backpressure
Federation limits (rc_joins.remote, federation_rr_transactions_per_room_per_second) protect remote homeservers; clients should expect backoff when joining large remote rooms.