Access Models
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 at10,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 aMerkleRootConfig for the vault. Each user then proves membership with a leaf built from:
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 andmax_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 nonzeroescrow_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.

