The examples below use the 2 % margin, the smallest a payout table can declare, with no app share: 98 % of the rewards budget goes back to customers on average, 1 % to the vault and 1 % to the protocol. They are computed with the program’s integer rules (Payout tables). The Ticket page of the app builds the same tables live, against the vault as it stands.
How often, or how much
Hold the ticket price at 10 USDC. Whatever the shape, the ticket returns 9.80 USDC on average: the payout table check isΣ p · m ≤ 9 800 × 1e9. Spending that on a small reward makes it frequent; spending it on a large one makes it rare. These are the Ticket page’s four presets:
The same 10 USDC ticket. Only the largest reward decides how large a vault must be.
The exact integers
The exact integers
Σ p · m = 9 800 × 1e9: exactly a 2 % margin. The liabilities are 10.10, 90.10 and 990.10 USDC.0.98 ÷ multiplier at a 2 % margin. The last column is the smallest idle vault that accepts the ticket: it depends on the liability, what the vault reserves while the ticket is open, the reward less the 9.90 USDC the ticket brings it (see What the vault can cover).
The choice is a marketing one, not a cost one: all three cost 10 USDC and return 9.80 USDC on average. Frequent small rewards are felt by many customers; rare large ones are talked about. Only the large one needs a large vault.
What the ticket price changes
Now hold the reward instead: 100 USDC, the whole of a 100 USDC order. The ticket price sets how often it comes, roughly0.98 × price ÷ reward:
The same 100 USDC reward. A higher price makes it more frequent; the vault it needs barely moves.
The exact integers
The exact integers
m = ceil(100 × 10 000 ÷ price), rounded up so the reward is at least 100 USDC, then p = floor(9 800 × 1e9 ÷ m), rounded down to keep the margin:- The reward sets the capacity, the price sets the chance. Ten times the price makes the reward ten times as frequent, while the vault a ticket needs moves much less: from 19 802 to 18 020 USDC between a 1 and a 10 USDC ticket.
- The price has a floor. Every ticket pays a fixed SOL cost for its own draw, so the program sets a minimum ticket price: 0.10 USDC on devnet, 7.5 USDC as the mainnet reference. Below it, group several payments into one ticket, for example one ticket per customer per day of spending, as Card payments does.
What comes back on average
The margin is what a ticket keeps of its price on average; the rest comes back to customers as rewards. The program checks it before the ticket opens and splits it at once (Who pays what). On a 10 USDC ticket with a 100 USDC reward:
The protocol takes 0.10 USDC in each case. The vault keeps 0.10, 0.20 and 0.10 USDC, and the app 0, 0 and 0.20 USDC.
- The minimum, 2 %, gives customers the most back. Its vault margin is the 1 % floor, which makes it the most demanding margin for vault capacity.
- A margin above the minimum, with no app share, goes to the vault. The chance barely moves (1 in 10.2 to 1 in 10.3), and the vault a ticket needs halves, since the per-ticket cap grows with the vault margin.
- An app share of 0 to 5 % pays the app on every ticket. It comes on top of the 2 % floor, so it lowers what comes back without widening the cap.
Several rewards on one ticket
A payout table holds up to 32 outcomes. The Ticket page’s A bit of each preset puts three rewards on the same 10 USDC ticket and gives each an equal part of the 9.80 USDC returned on average,p = floor(9 800 × 1e9 ÷ 3 ÷ m):
Σ p · m = 9 799 999 260 000, within 9 800 × 1e9: the table keeps its 2 % margin, and about 1 ticket in 5 pays something. Every tier shares the same budget, so adding one means trimming the others, and the vault capacity is set by the top reward alone: this ticket needs the same 198 020 USDC idle vault as Rare and large.
Tiers can also pay less than the ticket price. A floor that returns part of the price to most customers leaves less for the top reward, as in the three-tier table on DeFi yield and rewards. How to build any table in exact integers, with rounding in the vault’s favour, is on Payout tables.
What the vault can cover
The vault reserves each ticket’s liability, and one ticket’s liability may not exceedmin(0.5 × vault margin × free balance, 1.5 % of assets). At a 2 % margin with no app share, the vault margin is 1 %, so the first term binds: 0.5 % of the free balance. On an idle vault, the largest reward a 10 USDC ticket can carry is:
As tickets open, the free balance shrinks and so does the cap. After the vault’s drawdown breaker trips (a 15 % fall of the share price within 24 hours), it is halved for 48 hours. Each app’s open liability is also limited to 20 % of assets.
When a design does not fit, three levers bring it back in:
- A smaller top reward: a smaller multiplier, or a lower ticket price for the same multiplier.
- A margin above the minimum, with no app share.
- A larger vault.
Where each use case starts
Who can verify the draw
The business offering the reward runs it as organiser and is responsible for the rules of each market it serves. Fade is the technology provider. See Legal framework for the design rules and a summary by region.