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

# Getting Started

> Dynamic Vault

This guide provides instructions on how to get started with building on Meteora's Dynamic Vault program using the Dynamic Vault TypeScript SDK.

Before you begin, here are some important resources:

<CardGroup cols={2}>
  <Card title="Typescript SDK" icon="node-js" iconType="solid" href="https://github.com/MeteoraAg/vault-sdk">
    Meteora Dynamic Vault Typescript SDK
  </Card>

  <Card title="Dynamic Vault NPM Package" icon="npm" iconType="solid" href="https://www.npmjs.com/package/@meteora-ag/vault-sdk">
    Meteora Dynamic Vault NPM Package
  </Card>
</CardGroup>

# Installation

To use the SDK in your project, install it using your preferred package manager:

<Tabs>
  <Tab title="npm">
    ```bash theme={"system"}
    npm install @meteora-ag/vault-sdk @solana/web3.js @solana/spl-token-registry
    ```
  </Tab>

  <Tab title="pnpm">
    ```bash theme={"system"}
    pnpm install @meteora-ag/vault-sdk @solana/web3.js @solana/spl-token-registry
    ```
  </Tab>

  <Tab title="yarn">
    ```bash theme={"system"}
    yarn add @meteora-ag/vault-sdk @solana/web3.js @solana/spl-token-registry
    ```
  </Tab>
</Tabs>

# Initialization

Once installed, you can initialize the SDK in your TypeScript/JavaScript project like this:

```typescript theme={"system"}
import { Connection } from "@solana/web3.js";
import VaultImpl from '@meteora-ag/vault-sdk';
import { StaticTokenListResolutionStrategy, TokenInfo } from "@solana/spl-token-registry";

// Initialize a connection to the Solana network (e.g., Mainnet)
const connection = new Connection("https://api.mainnet-beta.solana.com");

// Retrieve the token info for the vault (example: SOL)
const tokenMap = new StaticTokenListResolutionStrategy().resolve();
const SOL_TOKEN_INFO = tokenMap.find(token => token.symbol === 'SOL') as TokenInfo;

// Getting a Vault Implementation instance (SOL)
const vault: VaultImpl = await VaultImpl.create(
    connection,
    SOL_TOKEN_INFO,
    {
        cluster: 'mainnet-beta'
    }
);
```

# Testing the SDK (for contributors)

If you have cloned the SDK repository and want to run the built-in tests:

```bash theme={"system"}
# Install dependencies
cd ts-client
bun install

# Run tests
bun test
```

# Development Resources

## Faucets

<CardGroup cols={1}>
  <Card title="Devnet Faucet" icon="faucet" href="https://faucet.raccoons.dev/">
    <p>When working on devnet, you might need test tokens. Here is a helpful faucet.</p>
  </Card>
</CardGroup>
