Skip to content

RateLimitNotice

Stable

An amber message that says when a usage limit resets, with an optional Upgrade button.

Also known as quota exceeded, usage limit, too many requests, throttling message

Install with npm install @tattva/ui (setup), or copy the code from the kit in Downloads.

With upgrade

You've reached the usage limit

Limits reset in 2 hours.

The Upgrade button is a small primary button.

When to use it

Tells people they reached a usage limit and when it resets. Amber marks that they must wait or act before going on.

Made of: Alert icon · Title · Reset time · Upgrade button

Use it for

  • A person has used up their messages or credits for now.
  • Offering a way to upgrade: pass onUpgrade.

Not for

  • How much has been used before the limit is reached: use UsageMeter.
  • A failure that can be tried again right away: use ErrorState.

Do and avoid

You've reached the usage limit

Limits reset in 2 hours.
Do. A short wait time tells people when they can try again.

You've reached the usage limit

Limits reset in Thursday, 15 October 2026 at 14:00 UTC.
Avoid. A full date and time zone makes people do the maths.

Do

  • Give the real time until the limit resets.
  • Offer Upgrade only if it applies to the person's plan.
  • Place it where the blocked action would have been.
  • Disable the blocked action, or explain it next to the action, so people do not run into the limit again.

Avoid

  • Do not show it before the limit is reached. Use a quieter hint.
  • Do not use a full date. Give a short time.
  • Do not use it when the service is down. Use ErrorState.

On a phone

  • The message wraps, and on a phone the Upgrade button drops under it so the text keeps its full width.
  • Upgrade keeps its size and has a 44px tap area on touch screens.
  • It fills the width of its container.

Build your next AI screen with Tattva.

Free and open, with the code. Start in one line.

Get started