Everything here is recomputable from public data. Where something cannot be established it is refused and reported by name rather than estimated — a wrong number that looks confident is worse than a missing one.
A holder’s base score is their time-weighted average balance — their balance integrated over the epoch, not read off at one moment. Hold longer and you sit higher, and holding twice as much for half as long lands in the same place.
This is the whole reason a snapshot cannot be gamed by buying just before it. A balance that appears an hour before the reading contributes an hour of weight, not a full epoch of it. Nothing needs to detect the behaviour, because there is nothing to detect: the arithmetic already ignores it.
The clock starts when the project was attached. Slucex cannot see further back than its own first reading, so a holder who has held for a year and a project attached yesterday has one day of recorded weight. That is a limit of the evidence, not a judgement about the holder.
A booster multiplies where a holder sits on the board. It never touches their time-weighted balance — that keeps accruing on its own terms and survives the booster lapsing. Boosters stack by multiplication, so two ×2s make ×4, and the total is capped per project.
Every source resolves to an on-chain read at the snapshot instant, which is what makes a booster a promise rather than a claim: a holder can recompute their own multiplier from public data and get the same number the admin published. The fold is done in integers rather than floating point for the same reason — a different rounding is a different allocation, and anybody rebuilding the result would get a different answer.
A booster that cannot be evaluated is DENIED rather than granted, and reported by name. Granting on an unknown inflates somebody’s share of real money; denying quietly under-pays a holder who qualified. So the board says the scores are not the ones the admin configured, instead of ranking as though everything applied.
Set a number of whole days. A holder qualifies when their first recorded acquisition is at least that old at the snapshot instant.
The clock starts when you attached the project, not when the holder actually bought. A holder with no recorded first acquisition does not qualify — the safe direction for money, but it means a genuine long-term holder stays unqualified for the first few weeks after you attach. Nothing is wrong; the evidence does not exist yet.
Point it at any mint, including your own, and set a minimum in whole tokens — not base units. Decimals are handled for you, so 1.5 means 1.5. Leaving the minimum empty credits any non-zero balance.
This runs a second full holder scan of that mint, which is the most expensive read in the system. It needs your own board to have a reading first and reports itself unresolved rather than spending the scan on nobody. If the source token’s supply does not reconcile it refuses instead of granting, because a half-read source would deny holders who genuinely qualify while reporting a clean pass.
Give the COLLECTION address, not one of its NFTs, and how many are required — one if you leave it empty. Compressed NFTs count; burnt ones do not.
Pasting a single mint finds no assets, and the booster says so rather than quietly crediting nobody: an empty collection is treated as a wrong address, not as a collection where nobody qualified.
The minimum share is a PERCENTAGE of the pool, not a token amount — 0.5 means half a percent. A liquidity share is an internal unit whose size depends on the pool, so a raw number would mean something different in every one. Leaving it empty credits any position however small, which is what this exists for.
A Raydium Standard pool is usually the right one to point at: it is where a sub-SOL position paired with your token actually lives.
A minimum duration only works on a Meteora pool. A Raydium position is a fungible liquidity token carrying no acquisition time on chain, so "unchanged for thirty days" cannot be proved there — set one and the booster refuses rather than quietly ignoring the only anti-farm you configured. On Meteora the clock runs from the last add or removal, not from when the position was opened.
Read from Jupiter Lock at the snapshot instant. The minimum is in whole tokens and is summed across all of that holder’s escrows.
The days are counted FORWARD from the snapshot rather than backward: the lock has to still be locked that long afterwards. That is what makes this hard to fake — a balance can be borrowed for one slot, but nobody locks tokens for ninety days and has them back the next morning.
The amount comes from the vesting schedule rather than from a claim counter, because most lock accounts on mainnet are fully drained but still live: the account existing proves nothing.
A vault is a Squads multisig — a program-controlled address, not anybody’s wallet. Deposits sit there separately from your own money and every movement out is a multisig transaction anybody can audit.
Slucex holds no keys and cannot move it. By default you are the only member, so you can still move the funds yourself: this separates them and makes them auditable, it does not lock them. Adding a second signer is what turns that into a real constraint.
Anyone can fund a vault by sending an accepted token to its address from any wallet. It is a normal transfer — nothing here takes custody of it, and nothing here can send it back.
Squads shows you the VAULT address; the multisig address is a different one. Slucex accepts either, and will list the vaults your connected wallet is a member of so you do not have to find one at all. An unfunded vault has no account on chain until something is sent to it — which is normal, not a sign it failed.
A snapshot scores every holder at one instant: their time-weighted balance over the epoch, multiplied by whichever boosters they qualified for at that instant. Nothing pays out until one has been taken.
Because the base is time-weighted, buying just before a snapshot buys very little weight. The instant decides which reads are made, not how much anybody’s balance counts.
A distribution is built from a snapshot and published as a merkle root, so every holder can verify their own share against it without trusting the operator’s arithmetic.
Publishing a root does not fund it. Until the tokens are moved into the distributor, nobody can claim anything — a published root with an empty distributor is a promise, not a payment.
Claiming costs the claimant about 0.00203928 SOL of token-account rent — roughly $0.20. A share smaller than that charges someone more to collect it than it is worth, so shares below the floor are dropped and redistributed rather than paid. Every unit is conserved.