Fixed-Price Launch: how it works
Batches and whitelists, caps, the team batch, the state machine, settlement, refunds and the protected opening.
Up to six batches, one price
A fixed-price launch is divided into one to six consecutive batches. Each batch has its own start time and runs until the next one starts, and has either a Merkle whitelist root or a public flag, an optional batch cap and a per-address maximum. Every batch sells at the same price. A batch's unused capacity passes to the batches after it.
Whitelist integrity
- Each leaf commits to the chain id, the FundCore address, the launch id, the batch id, the account and its cap, and is double-hashed. A proof cannot be replayed across chains, launches or batches.
- The creator writes each batch root once, at least 12 hours before the launch starts, and publishes a hash and URI of the list in the same transaction's event, so anyone can rebuild the tree.
- A batch that has neither a root nor a public flag accepts no contributions.
- Allocation lotteries are run off-chain by the platform. The seed is the hash of a pre-announced Ethereum mainnet block, taken once that block is finalised, and a published algorithm lets anyone reproduce the result. The contracts only see the resulting Merkle roots.
Caps enforced by contract
- Per address, within a batch: the lower of the leaf cap and the batch maximum. Limits are counted per batch and are not added up across batches.
- A contribution above the remaining limit, the batch's room or the hard cap's room is filled up to it, and the excess is returned in the same transaction.
- Minimum contribution 0.001 ETH. Contributions are counted in native ETH only.
The team batch
Optional; always batch 0; capped at 20% of the hard cap. The 20% is a deployment setting: the operator can change it only for launches created afterwards, after a 48-hour delay, and never above 25%. Team contributions do not count toward the soft cap, so a team cannot buy its way to success. Team tokens are vested on-chain, and an address that contributed to the team batch cannot contribute to another batch.
The state machine
Every launch moves through create, pending, active and evaluate, each written once. Time windows are start-inclusive and end-exclusive, and settlement and refunds share one deadline, so at any second exactly one of them can run.
| State | What happens |
|---|---|
| Create | Parameters validated and snapshotted. A notice period of at least 24 hours begins. A platform creation fee, if set (at most 0.1 ETH), is paid here and is not refunded. |
| Pending | Batch roots written once, at least 12 hours before the start. The creator may cancel before the start. |
| Active | Batches open in order; caps enforced; no withdrawals during the raise. |
| Evaluate | Success if non-team contributions reach the soft cap, once the end time passes or the hard cap fills. |
Settlement
Anyone can settle, from the moment the raise succeeds until 72 hours after the end time. One atomic transaction deploys the token, creates and seeds the pool, burns unsold supply, books the success fee and registers vesting. Participants can claim from settlement, with no deadline.
Refunds
If the soft cap was not reached by the end time, or no one settled within 72 hours after it, the launch is refunding from that moment, with no approval from anyone. Every contributor withdraws the full amount contributed, to an address of their choice. No token is minted.
There is no early exit: withdrawals during a raise would let allocations be recycled and demand be faked. The exits are a full refund on failure, or a sale on the open market after opening.
The protected opening
When settlement creates the pool, the hook records an opening time 300 seconds later; until then every swap reverts, whatever the route. From opening, buys pay an additional tax that starts at 50% and falls linearly to zero over 600 seconds. Sells pay only the 1% pool fee.
| Seconds after settlement | 0 to 300 | 300 | 450 | 600 | 750 | 900 and later |
|---|---|---|---|---|---|---|
| Additional tax on buys | trading closed | 50% | 37.5% | 25% | 12.5% | 0% |
Contributing with another token
FundZap lets a contributor pay with another token, which it swaps to ETH through the pool manager before contributing for the caller. The core only ever counts ETH, and forced ETH is never counted. A platform may set a FundZap fee of at most 1%.
