To help prevent the abuse of accounts, whether intentional or by mistake, we impose an hourly message and bandwidth limit on all accounts. This hourly limit is calculated as a percentage of your message quota. By default we allow customers to use their entire monthly quota in three days which amounts to 1.39% of your monthly quota per hour.
If you exceed that limit, you will get an email letting you know that you should review your account usage or upgrade your package.
There is a large safety margin built in, to give you plenty of time to react to the email to avoid disruption to your customers. If exceed your hourly quota by more than 2.5x, Ably may start refusing to publish or deliver new messages on your account for the remainder of that hour.
There is also an instantaneous message limit: accounts can burst to up to 6.25x their pro rata hourly package rate (62.5x their pro rata monthly rate); sustained usage above that is liable to be rejected on a rolling probabilistic basis -- for example, if you are publishing at double your permitted instantaneous rate, each message has a 50% chance of being rejected, with the suppression probability being continuously updated based on a moving average of the current attempted publish rate.
Ably guarantees that if we accept a message we will deliver it. So any message rejected for breaching a limit (instantaneous, hourly, or monthly) will not be silently dropped: the publisher will get a NACK -- for example, the callback passed to publish() will be called with an error, with error code indicating the specific cause of the publish rejection, so it can take any further action it needs. In the case of an instananeous rate limit, the error code is 42911.
If you are on an Enterprise account you can customize all the default limits (including our hourly and instantaneous limit on messages and data transfer).
For the exhaustive and up to date list of all standard limits on accounts, please see the connection, channel, message and rate limits article , as well as I got an email telling me my account's hit a limit; what can I do?