These rules define who is eligible and how much each round allocates. They are implemented in one shared accounting module used by the payout engine and this website.
Purchase lots Every verified acquisition becomes a lot: owner, transaction, slot and time, tokens received, the SOL actually paid, remaining quantity and cashback attributed so far. - Only purchases paid in SOL through a supported venue carry a cost basis ("supported lots"). - The SOL paid is the wallet's SOL decrease in that transaction (native SOL plus wrapped SOL). Network and priority fees are excluded, as is rent deposited into token accounts created for you. Venue and aggregator fees inside the trade are part of what you paid. - Received transfers carry no cost basis and can never qualify on their own. The same applies to purchases paid with other assets (for example USDC routes) and to balances held before indexing began. These are tracked as untracked quantity. - Historical cost is never reconstructed with today's price. If a cost basis cannot be established from the transaction itself, there is none.
Sales and transfers out (FIFO) Every sale or transfer to another owner removes quantity first-in, first-out across all of your lots, supported and untracked alike, in the order you acquired them. - A partial reduction removes the lot's cost in proportion, rounded up, and its attributed cashback in proportion, rounded down, so rounding never increases eligible loss. - Moving tokens between token accounts you own changes nothing: movements are netted per owner. - Sending tokens away and receiving them back does not recreate a purchase: the returned tokens are a received transfer with no cost basis.
Eligible loss (position level) For your remaining supported lots taken together: - C = remaining purchase cost - V = reference value of the remaining quantity - R = cashback already credited to those lots, including committed amounts not yet paid
L = max(0, C − V − R)
Gains on some lots offset losses on others. A wallet whose remaining supported position is above cost overall receives nothing, even if one lot is down. This is your remaining tracked position, not your lifetime trading result.
Loyalty weighting (provisional) Each remaining lot has a multiplier m = 1 + min(age ÷ 7 days, 1) × 1: 1× when bought, rising linearly to 2× after 7 days and capped there. Age is measured at the round's frozen snapshot.
Your wallet multiplier M is the average of your lot multipliers weighted by remaining cost, so a small old purchase cannot give a large new purchase the maximum bonus. A new purchase is a new lot at its own age.
Your weight W = L × M. Purchase size is not multiplied in again: L already reflects it. The multiplier changes allocation weight only. It is not a guaranteed payment or an investment return. The 7-day ramp and 2× cap are provisional launch parameters.