Why am I rate-limited?
The actual limits in the app today — sign-up, username checks, codes, pairing, invitations — what triggers each and why VPN and Tor hit them sooner.
A rate limit is a budget: so many attempts at one thing, from one place, in one window. When the budget is used up the app refuses that one action for a while and says so. Limits exist to make guessing and automated abuse expensive, and they are set so that a person using the app by hand almost never meets them.
Two things are true of every limit below:
- They lift by themselves. Nothing is flagged on your account and support does not need to reset anything.
- They are narrow. A limit on one action does not affect the rest of the app. Being blocked from sign-up does not affect signing in; being blocked from code entry does not affect reading mail.
The limits
Where a limit is per connection, it is counted against your public IP address. We store only a keyed hash of the address, and the counter expires with the window. This counter is the only thing derived from your IP address: we keep no access or connection logs.
| Action | Limit | What you see | Wait |
|---|---|---|---|
| Creating an account | 15 failed attempts per hour, per connection | Sign up unavailable — We can't sign you up right now. Please try again later. | Up to 1 hour |
| Checking whether a username is free | 120 checks per hour, per connection (every check counts) | Too many checks from this connection. Please try again later. | Up to 1 hour |
| Redeeming a chat invitation link to create an account | 20 per hour, per connection (every attempt counts) | Invitation cannot be redeemed | Up to 1 hour |
| Opening or redeeming one particular invitation link | 10 requests per hour, per link | Link refused | Up to 1 hour |
| Creating invitation links | 20 per hour per account; at most 20 unredeemed links at a time | Link not created | Up to 1 hour, or withdraw old links |
| Pairing a second device by QR | 30 refused requests per hour, per connection; 10 attempts per minute on the scan step | Pairing fails; scan a fresh code | 1 minute to 1 hour |
| Requesting an email sign-in code | 5 requests per minute, per connection | Request refused | 1 minute |
| Entering an email sign-in code | 5 wrong codes per code; codes expire after 5 minutes | Invalid code. N attempts remaining. then Too many failed attempts. Please request a new code. | Request a new code |
| Entering a recovery-email code (add, remove, password reset) | 5 wrong codes destroy the code; codes expire after 15 minutes | Invalid or expired verification code | Request a new code |
| Entering a two-factor code | 5 wrong codes, then blocked for 15 minutes — per account, not per connection | Too many incorrect codes. Try again later. | 15 minutes |
| Proof-of-work challenges (the short pause before public actions) | 60 per minute, per connection | The action does not start | 1 minute |
In front of all of these sits a general flood cap on our web server, which refuses a connection that fires off requests far faster than any app or browser does. You will not meet it by using the app.
Not on the list because there is no such limit today:
- Signing in with a password. Wrong passwords are not counted and do not lock the account. Each attempt costs your device a proof-of-work, which is what slows down guessing.
- Sending email or chat messages. There is no messages-per-hour quota. The limits on a single email are 5 recipients across To, Cc and Bcc, and 10 attachments of up to 25 MB each; a chat message is at most 1000 characters. Sending unsolicited bulk mail is handled by the anti-spam policy, not by a throttle.
- Looking up other people's keys or reading your own mail — these are ordinary signed-in requests with no budget.
Shared connections: VPN, Tor, offices, mobile carriers
Per-connection limits count everyone who shares your public IP address. On a VPN server, a Tor exit, an office network or a carrier that pools many phones behind one address, other people's attempts are added to yours — which is how you can hit Sign up unavailable on your very first try. Nothing is wrong with your account. What helps:
- Wait. Every per-connection counter expires within an hour.
- Change your exit point. New Tor circuit, different VPN server, or switch from Wi-Fi to mobile data (or back). The counter follows the address, not you. See Using Tor and Using a VPN.
- Sign in instead of signing up. If you already have an account, none of the sign-up limits apply to you.
The two-factor limit is the exception: it is counted on the account, so changing networks does not help and the 15 minutes simply have to pass.
What to do when you hit one
- Stop retrying. Every failed attempt is another count.
- Check the obvious. Phone clock set automatically (two-factor codes depend on it)? Newest code, not one from an earlier email? Username typed exactly?
- Wait out the window from the table, or move to a different connection where the limit is per connection.
- Still blocked after the window? Contact support. Support can see that a rate limit happened and whether your account is enabled — not your mail, password or passphrase.
What our server sees
Cannot see
- Your IP address in readable form in the limit counters — only a keyed hash, kept for at most one hour
- The contents of anything you sent or tried to send
Can see
- How many times a given action was attempted from a given connection within the window
- Wrong two-factor and verification-code attempts, counted per account
Common questions
Will I be told which limit I hit?
The message tells you what was refused (sign-up, a check, a code). It does not tell you how many attempts remain or how long the window has left, because that information helps an attacker pace their attempts.
Can support lift a rate limit?
No. The counters expire on their own and support has no button for them. What support can do is tell you whether the account itself is enabled.
I was rate-limited and now I cannot sign in at all.
Those are different things. A rate limit lifts within the hour; if sign-in keeps failing afterwards with the right password, read My account is locked and My account is suspended.