Swap Reward Mint
Pays traders a reward token for each swap, funded by a slice of the trade.
Where it runs
Advisory
The pool's single add-on slot: one per pool.
Status on reel
In the program
In the reel program: bit 20 of PoolParams.blocks, frozen at PoolInit (PROGRAM.md §5).
Set by
You, at launch
Frozen in PoolParams at PoolInit; nobody can change it after.
What it does
Each charged swap pays a slice of its quote for its side; the same swap mints a reward token to the trader at a set rate, capped per swap and in total, for a set time. The slice goes to the creator after the protocol's share.
How it works on reel
Charged swaps pay reward_pips[side], protocol share first, the rest to REWARD_CREATOR for the payee. The same swap mints min(slice·rate/10⁹, max_swap, cap − minted) of the adv[0] mint, whose mint authority must be the pool's own PDA ["reward", pool] (checked at PoolInit, so no other pool can mint it), to the trader, only if the trader receives the output. No slice once the reward is 0, after reward_ends, or on exact-out sells.
Named at launch: adv[0] reward mint (authority: the pool's reward PDA) · payee
Settings · 6
| Setting | Min | Default | Max | What it does |
|---|---|---|---|---|
Buy slice reward_pips[0] | 0% | 1% | 5% | Of each buy's quote, on top of pool fees. reel's share first; the rest goes to the payee.At least one side above 0. |
Sell slice reward_pips[1] | 0% | 1% | 5% | Of each sell's quote, on top of pool fees. reel's share first; the rest goes to the payee.At least one side above 0. |
Reward rate reward_rate | 1 | 1,000,000,000 | 1,000,000,000,000,000,000 | Reward atoms minted per 10⁹ quote atoms of slice. 10⁹ is one for one. |
Most per swap reward_max_swap | 1 atoms | At launch | — | Reward atoms one swap can mint. Named at launch. |
Total reward reward_cap | 0 (off) | At launch | See rule | Reward atoms that can ever be minted; after that the slice stops. Named at launch.At least the most per swap. |
Runs for reward_run_secs | 0 s | 0 s | 4,294,967,295 s (49710d 6h) | From open; after it the slice stops. 0 = until the total is minted. |
Fees and who's paid
Paid to
The payee, after reel's share; traders get the minted reward token.
Protocol share
reel's protocol share s (20–50%, fixed at launch) comes off each charge first.
Requires and can't be combined with
Requires
No other block.
Worked example
A 1% buy slice at rate 10⁹: a 1 SOL buy pays 0.01 SOL (0.002 reel, 0.008 the payee) and mints 0.01 of a 9-decimal reward token to the buyer.
Solana notes
The reward mint's authority is the pool's own reward PDA, so minting happens in the swap; hookr mints later, in a settle call. The slice takes the pool's protocol share (20–50%), as hookr's fee table does.
On hookr: Advisory · Live
Other blocks in Rewards
Auto Burn
AFTERBurns a set share of every buy's tokens in the same swap.
Arb recapture
FEEThe pool keeps most of the price-gap profit instead of outside bots.
King of the Pool
SWITCHEach round's biggest single buy takes a prize from a pot recapture fills.
Holder Pot
AFTERSandwich Guard's charges fill a pot paid to holders by tokens × time held.
Referrals
TRADINGRef codes and links that pay referrers part of the protocol's cut.
Nth-buy Pot
AFTERHeld on hookr: King of the Pool takes its place.