Recipients & shares
The launcher names 1 to 6 X accounts and gives each a share. Every sweep is split by those shares in whole lamports, with a rule for the leftovers that means the credits can never add up to more than was collected.
Handles
- A handle is 1 to 15 letters, digits or underscores, typed with or without the
@. Case does not matter; the casing you type is kept for display. - The same handle cannot appear twice on one token.
- Each handle is looked up on X at launch. A handle X reports as missing is refused, and so is a handle that was paid here before and now belongs to a different X account. If X cannot be asked at that moment, a handle that has never been paid here goes ahead and is looked up again when the launch confirms; a handle that has been paid here before is refused until X can be asked, with a request to try again in a minute.
- Nobody has to agree to be named. Anyone can put any account on a token, which is why every recipient carries two public facts: whether the account has signed in, and whether it has declined.
Shares
Shares are percentages with at most two decimals, and they must add up to exactly 100%. Three equal recipients are therefore 33.34, 33.33 and 33.33, not 33.33 three times. On the server each share becomes basis points, hundredths of a percent, and the basis points of one token always add up to exactly 10000.
A share is a share of the recipients’ part, not of the whole fee. The platform takes its 20% of each sweep first, so a recipient on 50% receives 50% of the remaining 80%, which is 40% of the creator fees.
The split, exactly
For each confirmed sweep of total lamports, with the token’s platform share p and a recipient’s share b, both in basis points:
credit(recipient) = floor(total × (10000 − p) × b / 10000 / 10000)
platform = total − sum(credits)Each recipient is rounded down on its own, and the platform takes what is left. Rounding both sides down would lose a lamport or two per sweep; rounding either side up could credit more than the treasury received. Taking the remainder puts the dust on the platform side and keeps the credits of a sweep at or below what it collected. A credit that rounds to zero is not written.
A round example
A sweep of 1 SOL, platform share 20%, recipients on 50%, 30% and 20%:
| Recipient | Share | Credit, lamports | SOL |
|---|---|---|---|
| First | 50% | 400000000 | 0.4 |
| Second | 30% | 240000000 | 0.24 |
| Third | 20% | 160000000 | 0.16 |
| Platform | remainder | 200000000 | 0.2 |
An example with dust
A sweep of 123,456,789 lamports, platform share 20%, three equal recipients:
| Recipient | Basis points | Exact | Credited |
|---|---|---|---|
| First | 3334 | 32,928,394.76 | 32928394 |
| Second | 3333 | 32,918,518.22 | 32918518 |
| Third | 3333 | 32,918,518.22 | 32918518 |
| Platform | 2000 | 24,691,357.80 | 24691359 |
The four credited amounts add up to 123,456,789 exactly. The platform received 1.2 lamports more than a clean 20%, which is the dust.
Whose money it is
Credits are written against the handle, and a handle’s money belongs to the X user id pinned to it. X user ids are permanent numbers; handles are text that can change hands.
- Pinned at launch when the lookup succeeds. From then on the pin never moves.
- Pinned later when X could not be asked at launch or at confirmation. The market job looks up to twenty such handles again on every run, and pins each to the account X reports. If the owner signs in first, their sign-in pins it instead.
- Renames keep the money. Rename your account and sign in: every handle pinned to your id is still yours, and new tokens can name the new handle.
- Takeovers do not. Someone who takes a handle you gave up signs in with a different X user id and sees none of the money credited to it. A new launch naming that handle is refused, because its fees would reach the previous owner.
Recipients who never sign in
Their credits accumulate and wait, publicly, at /x/<handle>. Balances never expire and are never reassigned to other recipients or to the platform. Until the account signs in, its routing is Hold. See Claiming with X.