# Add Liquidity Overview

### What is Adding Liquidity?

In DLMM, adding liquidity means:

* Depositing token pairs into specific price bins
* Receiving a position NFT that tracks your share
* Earning fees from trades that occur in your bins
* Managing liquidity across discrete price levels

### Core Concepts

#### Position NFTs

Your liquidity is represented by a **Position NFT** that:

* Tracks your share across multiple bins
* Accumulates trading fees
* Can be transferred or sold
* Allows partial withdrawals

#### Bins and Price Ranges

* Each bin represents a specific price level
* You choose which bins to add liquidity to
* Only the "active bin" facilitates trades
* Price moves by jumping between bins

#### Distribution Strategies

How you spread liquidity across bins:

* **SPOT**: Uniform distribution
* **CURVE**: Concentrated around current price
* **BID-ASK**: Weighted away from center
* **CUSTOM**: Manual bin selection

### The Workflow

#### 1. Choose Your Pair

```typescript
const pair = await sdk.Pair.getPair(pairAddress);
const currentPrice = calculatePrice(pair.parameters.active_id);
```

#### 2. Select Distribution Strategy

Decide how to allocate liquidity:

* Tight range for higher fee capture
* Wide range for consistent coverage
* Strategic placement for limit orders

#### 3. Calculate Token Amounts

DLMM requires specific ratios per bin:

* Bins below active: 100% token Y
* Active bin: Mixed ratio
* Bins above active: 100% token X

#### 4. Execute Transaction

Two options available:

* Create new position + add liquidity
* Add to existing position

### Key Considerations

#### Capital Efficiency

* Narrower range = higher fee share
* Wider range = more consistent fees
* Active bin earns most fees

#### Impermanent Loss

* Occurs when price moves from entry
* Wider ranges reduce IL risk
* Consider correlation of assets

#### Rebalancing Needs

* Narrow ranges need more management
* Wide ranges are more passive
* Monitor active bin position

### Best Practices

* **Start Small**: Test with small amounts first
* **Monitor Performance**: Track which bins earn most fees
* **Consider Volatility**: Adjust range based on pair behavior
* **Plan Exit**: Know your withdrawal strategy

### Common Patterns

#### Passive Income Strategy

* Use SPOT distribution
* Wide range (50-100 bins)
* Minimal management needed

#### Active Trading Strategy

* Use CURVE distribution
* Tight range (10-20 bins)
* Rebalance frequently

#### Limit Order Strategy

* Use CUSTOM distribution
* Single bin placement
* Acts like a limit order

### Next Steps

Ready to add liquidity? Choose your approach:

1. **Quick Start**: [Add to New Position](/integration/dlmm/typescript-sdk/add-liquidity/add-to-new-position.md) - One transaction setup
2. **Existing Position**: [Add to Existing Position](/integration/dlmm/typescript-sdk/add-liquidity/add-to-existing-position.md) - Increase current liquidity
3. **Learn Distributions**: Explore [SPOT](/integration/dlmm/typescript-sdk/add-liquidity/spot-distribution.md), [CURVE](/integration/dlmm/typescript-sdk/add-liquidity/curve-distribution.md), or [BID-ASK](/integration/dlmm/typescript-sdk/add-liquidity/bid-ask-distribution.md)

### Related Topics

* [Calculate Token Amounts](#id-3.-calculate-token-amounts) - Required tokens per bin
* [Position Management](/integration/dlmm/typescript-sdk/position-management.md) - Managing positions
* [Fee Structure](/integration/dlmm/typescript-sdk/fees-and-analytics/fee-structure.md) - How fees accumulate


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity/add-liquidity-overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
