# Typescript SDK

### Getting Started

* [**Overview**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/getting-started/overview) - Introduction to DLMM protocol and key features for developers
* [**Installation**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/getting-started/installation) - Package installation and setup requirements
* [**SDK Initialization**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/getting-started/sdk-initialization) - Configuration and network setup
* [**Key Concepts**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/getting-started/key-concepts) - Understanding bins, bin steps, and active bins

### Trading Pairs

* [**Create LB Pair**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/trading-pairs/create-lb-pair) - Deploy new liquidity book trading pair
* [**Get Single Pair**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/trading-pairs/get-single-pair) - Fetch detailed pair information
* [**Get All Pairs**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/trading-pairs/get-all-pairs) - List all available trading pairs
* [**Get Pair Bins**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/trading-pairs/get-pair-bins) - Retrieve bin data for a specific pair
* [**Get Pair Reserves**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/trading-pairs/get-pair-reserves) - Check liquidity distribution across bins

### Position Management

* [**Open Position**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/position-management/open-position) - Create new position NFT
* [**Get User Positions**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/position-management/get-user-positions) - List all positions for an address
* [**Get Single Position**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/position-management/get-single-position) - Fetch detailed position data
* [**Get Position Bins**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/position-management/get-position-bins) - View bins within a position
* [**Close Position**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/position-management/close-position) - Remove liquidity and close position

### Add Liquidity

* [**Add Liquidity Overview**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity/add-liquidity-overview) - Core concepts and workflow
* [**Add to New Position**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity/add-to-new-position) - Open position and add liquidity in one transaction
* [**Add to Existing Position**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity/add-to-existing-position) - Add more liquidity to current position
* [**SPOT Distribution**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity/spot-distribution) - Uniform liquidity distribution
* [**CURVE Distribution**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity/curve-distribution) - Gaussian curve distribution
* [**BID-ASK Distribution**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity/bid-ask-distribution) - Weighted bid-ask spread
* [**Custom Distribution**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity/custom-distribution) - Manual bin and amount selection
* [**Calculate Token Amounts**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity/calculate-token-amounts) - Required tokens per bin calculation

### Remove Liquidity

* [**Remove Liquidity Overview**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/remove-liquidity/remove-liquidity-overview) - Understanding the removal process
* [**Remove from Specific Bins**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/remove-liquidity/remove-from-specific-bins) - Partial liquidity removal
* [**Remove All Liquidity**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/remove-liquidity/remove-all-liquidity) - Complete position withdrawal
* [**Calculate Output Amounts**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/remove-liquidity/calculate-output-amounts) - Estimate tokens to receive

### Swap Operations

* [**Execute Swap**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/swap-operations/execute-swap) - Perform token swaps
* [**Swap Direction**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/swap-operations/swap-direction) - Understanding X→Y vs Y→X swaps
* [**Calculate Swap Output**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/swap-operations/calculate-swap-output) - Preview swap results before execution
* [**Price Impact**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/swap-operations/price-impact) - Calculate impact across affected bins
* [**Slippage Protection**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/swap-operations/slippage-protection) - Set minimum output amounts

### Fees & Analytics

* [**Fee Structure**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/fees-and-analytics/fee-structure) - How protocol fees work in bins
* [**Calculate Position Fees**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/fees-and-analytics/calculate-position-fees) - Track accumulated trading fees
* [**Collect Fees**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/fees-and-analytics/collect-fees) - Claim earned fees from positions
* [**Position Value**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/fees-and-analytics/position-value) - Calculate current position worth
* [**Calculate APR**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/fees-and-analytics/calculate-apr) - Estimate annualized returns

### Utilities & Reference

* [**Bin Mathematics**](https://docs.ferra.ag/integration/dlmm/broken-reference) - Understanding and Calculations
* [**Price Helpers**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/utilities-and-reference/price-helpers) - Price conversion utilities
* [**Best Practices**](https://docs.ferra.ag/integration/dlmm/typescript-sdk/utilities-and-reference/best-practices) - Performance optimization tips
