| Adoption bonus |
Synonym for virality bonus. The 30% (default) of each entry that is paid out per-cohort to earlier cohorts when later cohorts arrive. |
| BPS / basis points |
Hundredths of a percent. 100 bps = 1%. The deposit fee is denominated in bps with a max of 1000 (10%). |
| Cohort |
A group of entrants with consecutive entrant IDs. Cohort d covers IDs B_v^(d-1) through B_v^d - 1, where B_v is viralityBonusLogBase. |
| Cohort pool / Pool[j] |
The accumulated adoption-bonus contributions from cohort j entries (and from cohort 1, redirected to Pool[2]). Becomes claimable once cohort j+1 starts. |
| Cold-wallet routing |
Using fallback() with a 20-byte calldata payload to set prizeRecipient[gameId][entrantId] to a different address than the buyer. All payouts for that entry go to the override. |
| Deadline |
The inactivity timeout, in seconds. The game ends deadline seconds after the most recent entry — and once minTicketsBeforeEnd is met. |
| Deposit fee |
Optional host fee in bps, capped at 10%, skimmed from every successful deposit before pool splits. Locked at game start. |
| Effective value |
msg.value − refundAmount. The portion of an incoming deposit that pays for whole entries, before the deposit fee is skimmed. |
| Entrant ID |
A 1-indexed sequential number assigned to each ticket as it's purchased. Position-from-end determines whether it lands a Power Slot and wins the grand prize. |
| Entry amount |
Cost of one ticket in wei. Locked at game start. A deposit of k * entryAmount always buys exactly k tickets, regardless of fee rate. |
| Game |
One round of the raffle, with its own locked-in config, pools, winners, and claim windows. Multiple games can run sequentially in the same contract; they never overlap. |
| Game config |
The 8-field gameConfig struct. Exists in two slots: nextGameConfig (queued, mutable by host) and gameConfigRecord[gameId] (locked, per-game snapshot). |
| Grand prize log base |
B_g. Determines Power Slot spacing. A ticket lands a Power Slot when its position-from-end is a power of B_g. |
| Host |
The single privileged role on the contract. Can start games, configure parameters of the next game, sweep the last cohort's pool, and withdraw accrued fees. |
| Inactivity countdown |
The timer that ends the game. Resets to now on every entry. Capped open by minTicketsBeforeEnd. |
| Last cohort / Pool[C] |
The cohort containing the last entrant. Its pool is never claimable by participants and is swept to the host via clearLeftoverAdoptionBonus. |
| Last-entrant rule |
The final ticket in a game always lands a Power Slot (its position-from-end is 1 = B^0). |
| Leftover |
Synonym for the contents of Pool[C] after a game ends. Host-claimable. |
minTicketsBeforeEnd |
Optional ticket floor. The game cannot end (regardless of deadline) until entrantCount[gameId] >= minTicketsBeforeEnd. |
| Pool contribution |
effectiveValue − feeAmount. The portion of an entry that's split between the grand-prize pool and the cohort pool. |
| Position from end |
1 + N − k, where N is the current entrant count and k is the entrant ID. The metric the Power Slot formula keys on. |
| Power Slot |
The user-facing name for a winning ticket position. A ticket lands a Power Slot when its position-from-end is a power of B_g; in the contract these are the tickets for which isWinner returns true. Every Power Slot splits the grand prize equally. |
| Prize per Power Slot |
floor(prizePool / numWinners). Equal split of the grand-prize pool across all Power Slots. The contract field is prizePerWinner. |
| Prize recipient |
The address an entry's payouts go to. By default, entrants[gameId][entrantId]; if overridden via fallback(), the cold-wallet address. Resolved canonically by getPrizeRecipient. |
| Proportions |
The two weights grandPrizeProportion and viralityBonusProportion. The split is p_g / (p_g + p_v) — the absolute scale doesn't matter. |
| Refund |
msg.value % entryAmount of dust returned to the sender for non-multiple deposits. Emits EntryRefunded. |
| Two-step host transfer |
The two-step flow: initiateHostTransfer(addr) → acceptHostTransfer() (called by pendingHost). Prevents accidental loss of control. |
| Virality bonus |
Synonym for adoption bonus. |
| Virality bonus log base |
B_v. Determines cohort sizes. |