# Convex Rate Limiter ## Docs - [Introduction](https://mintlify.wiki/get-convex/rate-limiter/introduction.md): Application-layer rate limiting for Convex with type-safe, transactional guarantees - [Installation](https://mintlify.wiki/get-convex/rate-limiter/installation.md): Install and configure the Convex Rate Limiter component - [Quickstart](https://mintlify.wiki/get-convex/rate-limiter/quickstart.md): Get started with Convex Rate Limiter in minutes - [Rate Limiting](https://mintlify.wiki/get-convex/rate-limiter/concepts/rate-limiting.md): Understanding rate limiting and how it works in Convex - [Rate Limiting Strategies](https://mintlify.wiki/get-convex/rate-limiter/concepts/strategies.md): Overview of token bucket and fixed window rate limiting algorithms - [Token Bucket Algorithm](https://mintlify.wiki/get-convex/rate-limiter/concepts/token-bucket.md): Deep dive into the token bucket rate limiting strategy - [Fixed Window Algorithm](https://mintlify.wiki/get-convex/rate-limiter/concepts/fixed-window.md): Deep dive into the fixed window rate limiting strategy - [Basic Usage](https://mintlify.wiki/get-convex/rate-limiter/usage/basic-usage.md): Learn how to use the RateLimiter for simple, global rate limiting - [Per-User Limits](https://mintlify.wiki/get-convex/rate-limiter/usage/per-user-limits.md): Use the key parameter to create per-user, per-session, or per-team rate limits - [Custom Counts](https://mintlify.wiki/get-convex/rate-limiter/usage/custom-counts.md): Use the count parameter for non-uniform token consumption - [Error Handling](https://mintlify.wiki/get-convex/rate-limiter/usage/error-handling.md): Handle rate limit violations with automatic errors or manual checks - [Checking Limits](https://mintlify.wiki/get-convex/rate-limiter/usage/checking-limits.md): Check rate limits without consuming tokens using check() and getValue() - [Resetting Limits](https://mintlify.wiki/get-convex/rate-limiter/usage/resetting-limits.md): Clear rate limit state using the reset() method - [Sharding for Scale](https://mintlify.wiki/get-convex/rate-limiter/advanced/sharding.md): Use sharding to handle high-throughput rate limits without compromising correctness - [Capacity Reservation](https://mintlify.wiki/get-convex/rate-limiter/advanced/reservations.md): Reserve capacity ahead of time to prevent starvation and enable fair queueing - [Adding Jitter](https://mintlify.wiki/get-convex/rate-limiter/advanced/jitter.md): Use randomness to prevent thundering herd problems and distribute retry traffic - [React Hooks](https://mintlify.wiki/get-convex/rate-limiter/advanced/react-hooks.md): Check rate limits in your React components with the useRateLimit hook - [Dynamic Rate Limits](https://mintlify.wiki/get-convex/rate-limiter/advanced/dynamic-limits.md): Define rate limits at runtime with the config parameter - [Preventing Bot Signups](https://mintlify.wiki/get-convex/rate-limiter/examples/signup-limits.md): Limit free trial signups with a global rate limit to deter bots and abuse - [Message Rate Limiting](https://mintlify.wiki/get-convex/rate-limiter/examples/messaging-limits.md): Prevent spam with per-user message limits using token bucket for burst handling - [Failed Login Protection](https://mintlify.wiki/get-convex/rate-limiter/examples/failed-logins.md): Prevent brute force attacks by limiting failed authentication attempts per user - [LLM API Rate Limiting](https://mintlify.wiki/get-convex/rate-limiter/examples/llm-rate-limits.md): Control AI API costs with token counting and sharding for high-throughput applications - [RateLimiter](https://mintlify.wiki/get-convex/rate-limiter/api/rate-limiter.md): Core class for managing rate limits in Convex applications - [limit()](https://mintlify.wiki/get-convex/rate-limiter/api/limit.md): Check and consume rate limit tokens in mutations - [check()](https://mintlify.wiki/get-convex/rate-limiter/api/check.md): Check rate limit status without consuming tokens - [reset()](https://mintlify.wiki/get-convex/rate-limiter/api/reset.md): Reset a rate limit to its initial state - [getValue()](https://mintlify.wiki/get-convex/rate-limiter/api/get-value.md): Get current rate limit state and metadata - [useRateLimit](https://mintlify.wiki/get-convex/rate-limiter/api/use-rate-limit.md): React hook for real-time rate limit status in your components - [hookAPI](https://mintlify.wiki/get-convex/rate-limiter/api/hook-api.md): Create server-side API for React hook integration - [Types](https://mintlify.wiki/get-convex/rate-limiter/api/types.md): TypeScript types for rate limiting - [Constants](https://mintlify.wiki/get-convex/rate-limiter/api/constants.md): Time constants for rate limiting - [Utilities](https://mintlify.wiki/get-convex/rate-limiter/api/utilities.md): Utility functions for rate limiting ## OpenAPI Specs - [openapi](https://mintlify.wiki/get-convex/rate-limiter/api-reference/openapi.json)