Skip to main content

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.

Alpha Vault controls access at the escrow-creation layer. A user must have an escrow for the vault before they can deposit.

Access Models

Access modelWho can create the escrowHow user quota is set
PermissionlessAnyone can create an escrow during the deposit window.Permissionless FCFS uses individual_depositing_cap; permissionless Pro Rata effectively has no individual cap.
Merkle proofA user or payer creates an escrow with a valid Merkle proof.The Merkle leaf includes the wallet and max_cap; the escrow stores that max_cap.
Authority-managedThe vault authority creates the escrow for a selected wallet.The authority passes a positive max_cap; the escrow stores that max_cap.

Permissionless Escrows

Permissionless mode lets anyone create an escrow while the vault is open. The escrow address is derived from the vault and owner, so each owner has one escrow per vault. Permissionless vaults may charge an escrow creation fee. The program caps this fee at 10,000,000 lamports (0.01 SOL) and sends it to the Meteora treasury account. The fee is recorded in total_escrow_fee and is not refunded when the escrow is closed.

Merkle Proof Escrows

Merkle proof mode is built for larger allowlists. The vault authority or a program admin creates a MerkleRootConfig for the vault. Each user then proves membership with a leaf built from:
owner pubkey + max_cap
The program stores the supplied max_cap in the user’s escrow after verifying the proof. Deposits are then limited by the escrow’s remaining cap. The program also supports Merkle proof metadata with a proof_url, which can point clients to off-chain proof data.
The Merkle root account is versioned, so teams can publish multiple root versions for the same vault when needed.

Authority-Managed Escrows

Authority-managed mode is for curated lists. The vault authority signs the escrow creation transaction and selects the owner and max_cap. This mode is operationally simple for small lists because the team can create the escrow accounts directly. It is less scalable than Merkle proof mode for large public allowlists.

Permissioned Vault Fee Rule

Permissioned vaults cannot charge an escrow creation fee. The initialization path rejects any nonzero escrow_fee when whitelist_mode is Merkle proof or authority-managed. This avoids charging users or teams for escrow creation in permissioned flows where the project may create many escrows.

Vault Authority and Admins

The vault authority is normally the vault creator. It can:
  • Create Merkle root configs for a Merkle-proof vault.
  • Create Merkle proof metadata.
  • Create authority-managed escrows when the vault uses authority mode.
  • Transfer vault authority to a new pubkey.
Program admins can create global Pro Rata and FCFS config accounts, update vault parameters through admin-only instructions, create crank-fee whitelist accounts, and also create Merkle root configs or metadata.

Wallet Caps

Caps are enforced during deposit, not just during escrow creation.
Cap sourceApplies whenBehavior
individual_depositing_capPermissionless FCFSLimits each escrow’s accepted deposit.
u64::MAXPermissionless Pro RataMeans the individual cap is effectively ignored.
Escrow max_capMerkle proof and authority-managed vaultsLimits deposits for that permissioned escrow.
max_depositing_capFCFS vaultsLimits total accepted vault deposits.
max_buying_capPro Rata vaultsLimits how much quote the vault can swap, not how much it can accept.