Rate Limits
This section explains how operators, token issuers, and administrators manage rate limits on CCIP TokenPool v2.0 contracts (and v1.x pools, with differences noted inline). Rate limits are operator-level controls that bound the volume of tokens that can move across a specific CCIP lane over time, reducing blast radius during incidents and helping manage operational risk.
Changes are applied on-chain, take effect immediately, and directly affect transfer availability. Most integrators do not need to interact with rate limits.
Pages
Overview
How CCIP rate limits work as capacity buckets, why they exist, who should manage them, and the responsibility boundary.
Prerequisites and Permissions
Required roles (owner or rateLimitAdmin), how admin access is granted on v2.0 and v1.x pools, and the scope of admin authority.
Inspect Current Rate Limits
Read-only inspection of inbound and outbound rate limiter state, including the TokenBucket struct and fast-finality buckets.
Token Units and Decimals
How to convert human-readable token amounts into on-chain base units, with worked examples for 18-decimal and 6-decimal tokens.
Update Rate Limits
The setRateLimitConfig (v2.0) and setChainRateLimiterConfig (v1.x) functions, inbound/outbound guidance, and fast-finality bucket updates.
Emergency Actions
Incident-response lockdown patterns: throttle to zero, minimal non-zero values, owner-only lane removal, and restoring normal operation.
Common Scenarios
Worked configuration examples for 18-decimal and 6-decimal tokens, fast-finality buckets, batch updates, pausing a lane, and removing rate limits.
Executing with a Multisig
How to build and submit rate limit update transactions from a multisig wallet, including ABIs for transaction builders.