> ## 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.

# Presale Vault Configuration Guide

> The main decisions and constraints to check before creating a Presale Vault.

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](/helper-products/presale-vault/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](/helper-products/presale-vault/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:

```math theme={"system"}
\text{gross} =
\left\lceil
\frac{\text{net\_deposit} \times 10{,}000}
{10{,}000 - \text{fee\_bps}}
\right\rceil
```

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.
