Docs · program Syndd4Nv3XVL4wV4xV6yyVuMZz8LRvD3Rofh7KnMhvK
How the crew works
Three to five devs launch one coin together. Each puts in seed SOL and owns a job. The team bag sits in the program's safe, and nobody sells it unless the others sign.
Overview
A crew is one account of the Syndicate Pad program. It has 3 to 5 seats. Each seat has a job (ART, LORE, RAIDS, CODE, CHART, OPS or a custom label), a work weight, a member wallet and that member's seed SOL.
When every seat is funded and every member has signed the exact same table, anyone can launch. The program creates the coin on pump.fun and buys it with the whole seed pool in the same transaction. The tokens it buys, the team bag, stay in the program's escrow and vest per seat.
- No member can sell a locked token alone. An early sale needs every other active member's signature, a public notice, and stays under a hard daily cap.
- A member who stops working can be kicked by everyone else. What he vested stays his; the rest of his bag is burned, never shared out.
- If the crew does not launch in time, every seed goes back to the wallet that put it in.
Lifecycle
| State | What happens | Who acts |
|---|---|---|
| Forming | The lead forms the table with his seed. Members take seats with their seed, leave with a full refund, and sign. Any change wipes every signature. Lasts at most the forming window. | lead, members |
| Launched | Coin created, team bag bought and escrowed. Vesting runs. Requests (early sale, kick, wallet change) need every other active member. Creator fees are split and paid. | anyone pushes; members sign |
| Disbanded | The lead disbands before launch, or anyone after the window closes. Every seed is refundable to its own member. | anyone pushes refunds |
Forming a crew
- formThe lead picks the name, ticker and picture (uploaded to IPFS), the charter text, 3 to 5 seats (job, work weight, a named wallet or an open seat) and his own seed. The work weights must add up to exactly 100%. The lead always holds seat 1.
- joinA member takes a seat with a seed between the minimum and the maximum. A named seat is only for that wallet; an open seat is first come. One wallet holds one seat per crew.
- acceptEvery funded member signs the sha256 of the whole table (see What you sign). The site recomputes the hash from what it shows and refuses to sign if it differs from the chain.
- launchAnyone, once every seat is funded and signed, before the window ends.
Before launch a member can leave (whole seed back; the lead cannot leave, he disbands). The lead can evict a funded member (whole seed back to that wallet at once, the seat reopens) and edit the table (funded seats keep their index and wallet). Each of these wipes every signature.
Worked example
Four seats: LORE (lead) 1.2 SOL, work 35%; ART 0.8 SOL, 25%; CHART 0.5 SOL, 20%; OPS 0.4 SOL, 20%. Seed pool 2.9 SOL.
| Seat | Seed share | Work | Bag share = (seed share + work) / 2 |
|---|---|---|---|
| LORE | 41.38% | 35% | 38.19% |
| ART | 27.59% | 25% | 26.29% |
| CHART | 17.24% | 20% | 18.62% |
| OPS | 13.79% | 20% | 16.90% |
At launch the fee is floor(2.9 SOL × 2.5%) = 0.0725 SOL to the pad treasury; the Fees and Chest accounts get their rent floor; the rest buys the coin. Rounding dust of the bag goes to the lead's seat.
What you sign
The table hash is sha256 over, in this order: the tag syndicate:table:v1, the crew account, the name, ticker and metadata uri (each with a u32 length), the charter hash, every copied parameter (borsh), the lead and his seat index, the seat count, and for each seat its job, label, wallet, work weight and seed.
So a signature covers the exact people, jobs, weights, seeds and rules. Any join, leave, eviction or edit changes the hash and wipes every signature; the launch needs all of them on the current hash. The charter text lives in the coin's metadata; the site shows charter verified when its sha256 equals the signed charter hash.
Launch
One transaction, alone (only compute budget or a tip next to it, so nobody can append a buy behind the crew's): launch fee to the treasury, pump.fun create_v2 with the crew's Fees account as the coin's creator and the Vault as payer, then one buy with everything else. The seed pool is capped so a full crew stays under the amount that would complete the curve.
Seed the curve did not take (the unused rent margin) is booked back to the seats by seed and paid to each member (launch leftover, anyone pushes it).
Vesting
Per seat: nothing before the cliff, then linear over the vesting period. When the curve completes (the coin graduates to PumpSwap) a fixed part of every seat unlocks at once.
unlocked = migration part + (bag − migration part) × min(now − launch − cliff, vesting) / vesting
Unlocked tokens only ever go to the seat's own wallet; anyone can push them there (claim_vested, the pusher pays the token account rent). Tokens sold early count against the unlock.
Early sale of locked tokens
- proposeThe seat's member asks to sell an amount of his escrowed tokens. One open request per seat. The amount must fit the daily cap.
- signEvery other active member signs that request (the signature binds its number and amount). Any of them can reject it; the member can cancel it.
- noticeA public notice runs from the request. Everyone watching the crew sees it on the signing sheet.
- executeOnly the seat's member, with his own minimum SOL out. The program sells from the escrow (pump curve, or the coin's canonical PumpSwap pool after graduation) and sends the SOL to him.
Hard cap: for the whole crew, all seats together, at most the daily-cap share of the supply in any rolling 24 hours, and at most 4 sales per seat in 24 hours. Signatures never lift it. Before the cliff, this is the only way out, and it is slow on purpose.
Kick
A member proposes a kick; every other active member except the target signs; after the kick delay, anyone executes it. The kicked seat keeps what it had vested at that moment (claimable, frozen there). Every other token of the seat is burned; nobody else receives a single token. From then on its creator-fee share goes to the chest. A crew never drops below 2 active members. Before the cliff nothing has vested, so a kick burns the whole bag: then it needs at least 4 active members, all others signing.
Wallet change
For a lost key. A member can move his own seat at any time. The others can propose it only for a seat whose wallet signed nothing for the idle period (30 days by default); any signed action (a vote, a post, a sale, the I'm here key, a veto) restarts that clock. Every other active member signs; after the delay anyone moves the seat. The seat's current wallet can veto at any time, so the others can never take a live member's seat.
At the switch the program first pays the old wallet everything already earned: booked creator fees, the unpaid launch leftover and every unlocked token. Only the future (still-locked tokens, future fees, votes) moves to the new wallet. An open early sale of that seat is closed.
Creator fees and the chest
The coin's pump.fun creator is the crew's Fees account. Anyone can collect the creator fees into it and book them: the crew share is split by bag size, the chest share goes to the chest, the treasury share to the pad. A kicked seat's part moves to the chest. Each seat's fees go only to that seat's wallet.
The chest only ever buys the coin and burns what it buys. A buyback spends a fixed part of the chest, at most once per interval, at most 1% of the reserves it buys against, and its minimum out comes from the median of the program's own 7 freshest price records (at most 30 minutes old, one per minute, recorded by anyone).
Parameters
| Parameter | Default | Allowed range | Live now |
|---|---|---|---|
| Seats per crew | 3 to 5 | 3 ≤ min ≤ max ≤ 5 | |
| Seed per seat | 0.2 to 10 SOL | min 0.05 to 1 SOL, max up to 15 SOL | |
| Forming window | 24 h | 1 h to 7 d | |
| Cliff | 7 d | 1 d to 90 d | |
| Linear vesting | 60 d | 7 d to 365 d | |
| Unlocked at graduation | 25% | 0 to 50% | |
| Early sale notice | 12 h | 1 h to 7 d | |
| Execution window (sale, kick, wallet change) | 48 h | 1 h to 7 d | |
| Early sale cap per crew | 1% of supply / rolling 24 h (all seats), 4 sales per seat | 0.01% to 5% | |
| Kick delay | 72 h | 24 h to 14 d | |
| Wallet change delay | 72 h | 24 h to 14 d | |
| Idle period before the others can move a seat | 30 d | 7 d to 365 d | |
| Creator fees: crew / chest / pad | 80 / 10 / 10% | crew ≥ 50%, chest ≤ 30%, pad ≤ 20%, sum 100% | |
| Launch fee | 2.5% of the seed pool | 0 to 5% | |
| Buyback interval | 1 h | 10 min to 1 d | |
| Chest spent per buyback | 10% | 1% to 50% | |
| Buyback slippage from the median | 3% | 0.5% to 15% |
Every crew copies the parameters when it forms and its members sign that copy. A later config change only applies to crews formed later. Constants: one price record per 60 s, median of 7 records no older than 30 min, buyback impact at most 1% of reserves, minimum buyback 0.001 SOL.
Program reference
Anchor 0.31.1. Program id Syndd4Nv3XVL4wV4xV6yyVuMZz8LRvD3Rofh7KnMhvK · IDL
Accounts
| Account | Seeds | Holds |
|---|---|---|
| Config | ["config"] | admin, pending admin, treasury, pause flag, parameters, crew counter |
| Syndicate | ["syn", id u64 LE] | name, ticker, uri, charter hash, parameter copy, state, 5 seats, signatures, table hash, deposits, mint, bag, leftover, fee books, chest books, 16 price records |
| Vault | ["vault", syndicate] | seeds before launch; pump payer and buyer; owns the team bag's token account and the booked leftover |
| Fees | ["fees", syndicate] | the coin's pump creator; booked creator fees |
| Chest | ["chest", syndicate] | chest SOL, spent only on buy-and-burn |
Instructions
| Instruction | Who can call | Notes |
|---|---|---|
| form | the lead | blocked by pause |
| set_table | the lead, while forming | funded seats keep index and wallet; wipes signatures |
| join / leave | the named wallet or anyone (open seat) / the member, not the lead | join blocked by pause; leave refunds in full |
| evict | the lead | full refund to the evicted wallet |
| accept | a funded member | signs the current table hash |
| disband / refund | the lead any time while forming, anyone after the window / anyone | refund pays the seat's member only |
| launch | anyone, alone in its transaction | blocked by pause |
| claim_leftover / claim_vested | anyone | pays the seat's member only |
| mark_migrated | anyone | needs the curve complete |
| propose_sale / approve_sale / close_sale | the seat's member / other active members / member or a required member | vote binds number and amount |
| execute_sale | the seat's member | after notice, within the window, under the cap |
| propose_kick / approve_kick / close_kick / execute_kick | active members, not the target / anyone executes | after the delay |
| propose_rotate / approve_rotate / close_rotate / execute_rotate | active members; the target's wallet can veto / anyone executes | after the delay |
| post_update / ping | a member not kicked | event only; both restart the seat's idle clock |
| observe / buyback | anyone, alone in its transaction | rate limited |
| collect_fees / unwrap_fees / sync_fees / claim_fees / collect_treasury | anyone | each share goes to its fixed owner |
| init_config / update_config / set_treasury / set_paused / propose_admin / accept_admin | admin (init: the init authority; accept: the proposed key) | see Admin powers |
Errors (from the IDL)
| Code | Name | Message |
|---|
Verify on chain
- Every number on the site is read from the program's accounts at the moment you look; there is no database. The site's worker only proxies RPC calls, caches IPFS pictures and renders share cards.
- The coin's creator on pump.fun is the crew's Fees account ["fees", syndicate], not a person. The team bag sits in the Vault's token account; its balance equals the sum of every seat's escrow.
- The table hash: recompute it from the account fields in the order of What you sign and compare it to table_hash; the site does this before every signature.
- Each crew's page links its account in the explorer; its transactions carry the program's events (Formed, Joined, Accepted, Launched, SaleProposed, Kicked, ...), which the work log reads.
Admin powers
Can
- Pause new money in: form, join, launch. Every exit keeps working.
- Change parameters within the bounds above, for crews formed later.
- Change the treasury (future launch fees and every not-yet-paid treasury share).
- Hand over the admin role (two steps).
Cannot
- Touch seeds, bags, fees, the chest or votes.
- Change an existing crew's parameters.
- Sell, move or burn anyone's tokens.
- Act as an arbiter: this program has none.
Risks
- Sybil crews. Three wallets may be one person. Nothing on chain tells. Look at who the members are before you buy.
- Collusion. All members together can still sell early at the cap after the notice: up to the daily cap for the whole crew (1% of the supply by default), every day.
- Self-completed curve. A crew with a big seed pool can buy the rest of its own curve and unlock the graduation share of every bag at once. The site shows how much of the supply the team holds.
- Released tokens are free tokens. Vesting and signatures protect only what is still in the escrow.
- Kick timing. A kicked member keeps what vested up to the kick; the others choose when to kick.
- Wallet change while away. After the idle period, if every other member signs and the member does not veto for the whole delay, the seat's future moves. What it had earned is paid to the old wallet first.
- Griefing a forming crew. A stranger can take an open seat and never sign. The lead evicts him (full refund) and names the seat.
- Same-slot bundles. Launch, price records and buybacks refuse neighbours in their transaction, but a bundle can place a buy right after the launch.
- pump.fun. Its admin powers and program upgrades are outside this program. This program is upgradeable and unaudited.
FAQ
What happens to my seed if the crew never launches?
The lead can disband at any time; after the window anyone can. Every seed then goes back in full to the wallet that put it in. Anyone can push the refunds.
Can the lead change the table after I signed?
Yes, while forming, but every change wipes every signature. The launch needs everyone's signature on the table as it is at that moment.
How is my share of the bag decided?
Half by your seed share, half by your seat's work weight. The site shows it before you sign.
Can the crew sell my tokens?
No. Your escrowed tokens leave only to your own wallet (once unlocked), to the market for your SOL (your early sale, signed by everyone else), or to the burn (a kick).
Who can launch?
Anyone, once every seat is funded and signed. The launch is alone in its transaction, so nobody can attach a buy to it.
What if I lose my key?
After the idle period the others can propose a wallet change to your new wallet and sign it; after the delay anyone moves the seat. What your old wallet had earned is paid to it first. Your old wallet could veto it, which protects you if it was not you.
Where do creator fees go?
To the crew by bag size, to the chest (buy and burn) and to the pad, in the shares signed with the table. Anyone can collect and pay them out.