Skip to main content
Alpha Vault supports two vault modes: Pro Rata and FCFS. Both modes collect quote token before launch and let the vault buy from a connected Launch Pool during pre-activation. The difference is how each mode accepts deposits, applies caps, and handles unused quote.

Mode Comparison

Pro Rata Mode

Pro Rata mode is designed for launches where demand may exceed the amount the vault should buy. Users can deposit during the deposit window. The vault can accept more quote than max_buying_cap, but it can only swap up to: min(total_deposit,max_buying_cap)\min(\text{total\_deposit}, \text{max\_buying\_cap}) If total deposits exceed the max buying cap, every depositor participates proportionally and the excess quote becomes refundable.

Withdrawal Rules

Pro Rata has two withdrawal paths:
Pro Rata allocation is proportional to deposit size. A larger deposit increases a user’s share, but the vault still cannot swap more than max_buying_cap.

FCFS Mode

FCFS means First Come, First Served. It is designed for launches that want a hard cap on accepted quote. When a user deposits, the program limits the accepted amount by:
  • The user’s requested amount after transfer-fee adjustment.
  • The remaining vault capacity: max_depositing_cap - total_deposit.
  • The user’s remaining quota from the vault individual cap or permissioned escrow cap.
Once the vault reaches max_depositing_cap, additional deposits fail because the accepted deposit amount becomes zero. FCFS does not expose the normal user withdrawal instruction. Accepted deposits are intended to remain in the vault until the fill and refund lifecycle completes.
Permissionless FCFS should use a meaningful individual_depositing_cap if broad distribution matters. Without a low enough cap, early wallets can consume most or all vault capacity.

Shared Behavior

Both modes use the same claim and final refund accounting:
  • Users receive a share of bought tokens based on escrow.total_deposit / vault.total_deposit.
  • Claims unlock linearly from start_vesting_point through end_vesting_point.
  • After the pool’s last_buying_point, users can withdraw quote that was not swapped.
Both modes can be paired with permissionless, Merkle proof, or authority-managed escrow creation. Permissioned escrows use the escrow’s max_cap as the user’s quota.