How It Works
The rate limiter uses four core settings.
In product terms, the rate limiter behaves like fee brackets.
Example
Assume:- Reference amount: 1 SOL.
- Cliff fee: 1%.
- Fee increment: 1%.
This does not block large buys. It makes large buys more expensive during the configured launch window.
It also helps protect the fee design at the transaction level. When the limiter is active, the program validates single-swap behavior for the pool so traders cannot easily split one large buy into multiple swaps inside the same transaction.
For exact-in swaps, the limiter derives the fee from the included input amount. For exact-out swaps, it derives the fee from the excluded amount and performs a conservative reverse calculation, so different swap modes can produce slightly different effective limiter behavior.
Requirements
Rate limiter mode has important constraints.
The 12-hour cap is represented as
43,200 seconds for timestamp activation or 108,000 slots for slot activation. If reference_amount, max_limiter_duration, and fee_increment_bps are all zero, rate limiter mode behaves like a fixed cliff-fee mode.
Why Use Rate Limiter
Discourage Oversized Buys
Very large launch buys can become progressively more expensive.
Protect Early Distribution
The fee slope can reduce the advantage of a single large first mover.
Preserve Small Buyer Access
Smaller buys can still use the starting fee while larger buys move into higher tiers.
Short Launch Window
The limiter is meant for early launch protection, not permanent pool behavior.
When To Choose It
Choose rate limiter when:- The launch expects aggressive large buys.
- The goal is to make large buys less attractive without fully preventing them.
- The launch wants fee protection based on size rather than time.
- Fees should return to the base level after the limiter window ends.

