Incentive Programs
Incentives (comprising Liquidity Payments and Launch Payments) enable token issuers to bootstrap and deepen pool liquidity on Aero. A Token Issuer funds a program on a specific pool by setting a token, a total amount, a start time, and a duration. Those tokens stream at a constant per-second rate to Token Operators who direct AERO rewards to that pool, driving liquidity depth and supporting trading volume.
What Incentive Programs are
Why they exist
A token with thin liquidity incurs volatile price impacts, and that volatility can impact user decision-making. Liquidity Payments solve this by allowing projects to attract AERO Rewards rather than paying liquidity providers directly. This is more capital-efficient: a project's incentive budget goes further on Aero because the pool receives AERO emissions, compounding the impact of incentives. A fixed liquidity mining budget spreads thinly across many LPs; here, the same budget triggers additional AERO Rewards, making each dollar of incentives more powerful.
Payments are structured as continuous streams rather than one-time distributions. A Token Issuer funds a program by setting a token, a total amount, a start time, and a duration. Those tokens stream at a constant per-second rate to Token Operators (sAERO holders) who direct AERO to the pool. Only Token Operators who allocate receive the payments, creating direct alignment: allocators are rewarded, and their allocation brings AERO Rewards that attract and retain liquidity providers.
Liquidity Payments
Each pool has its own rewards contract on every network it exists on. A program is created directly on that contract and is defined by four values:
| Parameter | Meaning |
|---|---|
| Token | What Token Operators receive. Any token listed on the Token Registry. |
| Amount | The total budget, which transfers in full at creation. |
| Start time | When streaming begins. Can be set in the future. |
| Duration | How long it streams, which sets the rate (Amount / Duration per second). |
Creation is permissionless: any address can fund a program. All four values are fixed once the program exists. A live program cannot be topped up, extended, shortened, or cancelled, so a change of plan means running the current program to completion and funding a second one alongside it.
Launch Payments
Launch Payments are Liquidity Payments deployed at the moment a new token registers on Aero, designed to bootstrap liquidity from a pool's inception. The underlying mechanism mirrors standard Liquidity Payments: a project specifies a token, total amount, start time, and duration; those tokens stream at a constant per-second rate to Token Operators who direct AERO emissions to the pool.
The distinction lies in deployment timing. A newly created pool begins without allocation or AERO Rewards. Deploying a Launch Payment at registration triggers the pool's AERO Rewards from inception, enabling the pool to accumulate depth and support trading volume from day one. This contrasts with organic allocation growth, where a pool must establish market presence before attracting Token Operator interest.
Launch Payments follow the same operational parameters as all Liquidity Payments: permissionless creation, constant per-second rate, concurrent program support, on-demand claim mechanics, and recovery of unallocated intervals through sweep functions. They are not a distinct contract or revenue stream, but rather standard Liquidity Payment programs whose deployment coincides with token launch.
Liquidity and Launch Payments compared
| Aspect | Liquidity Payments | Launch Payments |
|---|---|---|
| Timing | Funded for existing pools at any time | Funded when a new token launches on Aero |
| Pool State | Pool already has allocation and AERO Rewards | Brand-new pool with no allocation or rewards |
| Mechanism | Identical logic | |
| Why Use It | Boost liquidity for established tokens | Attract immediate allocation and rewards at launch |
| Contract | Same rewards contract, independent program | Same rewards contract as Liquidity Payments |
Principles
The following principles shape how incentive programs work across the platform:
- Continuous, not weekly. Payments accrue per second from the moment a Token Operator allocates. There is no distribute step, no epoch boundary, and no weekly claim cadence.
- Time and weight both count. A share reflects how much Allocation Power was allocated and for how long, so arriving late in a program earns proportionally less.
- Concurrent by design. Any number of programs can run on the same pool at once, each with its own token, budget, start, and duration. This flexibility supports campaigns of very different shapes.
- Budget is recoverable. Tokens streamed during periods with no allocation return to the project rather than being forfeited, which makes programs on new or thin pools a bounded risk.
- Cross-network native. The streaming logic runs independently on each network Aero is deployed on, so a program can be funded on a pool wherever that pool lives.
- Onchain and visible. Active programs, their rates, and their remaining budget are readable onchain, so both sides can see what is being paid and what has streamed.
How Incentive Programs work
How Liquidity Payments stream
From the start time, the program streams at a constant rate of the amount divided by the duration, per second, until the end. Token Operators directing AERO Rewards to the pool accrue a share of everything streaming through it, proportional to their Allocation Power against the total weight allocated to that pool at each moment.
Balances rise continuously and are claimable at any time, with each program claimed separately.
Duration sets the rate, not the total cost. The same budget spread over a shorter window pays a higher per-second rate for less time; spread over a longer window it pays less per second for longer. Because programs run concurrently, a token issuer does not have to choose one shape: a short program and a long program can run on the same pool at the same time, each fully independent, with its own token, budget, and rate.
Sweep: recovering unallocated budget
After the program ends, the user that created the program can reclaim the tokens that streamed during intervals when no Allocation Power was directed to the pool. This is the sweep, and it is callable only by the program's creator. Sweep reaches only tokens that had no recipient. It never reduces what a Token Operator has already accrued, and Token Operators can still claim their share after a sweep has run. Every token in a program is therefore either claimed by a Token Operator or returned to the project.
Configuration and behavior
Token Issuer configuration
| Configuration | Description |
|---|---|
| Eligibility | The payment token must be listed on the Token Registry. |
| Amount and duration | Specified by the issuer at creation. The per-second rate is calculated as the amount divided by duration and remains constant for the full window. |
| Start time | A start time in the future begins accrual when that time arrives. A start time of now begins accrual immediately. |
| Immutability | Token, amount, start time, duration, and creator are fixed at creation and cannot be modified. |
| Funding | The full amount transfers into the pool's rewards contract when the program is created. There is no drip-funding; the pool holds the entire budget from inception. |
| Program limits | Eligible pools and the caps that apply per pool are covered in Incentive Guidelines. |
Token Operator claiming
| Claiming behavior | Description |
|---|---|
| Accrual | Continuous and proportional to Allocation Power directed to the pool over time. Accrual stops when a Token Operator stops allocating, but everything already accrued remains claimable indefinitely. |
| Claiming | Per program, at any time, with no waiting period. |
| Inactive gauges | If a gauge is deactivated while a program is running, streaming continues into intervals with no eligible allocation. Token Operators cannot claim from those intervals; the issuer can sweep them after the program ends. |
Issuer recovery
| Recovery mechanism | Description |
|---|---|
| Sweep | Available to the program creator only, after the program ends. Limited to tokens that streamed while no Allocation Power was allocated to the pool. |
Getting started
For token issuers and users: Open the pool's detail page in the Aero app and select "Create Incentive Program." Choose the reward token, enter the total budget, set a start time (now or future), and specify the duration. Confirm to fund the program. Once live, the pool's page shows what has streamed versus what remains, and the sweep button becomes available once the program ends. For the full walkthrough, see Creating an Incentive Program.
For Token Operators: Directing Allocation Power to a pool with an active program starts accrual automatically. Claimable balances appear alongside Exchange Revenue for that pool. To begin allocating, see Staking and Allocating.