Skip to content

Rules & fees ​

How a round runs ​

StageWhat happens
OpenNo start or end time. Agent ID holders (or their bound wallets) subscribe, top up or exit within the per-person range; each Agent ID counts once per round.
FullReaching the target closes subscriptions and exits. Anyone can trigger the launch; the keeper does it automatically.
LaunchedToken creation and the opening buy happen in one transaction, then tokens are distributed.
RefundingOnly if a full round hasn't launched when its wait ends (1 hour by default): full refunds, no fee.
  • The last subscription only takes what's needed to fill the round; the rest is returned on the spot. It may be below the per-person minimum.
  • The issuer cannot cancel a round or change any parameter.

Tax to an X account ​

On a tax token, the issuer can give the "project funds" share of the tax (Flap's creator share) to an X (Twitter) account; a contract (SamefirstXSplitter) splits it automatically:

  • the account's owner gets at most 80% (set by the issuer); the rest goes to the Samefirst DAO, booked per project, to support it long-term or for other uses;
  • the owner claims within 7 days of the launch by signing in with X at samefirst.com/x and naming a wallet. The platform records that wallet on chain (no gas, nothing to sign); from then on every split pays it directly — there is no separate "claim" transaction;
  • if nobody claims within 7 days, the owner's share (what accrued and everything after) goes to the DAO;
  • the owner's consent isn't needed. The round page says "not claimed by the account's owner" — naming an X account does not mean its owner takes part in or endorses the project;
  • the issuer can't receive this tax. Accounts are identified by their numeric X id, so renaming or a taken-over handle changes nothing.

Where you trust the platform: the owner's identity is recorded on chain by the platform's claim key. If that key leaked, an attacker could redirect the account's share to their own wallet, but never the DAO's; the DAO multisig can switch the key off or replace it at any time (setClaimer).

Fees ​

ItemRule
Rate2% by default; adjustable 1%–5% in the contract. Each round locks the rate at creation, so later changes don't affect it.
Who paysSubscribers, on their own amounts. Issuers pay no fees (only the gas to create and launch).
At launchCharged on the BNB actually used to buy; anything Flap returns is fee-free.
On exitCharged on the amount exited.
Where it goesStraight to the Samefirst DAO. No gas reimbursement and no reward for whoever triggers.

Flap separately charges a 1% trading fee on each buy and sell, plus any buy/sell tax the issuer set (which also applies to the round's buy). Under Flap's current rules each tax payment first loses a 10% protocol fee and a 2% commission, and the other 88% goes where the issuer set; Samefirst launches name the Samefirst DAO as the receiver of that 2% commission.

Curve progress after launch ​

Same measure as Flap's UI: tokens sold ÷ 80% (graduation at 800M sold; the other 200M go to PancakeSwap with the raised funds). 100% means the round's buy fills the curve and graduates on the spot.

Estimated on Flap's current BNB curve (Portal v5.26: r = 6.14, about 16 BNB in the curve at graduation):

Progress after launchSupply bought by the roundRaise needed (incl. 2% fee and Flap's 1%)Left for the market to graduate
10%8%0.49 BNB15.52 BNB
25%20%1.40 BNB14.65 BNB
50%40%3.58 BNB12.53 BNB
62.5%50%5.21 BNB10.94 BNB
75%60%7.49 BNB8.73 BNB
90%72%11.78 BNB4.58 BNB
100%80%16.49 BNB0 (graduates at launch)

The higher the progress, the less upside for subscribers, since gains come from later market buys; at 100%, if every subscriber sold, the group would lose about 20%. When Flap changes its curve, samefirst.com and the API recalculate from the new parameters automatically.

Non-BNB pools ​

Issuers can pick other pools Flap supports (USD1, USDT, stock tokens and so on), or paste another token's address (Flap's "custom payment token"). Subscribing, exiting and refunds stay in BNB. Only at launch, in one transaction:

  1. The round buys the pool token with its BNB on PancakeSwap, through V2 or V3 pools, directly or via USDT / USD1 / USDC;
  2. It creates the token on Flap and makes the opening buy with that pool token.

Non-BNB pools are launched by the platform. The swap path and the least amount out are signed by the platform's launch signing key for that round and for the one address that sends the launch (a launch plan, valid 90 seconds; the contract accepts at most 10 minutes). The contract accepts only plans signed by that key, and refuses a missing or expired plan, one signed for another round or sent from another address, a path that isn't genuine PancakeSwap pools, or one that doesn't end in the round's pool token — so a plan someone else sees is of no use to them. The platform:

  • quotes the round's launch swap every minute along one path while it fills (simulating the real trade from the round's contract, so transfer taxes and price impact count);
  • launches only when the current quote is within half the slippage cap of the median of the last 30 minutes of quotes (the last 2 minutes left out), and signs the higher of the current quote and that median, less the slippage cap (set by the issuer, 1%–5%), as the least amount out;
  • does not launch if the round's buy would move the pool price more than 5% (too shallow);
  • sends the launch only through a private channel, never the public mempool; without one, the platform does not launch non-BNB pools.

If a condition isn't met the launch waits and retries; nothing changes on-chain. If it still hasn't launched when the wait ends, everyone is refunded in full (see below).

Where you trust the platform: if the signing key leaked, an attacker could sign a very low least amount out for non-BNB rounds waiting to launch (BNB pools are unaffected; they don't swap). So the key lives only on the platform's server; the DAO multisig can switch it off or replace it at any time (setLaunchSigner), which stops every non-BNB launch until the rounds refund; and full rounds normally launch within minutes, so the exposure is short.

Custom pool tokens ​

The platform can switch this feature on or off; it is currently off: the create page doesn't offer it, and a round of this kind created on-chain directly is not launched by the platform and is refunded in full when its wait ends.

For a token Flap has approved, every token creation carries Flap's signed price for it (valid a few minutes); the platform fetches it when launching.

  • Flap verifies that signature itself: another token's signature, an altered price or an expired one is refused.
  • The contract also uses Flap's USD price (BNB valued by Chainlink's BNB/USD feed) as an independent floor: whatever the platform's plan says, the round must receive at least 85% of the pool token Flap's price implies (room for slippage and the token's own buy tax). Even if the platform's key went wrong, losses on custom tokens are bounded.
  • A custom pool token is the issuer's choice; its own worth (for example whether the issuer holds most of it) is outside what the contract checks. Judge it before subscribing.
  • Tokens Flap has not opened yet (Flap's site says a request was submitted), and tokens with no PancakeSwap path from BNB or too shallow a pool, can't be picked on the create page.

Failed launches and refunds ​

Once full, a failed launch attempt (price guards, Flap refusing) changes nothing and is retried. If a full round still hasn't launched when its wait ends (1 hour by default; the multisig can set 30 minutes to 7 days, and each round keeps the value it was created with), anyone can trigger full refunds with no fee.

If Flap returns pool token it could not use (e.g. a raise larger than graduation needs), that pool token is shared among subscribers pro rata, fee-free, together with the BNB set aside for its fee.

Progress is always estimated on the BNB curve, so a non-BNB pool's actual progress drifts slightly with the exchange rate. Choosing 100% adds 20% headroom automatically; the extra BNB is returned to subscribers at launch.