Documentation Index
Fetch the complete documentation index at: https://docs.meteora.ag/llms.txt
Use this file to discover all available pages before exploring further.
Use this guide before creating a vault. It focuses on configuration choices that are enforced by the program, plus the product decisions that should be communicated to buyers.
1. Choose the sale mode
Fixed Price
Use Fixed Price when buyers need a known price before depositing.
You must also create fixed-price extra params with:
q_price in Q64.64 format
disable_withdraw as true or false
Fixed Price is sensitive to integer rounding. Make sure the chosen price, cap, and supply can produce the intended sale outcome in smallest token units.
FCFS
Use FCFS when deposits should stop at the maximum cap and buyers should be committed once they deposit.
If early completion is enabled, reaching the maximum cap moves the sale end time to the current timestamp. This also recalculates vesting times from the new end time.
Pro Rata
Use Pro Rata when the sale may be oversubscribed and buyers should receive proportional allocation with proportional overflow refunds.
Pro Rata deposits can exceed the maximum cap, so buyer caps and allowlist design matter more.
2. Pick supported tokens
The base and quote mints can be standard SPL Token mints or supported Token-2022 mints. If either mint uses Token-2022 extensions, review Token 2022 Support before launch so the UI and transaction builder handle transfer fees, transfer hooks, and memo requirements correctly.
3. Set sale timing
| Timing setting | Requirement |
|---|
| Start time | cannot be more than 30 days after initialization |
| End time | must be after the effective start time |
| Sale duration | 60 seconds to 30 days |
The effective start time is the later of the requested start time and the current timestamp.
4. Set raise caps
The minimum cap must be greater than zero, and the maximum cap must be at least the minimum cap.
For Fixed Price, the program also checks that:
- the maximum cap can be fulfilled by the configured base supply
- the minimum and maximum caps correspond to different bought base-token amounts
5. Design registries
A vault must have 1 to 5 registries. Each registry has:
- base-token supply
- buyer minimum deposit cap
- buyer maximum deposit cap
- deposit fee bps
Registry supply must be greater than zero, and the sum of registry supplies must fit in u64.
Registry deposit fee cannot exceed 5,000 bps.
Permissionless registries
Permissionless mode uses registry index 0. Buyers create their own escrow in that registry.
Permissioned registries
Multiple registries require a permissioned mode.
For permissioned sales, the program uses the escrow’s personal deposit cap to control each buyer. The registry-level cap range has mode-specific constraints:
| Mode | Permissioned registry cap constraint |
|---|
| Fixed Price | minimum must equal the quote amount needed to buy at least one base unit; maximum must equal presale_maximum_cap |
| FCFS | minimum must be 1; maximum must equal presale_maximum_cap |
| Pro Rata | minimum must be 1; maximum must equal presale_maximum_cap |
The personal cap supplied during escrow creation must be within the registry range.
6. Choose the whitelist mode
Choose the whitelist mode based on who should be able to create buyer escrows:
| Whitelist mode | Use when |
|---|
| Permissionless | Anyone should be able to participate through the default registry. |
| Permission with authority | A creator-approved operator should assign buyer escrows, registries, and personal caps. |
| Permission with Merkle proof | Buyers should prove allowlist eligibility on-chain using wallet, registry, and personal cap data. |
See Access and States for the escrow creation paths, operator rules, Merkle root accounts, and close conditions.
7. Configure deposit fees
Deposit fees are set per registry in bps and charged on top of the net deposit used for allocation.
The program rounds the gross amount up so the requested net deposit is preserved:
gross=⌈10,000−fee_bpsnet_deposit×10,000⌉
In Pro Rata, fee on overflow quote is refundable and is excluded from the creator’s collectible fee.
8. Configure unlocks
If no lock and vesting params are provided, sold tokens are claimable after the sale completes with no additional lock or drip schedule.
If lock and vesting params are provided:
- immediate release bps must be at most 10,000
- lock duration plus vest duration must be less than 10 years
- if immediate release is 10,000 bps, lock and vest duration must both be zero
- if immediate release is below 10,000 bps, at least one of lock duration or vest duration must be greater than zero
- if immediate release timestamp is set and immediate release bps is greater than zero, it must be between the sale end and vesting end
- if immediate release bps is zero and immediate release timestamp is set, it must equal the sale end
When early completion changes the sale end time, vesting start and end are recalculated from the new end time. The immediate release timestamp preserves its offset from the previous end time.
9. Choose unsold base-token action
The unsold action is either:
- Refund: return unsold base tokens to the creator
- Burn: burn unsold base tokens from the vault
The action is only available after a completed sale, only if there are unsold tokens, and only once.
10. Pre-launch checklist
- Base and quote mints use supported token programs and extensions.
- Sale start, end, and duration satisfy the program limits.
- Minimum and maximum caps are intentional and valid.
- Fixed-price
q_price has been tested in smallest units, if using Fixed Price.
- Registry count, supplies, fee bps, and cap ranges are valid for the selected whitelist mode.
- Permissioned allowlist data includes wallet, registry index, and personal cap.
- Token-2022 transfer hook accounts can be provided where needed.
- Buyer-facing docs explain whether deposits can be withdrawn during the sale.
- Buyer-facing docs explain claim timing and vesting.
- The team has a post-sale plan for creator withdrawal, fee collection, unsold tokens, and liquidity.