SLUICE docs
v0.1.0
Live demo Get help
● Set up · Every setting

Configuration
every setting, what it costs.

SLUICE has three kinds of settings: operator settings that apply to every project, project settings, and exclusion rules. There is no .env file and no build-time key. Everything is set in the console and stays on the machine.

01Where settings live

WhatWhere it is stored
Helius API keyOS keystore (sluice.vault.helius_api_key)
Operator settings, projects, audit trailThe app's local preferences on this machine
Vocabulary presetsassets/vocabulary/presets.json (built in), plus your custom preset
No build settings

SLUICE reads no --dart-define values and has no .env file. A plain flutter build is the release build.

02Operator settings

Settings. These are yours and apply across projects.

SettingDefaultNotes
JSON-RPC endpointshttps://api.mainnet-beta.solana.comOne per line, tried in order, rotated on failure. Replace the default.
Helius API keyemptyKeystore only. Absent means holders are read with getProgramAccounts.
Fee walletemptyNo fee is taken while this is empty, whatever the rate says.
Fee, basis points0Capped at 200 in code (Your fee).
Flat amount per roundemptyWhole units of the asset the project pays in. Charged on top of the rate.
Transfers per transaction10 (max 22)When every recipient already has a token account.
When each also creates an account6 (max 12)The create instruction adds accounts and bytes, so fewer fit.
Priority fee, micro-lamports per CU1000SLUICE also reads a current value from your endpoint during a run (getRecentPrioritizationFees). Fill with the defaults resets packing.
Compute units per transaction200,000Between 10,000 and 1,400,000.
Explorer base URLhttps://solscan.io/tx/Where a recorded signature opens.
Default vocabulary presetdistributionApplied to new projects.

Settings → Effective configuration shows what SLUICE is actually running on, from what is saved, not from what is typed but unsaved.

03Project settings

Projects → New project, or select one to edit.

SettingNotes
NameFor you.
Snapshot mintThe token holders are measured on. The token program is read from the mint, so Token-2022 needs no extra setting.
Asset mint, symbol, decimalsWhat is being sent. Often not the snapshot token.
Funding walletFunds and signs. Excluded from its own round by default.
Treasury walletWhere unclaimed value goes under the treasury policy.
Minimum per holderBelow this, a recipient costs more in fees than they receive.
MethodPro-rata by balance or By tier.
Dust rule, Remainder ruleSee below.
Unclaimed policy, claim window (days)See below.
Claim program idYours. Empty means the Merkle path is not ready.
Recurring scheduleStarted by hand, Every N days, or When the funded balance passes a threshold.

Dust rule

ChoiceWhat happens
Re-divide among those above the minimum (default)Recipients below the minimum are dropped and the pool is divided again among the rest, until stable.
Leave it with the funding walletDropped; their share never leaves the funding wallet.
Carry it to the next roundDropped; the amount is recorded as a carry-forward.

Remainder rule

ChoiceWhat happens
Largest discarded fraction first, ties by address (default)One base unit each to the largest fractions. Allocations then sum to the pool exactly.
Leave the crumbs with the funding walletThe leftover units stay put.

Unclaimed policy

Choose it before the first round. It is shown on the claim page from day one and enforced by your claim program.

ChoiceAfter the deadline
Back to the treasuryYou withdraw the rest. Needs a treasury wallet.
Into the next roundThe rest opens the next round.
No deadlineClaimable as long as the account exists.

Tiers

  • Multiplier: a tier multiplies a holder's balance before the pro-rata division. 10000 bps is 1×.
  • Fixed slice: each tier gets a fixed share of the pool in bps, split evenly among its members. The slices must add up to 10000 or the plan is refused.

A holder falls in the highest tier whose minimum they meet.

No tier editor in the console

In 0.1.0 the project form offers By tier but has no fields to define the tiers themselves. With no tiers defined, the dry run warns that the round is computed pro-rata. Tier schedules are defined in code (lib/core/compute/tier_schedule.dart, stored on the project as tierSchedule). Use Pro-rata by balance unless you add a tier editor yourself.

04Exclusion rules

SettingDefaultNotes
Exclude program-controlled authoritiesonThe only setting that can put a pool vault back into a round. Turning it off asks you to confirm.
Look for exchange omnibus walletsonFlags, does not remove.
Apply a probable omnibus flag automaticallyoffDetect and flag; you decide.
Minimum share examined0.5 %Fixed default, no console control. The omnibus check costs one RPC call per candidate.
Transfers per day threshold50Fixed default, no console control. Above this an on-curve account looks like infrastructure.
Named lookups100Fixed default, no console control. How many of the largest holders get a venue name. The curve test runs on all.
Exclude the funding walletonFixed default, no console control. Paying yourself inflates every published figure.

The four fixed defaults are in lib/core/exclusions/exclusion_policy.dart; change them there if you need different values.

Your list: add addresses with a reason: Treasury, Team wallet, Burn address, Exchange wallet or Other. The exchange list ships empty on purpose: a wrong exchange address silently removes a real holder from every round.

05Vocabulary

PresetThe thing that movesThe funded account
rewardsrewardreward pool
distribution (default)distributiondistribution pool
revenue-sharerevenue sharerevenue pool
dividenddividenddividend pool
yieldyieldyield pool
customYour words. Anything left blank falls back to the default preset.

Changing the preset changes no number. test/vocabulary/preset_changes_no_number_test.dart renders the dry run, the exports, the Merkle root and the realised rate under every preset and requires identical figures. To add a language, add a sibling block under locales in presets.json. The choice of words carries legal weight in some markets; see Compliance.