📏 Limits & Quotas
This page lists every hard limit (set by WhatsApp) and soft limit (set by the module) you'll run into. Knowing them up front prevents surprises in production.
7.1 Hard Limits (Set by WhatsApp)
These are enforced by WhatsApp itself — the module cannot raise them.
| Limit | Value |
|---|---|
| Text message length | 4 096 characters |
| QR validity window | ~60 seconds |
| Linked devices per number | 4 (WhatsApp limit) |
| Delete-for-everyone window | ~2 days from sending (WhatsApp limit) |
📲 LINKED DEVICE BUDGET
WhatsApp lets one number link to a maximum of 4 devices simultaneously. This module counts as one device, so you still have headroom for WhatsApp Web on a laptop, the desktop app, or another linked installation. Hit the limit and WhatsApp will refuse new links until you log one out.
7.2 Default Limits in This Module
These are tuned for safety. Most can be adjusted via configuration if your use case demands it.
| Limit | Allowed Extensions | Max Size |
|---|---|---|
| Image upload | .jpeg, .png, .jpg | 5 MB |
| Video upload | .mp4, .3gp | 16 MB |
| Audio upload | .mp3, .m4a, .amr | 16 MB |
| Document upload | .pdf, .doc, .docx, .txt, .xls, .xlsx, .ppt, .pptx | 100 MB |
| Sticker upload | .webp | 0.1 MB |
| Behaviour | Default |
|---|---|
| Single send timeout | 20 seconds before retry |
| Send retries | 4 attempts (with increasing delays) |
| Minimum gap between messages | 4 seconds |
| Chat list page size | 20 chats per page (auto-loads more) |
| Message history page size | 20 messages per page (auto-loads older) |
📂 MEDIA SIZES MIRROR WHATSAPP'S OWN
The upload caps and allowed extensions are validated server-side before the file is sent to WhatsApp. Files that exceed the size cap or use an unsupported extension are rejected immediately — you'll see an inline error on the composer.
7.3 Send Throttle
The inbox enforces a minimum 4-second gap between consecutive sends from the same connection. This is deliberate: WhatsApp tracks per-number quality scores and a rapid-fire send pattern is a strong signal of bot behaviour.
🚫 NO RATE-LIMITING BYPASS
WhatsApp itself enforces unpublished sending limits per number based on quality scores. The module's send throttle exists to keep you safely under those limits. Trying to disable it will get the number flagged or banned.
If you need higher throughput, the right answer is the WhatsApp Cloud API, not removing the throttle on QR Login.
7.4 Retry Behaviour
When a send fails, the module retries up to 4 times with increasing delays. After the final attempt, the message is marked Failed and stays in the chat with a red error indicator. Hover the indicator to see the WhatsApp error reason.
Common reasons for permanent failure:
- The recipient's number is not a valid WhatsApp account
- The recipient has blocked the connected number
- The connection dropped mid-send and didn't recover within the retry window
- WhatsApp imposed a temporary cool-down on the connected number
For diagnosing limit-related errors, see Troubleshooting.