Meteora
  • Meteora: The most dynamic and sustainable liquidity layer on Solana
  • PRODUCT OVERVIEW
    • Meteora Liquidity Pools
      • DLMM Overview
        • What is DLMM?
        • DLMM Program
        • Dynamic Fees
        • Strategies & Use Cases
        • DLMM Farming Rewards
      • DLMM Launch Pool Overview
      • Dynamic AMM Overview
        • What is a Dynamic AMM Pool?
        • Dynamic AMM LP Fee and APY Calculation
        • Creating a Dynamic AMM Pool via the UI
        • Claiming Fees from Permanently Locked Liquidity
        • Dynamic AMM Stable Pools
        • Dynamic LST Pools
        • Additional yield from Dynamic Vaults
        • Dynamic AMM Farm Overview
      • DAMM v2 Overview
      • Memecoin Pool Overview
        • Memecoin Pool v2
          • What is Memecoin Pool v2?
        • Memecoin Pool v1
          • What is Memecoin Pool v1?
          • Permanently Locking Liquidity
      • Stake2Earn Pool Overview
        • What is a Stake2Earn Pool?
        • Stake2Earn for Launchpads
      • Multi-Token Stable Pool Overview
    • Alpha Vault Overview
    • Dynamic Vault Overview
      • What is a Dynamic Vault?
      • Dynamic Vault Program
      • Hermes - Meteora's Keeper
        • Algorithm to find optimal yield allocations
        • Rebalance crank
        • Operation fee calculation
      • Design Goals
      • Security
      • Dynamic Vaults Whitepaper
      • Dynamic Vaults Community Explainers
      • Affiliate Program for Dynamic Vault
        • Become an Affiliate Partner (Dynamic Vaults)
    • Dynamic Bonding Curve (DBC) Overview
      • What is the Dynamic Bonding Curve?
      • Customizable Pool Configuration
      • Bonding Curve Formula
      • DBC Migrator Keeper
  • Meteora's Anti-Sniper Suite (A.S.S.)
    • Meteora’s Anti-Sniper Suite
      • Dynamic Fees
      • Fee Scheduler
      • Alpha Vault
  • INTEGRATION
    • DLMM Integration
      • DLMM SDK
        • DLMM TypeScript SDK
        • CPI Examples
      • DLMM API
      • Fetching information on locked liquidity in a DLMM
    • Dynamic AMM Pool Integration
      • Dynamic AMM SDK
        • Dynamic AMM TypeScript SDK
        • CPI Examples
      • Dynamic AMM API
        • Pool Info
        • Pool State
      • Setting Pool and Fee Config for Dynamic AMM Pools
      • Create Dynamic Pool with Timestamp/Slot Activation
      • Dynamic AMM - Farm Integration
    • DAMM v2 Integration
      • DAMM v2 SDK
        • DAMM v2 TypeScript SDK
        • DAMM v2 Rust SDK
      • Setting Pool and Fee Config for DAMM v2
      • Technical FAQ
    • Memecoin Pool Integration
      • Memecoin Pool v2 Integration
        • Setting Pool and Fee Config for Memecoin Pool v2
      • Memecoin Pool v1 Integration
        • TypeScript Code Examples
        • CPI Examples
        • Setting Pool and Fee Config for Memecoin Pool v1
        • Track permanently-locked liquidity in Memecoin Pool v1
        • Track Protocol Fee from swaps in Memecoin Pool v1
    • Stake2Earn Pool Integration
    • Dynamic Vault Integration
      • Using TypeScript-Client
      • Using Rust-Client
      • Using CPI
      • Vault API
        • Vault Info
        • Vault State
      • Vault Developer Resources
    • Alpha Vault Integration
      • Alpha Vault TypeScript SDK
      • Alpha Vault without Whitelist Setup
      • Alpha Vault with Whitelist Setup
    • Dynamic Bonding Curve (DBC) Integration
      • DBC SDK
        • DBC TypeScript SDK
        • DBC Rust SDK
      • DBC Fee Scheduler Formula
      • DBC Scripts
      • Program Repo
      • Launchpad Template
      • Technical FAQ
  • TOKEN LAUNCH POOLS
    • Steps to Create a Pool for a Token Launch
      • Create: DLMM Launch Pool
      • Create: Dynamic AMM Pool
      • Create: Memecoin Pool v1
      • Create: DAMM v2 Pool
      • Create: Stake2Earn Pool
      • Create: Pools with Alpha Vault
        • Create: DLMM Launch Pool with Alpha Vault
        • Create: Dynamic AMM Pool with Alpha Vault
        • Create: Memecoin Pool with Alpha Vault
        • Create: Stake2Earn Pool with Alpha Vault
    • Anti-Sniper Fee Suite for a Token Launch
  • Resources
    • Audits
    • Meteora Program IDs
    • Meteora APIs
    • Devnet Testing
    • Community Data Dashboards & Tools
    • Meteora Brand Assets
    • THE MASSIVE METEORA STIMULUS PACKAGE
      • Overview
      • 1. Dynamic Liquidity Market Maker (DLMM)
      • 2. Formation Of An LP Army DAO
      • 3. The 10% Stimulus Proposal
  • USER FAQ
    • Getting Started LPing
      • Supported Wallets
      • Prepare SOL
      • SOL required for Rent
      • What is Wrapped SOL?
      • What is an AMM?
      • What does it mean to provide liquidity?
      • How to swap to the tokens required for adding liquidity to a pool
      • How to quickly check if a token has any risks
      • Viewing your transaction history
      • My wallet has been compromised. What should I do?
    • Differences between DLMM and Dynamic Pools
    • DLMM FAQ
    • Dynamic AMM FAQ
      • How is the pool price of the token calculated in a Dynamic AMM?
      • What is a Meteora LP token?
      • How do I see fees earned on a Dynamic AMM Pool?
      • How to track your earnings for a Dynamic Pool?
      • What is Virtual Price in a Dynamic Pool?
      • How do LP tokens, fees, and virtual price work for Dynamic Pools?
      • Why must I add liquidity in non-stable Dynamic Pools using a 50:50 value ratio?
      • What is AMP in a Dynamic Pool with stable coins?
      • Why is the USDT-USDC pool not 1:1 in ratio of assets?
      • Can I create an LST, FX, or Multi-token pool using the Dynamic Pool creation tool?
    • Alpha Vault FAQ
    • Why is the token sometimes not picked up and tradable on Jupiter?
    • How do I create a new farm?
    • Video Tutorials to Get Started
      • LP Army Boot Camp
      • DLMM Strategy Sessions / Jam Sessions
  • Security and Risks
    • Risk of Impermanent Loss (IL)
    • Risk of depositing into an imbalanced pool / pool with price out of sync
    • Smart contract risk
    • Risk of a stablecoin depeg
    • Operational risk for dynamic vaults and pools
    • Lending risk for dynamic vaults and pools
  • legal
    • Terms of Service
    • Stake2Earn Terms of Service
Powered by GitBook
On this page
  1. USER FAQ

Alpha Vault FAQ

PreviousCan I create an LST, FX, or Multi-token pool using the Dynamic Pool creation tool?NextWhy is the token sometimes not picked up and tradable on Jupiter?

Last updated 15 days ago

  1. Can there be multiple Alpha Vaults for the same pair or pool?

    No. There should only be 1 Alpha Vault per pair or pool. Technically, you can try to create more Alpha Vaults for a pool, but only the whitelisted one can swap, which means the others vaults have no function. The connected Alpha Vault for the pool is stored in pool_account.bootstrapping.whitelisted_vault as shown .

  2. Is there any time restrictions to consider when configuring the Alpha Vault for the token launch?

    There needs to be at least roughly ~1 hour 5 min between the end of the Alpha Vault deposit period and the pool activation time. This is a hard requirement. But Deposit Time, Vesting Period, when tokens can be released to depositors etc. can be configured by the creator during setup.

    This ~1 hour 5 min time period acts as a buffer, given that it can be challenging to land transactions when the Solana network is congested, especially for DLMM launch pools, which require multiple swaps and consume much more high compute unit than the constant product Dynamic AMM.

  3. What is the escrow fee?

    Fee to create stake escrow account. If this fee is added, it will be a one-time fee charged when users create a stake escrow account. This acts as a tax and makes it prohibitively expensive for users to attempt to use multiple wallets to bypass the individual deposit cap. It's charged in native SOL (non-wrapped version) and will be sent to the Meteora treasury.

  4. Relating to the escrow fee, is there a way for the Alpha Vault creator to set a custom fee to receive on each Alpha Vault deposit?

    Currently there's no way to set a custom receiver.

  5. How do you find all the user wallets that deposited into an Alpha Vault for a particular liquidity pool?

    Please refer to this example:

  6. For permissionless Alpha Vault (any wallet can deposit), is there a way to set an individual user cap? Or only permissioned Alpha Vault with whitelist supports this?

    Permissionless FCFS Alpha Vault allows you to set an individual cap, but this will be the same individual cap for everyone.

  7. Will the Alpha Vault automatically buy tokens from the pool?

    Yes, during the buying period, we have a keeper that cranks the Alpha Vault to automatically buy tokens from the pool. But if it doesn't happen, you can crank the Alpha Vault manually using the docs .

  8. If there's no vesting required, what should the startVestingPoint and endVestingPoint be when launching a new Alpha Vault and pool using the docs?

    If there's no vesting required, startVestingPoint and endVestingPoint should be the same.

    But startVestingPoint needs to be at least 1 sec after Pool Activation Point. This would mean tokens unlock for claiming right after pool starts trading.

  9. For the param "individualDepositingCap": 0.001, in the example , what should be written in the param if there's also a whitelist file with maxAmount for each indiv wallet?

    If the vault whitelist mode is PermissionWithMerkletree, individualDepositCap will get ignored, and follow the maxAmount set in the csv file. You can just set the individualDepositCap param as u64::max so it's not confusing.

  10. As the pool creator / position owner, can you withdraw liquidity from a liquidity position (including a single active bin position), if it has some base tokens inside, before the DLMM Launch Pool activation time?

    No. If your liquidity position has base tokens inside, you have to wait for pool activation time before you can withdraw any liquidity from your position. At pool activation, you should quickly withdraw liquidity asap, since there's a chance the price drops right at pool activation, and you might be left with more base tokens instead of USDC in that position.

    However, if there's only USDC left in the single bin, you can withdraw it before pool activation time. Then you can allocate it at a range below the active bin (e.g. at least active bin - 1 bin) if needed.

  11. Can you deposit quote token (e.g. USDC or SOL) into the single active bin, before the DLMM Launch Pool activation time?

    No. Quote token liquidity can only be deposited in a range below the active bin (e.g. at least active bin - 1 bin).

  12. Is it possible for someone to create a DLMM Launch Pool using the official token CA, before the official team is able to do so?

    When pool creator creates a customizable DLMM launch pool, the pool creator need to hold at least 1 lamport worth of the base token. So, no one can create the launch pool as long as no tokens are leaked.

  13. What happens if the team created a DLMM Launch Pool, but wants to change the params (e.g. change base fee % or bin step), can they create a new DLMM Launch Pool with the same token pair?

    No. There can only be 1 DLMM Launch Pool for 1 token pair. The team will have to mint a new token to set up the entire process again.

  14. How do you determine the Alpha Vault's deposit close parameters? Crank start point (time when vault buys tokens from the pool):

    • Timestamp-based Crank start point = activationPoint - 3600

    • Slot-based Crank start point = activationPoint - 9000

    Vault deposit close point (time when vault deposits close):

    • Timestamp-based Vault, Deposit close point = Crank start point - 5 min

    • Slot-based Vault, Deposit close point = Crank start point - 750

  15. What are the different Alpha Vault Whitelist modes?

    • Permissionless: No whitelist, anyone can deposit into the Alpha Vault.

    • PermissionWithAuthority : In this mode, only the Alpha Vault creator can create escrow account with max_cap. This allows the creator to easily use a permissioned (with whitelist) setup without having to use the merkle tree. Creator needs to pay SOL rent for each escrow account for the whitelisted wallets, so this Alpha Vault whitelist mode is suitable for scenarios where there are very few whitelisted addresses (e.g. =<100). If they need to support a lot more whitelisted addresses, they should still use the merkle tree (PermissionWithMerkleProof whitelist mode).

    • PermissionWithMerkleProof : In this mode, only wallets that are whitelisted can deposit into the Alpha Vault. needs to be provided by the project to Meteora, for the Merkle proof to be hosted by Meteora. Alpha Vault deposits should not open until the Merkle proof is hosted by Meteora.

  16. Give me a simple example of how the USDC collected by the Alpha Vault can be used to buy the base token from a single bin in the DLMM pool, and the calculation involved.

    A) Calculation

    BaseTokenAmountInSingleBin * tokenPrice / (1 - feeRate) = Estimated amount of USDC the Alpha Vault needs to use to buy out the Base Token in the single bin.

    However, for the scenario where you want the Alpha Vault to buy tokens from just a single bin in a DLMM pool, you can set Alpha Vault max buy cap = BaseTokenAmountInSingleBin* tokenPrice

    B) Example

    Alpha Vault may not buy up all the base token liquidity in the single bin, and some "dust" tokens remain.

    Pool base fee = 1%

    Total LP Fee from the Alpha Vault swap: 1% of 300,000 = 3,000 USDC Protocol Fee: 20% of 3,000 = 600 USDC Fee given to LP: 80% of 3,000 = 2,400 USDC

    Base token liquidity in the single bin = 100M ABC

    Alpha Vault acquired: 98,996,624 ABC Average price: = 300,000 / 98,996,624 = 0.0030304063702213 USDC per ABC

    Tokens left in the liquidity pool after the Alpha Vault purchased:

    1,003,376 ABC -> this is the dust tokens the vault couldn't buy up (100M - 98,996,624 ABC)

    299,400 USDC -> this is the USDC the vault used to buy the tokens.

    2,400 USDC for the actual fee to the LP is included in this amount. 600 USDC already taken as Meteora protocol fee.

here
https://github.com/MeteoraAg/alpha-vault-sdk/blob/get-all-depositors/ts-client/src/examples/getAllDepositors.ts
here
config file
Csv file containing the list of whitelisted wallets