# Integration

- [DLMM](https://docs.ferra.ag/integration/dlmm.md)
- [Typescript SDK](https://docs.ferra.ag/integration/dlmm/typescript-sdk.md): The typescript SDK to interact with Ferra DLMM protocol
- [Getting Started](https://docs.ferra.ag/integration/dlmm/typescript-sdk/getting-started.md)
- [Overview](https://docs.ferra.ag/integration/dlmm/typescript-sdk/getting-started/overview.md)
- [Installation](https://docs.ferra.ag/integration/dlmm/typescript-sdk/getting-started/installation.md): Install and set up the Ferra DLMM SDK in your project.
- [SDK Initialization](https://docs.ferra.ag/integration/dlmm/typescript-sdk/getting-started/sdk-initialization.md): Configure and initialize the Ferra DLMM SDK for your application.
- [Key Concepts](https://docs.ferra.ag/integration/dlmm/typescript-sdk/getting-started/key-concepts.md): Understand the fundamental concepts of the DLMM protocol.
- [Trading Pairs](https://docs.ferra.ag/integration/dlmm/typescript-sdk/trading-pairs.md)
- [Create LB Pair](https://docs.ferra.ag/integration/dlmm/typescript-sdk/trading-pairs/create-lb-pair.md)
- [Get Single Pair](https://docs.ferra.ag/integration/dlmm/typescript-sdk/trading-pairs/get-single-pair.md)
- [Get All Pairs](https://docs.ferra.ag/integration/dlmm/typescript-sdk/trading-pairs/get-all-pairs.md)
- [Get Pair Bins](https://docs.ferra.ag/integration/dlmm/typescript-sdk/trading-pairs/get-pair-bins.md)
- [Get Pair Reserves](https://docs.ferra.ag/integration/dlmm/typescript-sdk/trading-pairs/get-pair-reserves.md)
- [Position Management](https://docs.ferra.ag/integration/dlmm/typescript-sdk/position-management.md)
- [Open Position](https://docs.ferra.ag/integration/dlmm/typescript-sdk/position-management/open-position.md)
- [Get User Positions](https://docs.ferra.ag/integration/dlmm/typescript-sdk/position-management/get-user-positions.md)
- [Get Single Position](https://docs.ferra.ag/integration/dlmm/typescript-sdk/position-management/get-single-position.md)
- [Get Position Bins](https://docs.ferra.ag/integration/dlmm/typescript-sdk/position-management/get-position-bins.md)
- [Close Position](https://docs.ferra.ag/integration/dlmm/typescript-sdk/position-management/close-position.md)
- [Add Liquidity](https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity.md)
- [Add Liquidity Overview](https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity/add-liquidity-overview.md)
- [Add to New Position](https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity/add-to-new-position.md)
- [Add to Existing Position](https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity/add-to-existing-position.md)
- [SPOT Distribution](https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity/spot-distribution.md)
- [CURVE Distribution](https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity/curve-distribution.md)
- [BID-ASK Distribution](https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity/bid-ask-distribution.md)
- [Custom Distribution](https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity/custom-distribution.md)
- [Calculate Token Amounts](https://docs.ferra.ag/integration/dlmm/typescript-sdk/add-liquidity/calculate-token-amounts.md)
- [Remove Liquidity](https://docs.ferra.ag/integration/dlmm/typescript-sdk/remove-liquidity.md)
- [Remove Liquidity Overview](https://docs.ferra.ag/integration/dlmm/typescript-sdk/remove-liquidity/remove-liquidity-overview.md)
- [Remove from Specific Bins](https://docs.ferra.ag/integration/dlmm/typescript-sdk/remove-liquidity/remove-from-specific-bins.md)
- [Remove All Liquidity](https://docs.ferra.ag/integration/dlmm/typescript-sdk/remove-liquidity/remove-all-liquidity.md)
- [Calculate Output Amounts](https://docs.ferra.ag/integration/dlmm/typescript-sdk/remove-liquidity/calculate-output-amounts.md)
- [Swap Operations](https://docs.ferra.ag/integration/dlmm/typescript-sdk/swap-operations.md)
- [Execute Swap](https://docs.ferra.ag/integration/dlmm/typescript-sdk/swap-operations/execute-swap.md)
- [Swap Direction](https://docs.ferra.ag/integration/dlmm/typescript-sdk/swap-operations/swap-direction.md)
- [Calculate Swap Output](https://docs.ferra.ag/integration/dlmm/typescript-sdk/swap-operations/calculate-swap-output.md)
- [Price Impact](https://docs.ferra.ag/integration/dlmm/typescript-sdk/swap-operations/price-impact.md)
- [Slippage Protection](https://docs.ferra.ag/integration/dlmm/typescript-sdk/swap-operations/slippage-protection.md)
- [Collect Yield](https://docs.ferra.ag/integration/dlmm/typescript-sdk/collect-yield.md): Calculate and claim accumulated rewards and fees from their DLMM positions
- [Fees & Analytics](https://docs.ferra.ag/integration/dlmm/typescript-sdk/fees-and-analytics.md)
- [Fee Structure](https://docs.ferra.ag/integration/dlmm/typescript-sdk/fees-and-analytics/fee-structure.md)
- [Calculate Position Fees](https://docs.ferra.ag/integration/dlmm/typescript-sdk/fees-and-analytics/calculate-position-fees.md)
- [Collect Fees](https://docs.ferra.ag/integration/dlmm/typescript-sdk/fees-and-analytics/collect-fees.md)
- [Position Value](https://docs.ferra.ag/integration/dlmm/typescript-sdk/fees-and-analytics/position-value.md)
- [Calculate APR](https://docs.ferra.ag/integration/dlmm/typescript-sdk/fees-and-analytics/calculate-apr.md)
- [Utilities & Reference](https://docs.ferra.ag/integration/dlmm/typescript-sdk/utilities-and-reference.md)
- [Bin Mathematics](https://docs.ferra.ag/integration/dlmm/typescript-sdk/utilities-and-reference/bin-mathematics.md)
- [Price Helpers](https://docs.ferra.ag/integration/dlmm/typescript-sdk/utilities-and-reference/price-helpers.md)
- [Best Practices](https://docs.ferra.ag/integration/dlmm/typescript-sdk/utilities-and-reference/best-practices.md)
- [Smart Contract](https://docs.ferra.ag/integration/dlmm/smart-contract.md): Smart contract interface to interact with DLMM protocol
- [Interface Documentation](https://docs.ferra.ag/integration/dlmm/smart-contract/interface-documentation.md): This repository contains the Move interface definitions for the Ferra Dynamic Liquidity Market Maker (DLMM) protocol. These interfaces provide type definitions and function signatures without implemen
- [Factory Module](https://docs.ferra.ag/integration/dlmm/smart-contract/factory-module.md): Creates and manages trading pairs
- [LB Pair Module](https://docs.ferra.ag/integration/dlmm/smart-contract/lb-pair-module.md): Handles trading logic, liquidity management, and fee collection
- [Position Module](https://docs.ferra.ag/integration/dlmm/smart-contract/position-module.md): Manages user liquidity positions and fee tracking
- [Rewarder Module](https://docs.ferra.ag/integration/dlmm/smart-contract/rewarder-module.md): Distributes additional rewards to liquidity provider
- [CLMM](https://docs.ferra.ag/integration/clmm.md)
- [Typescript SDK](https://docs.ferra.ag/integration/clmm/typescript-sdk.md): The typescript SDK to interact with Ferra CLMM protocol
- [Get CLMM Pools](https://docs.ferra.ag/integration/clmm/typescript-sdk/get-clmm-pools.md): Retrieve pool information from the Ferra protocol.
- [Get Positions](https://docs.ferra.ag/integration/clmm/typescript-sdk/get-positions.md): Retrieve liquidity positions from Ferra pools.
- [Get Pool Position Rewards](https://docs.ferra.ag/integration/clmm/typescript-sdk/get-pool-position-rewards.md): Check reward amounts for liquidity positions.
- [Create CLMM Pool](https://docs.ferra.ag/integration/clmm/typescript-sdk/create-clmm-pool.md): Ferra is a permissionless liquidity infrastructure where anyone can create a CLMM pool.
- [Open Position](https://docs.ferra.ag/integration/clmm/typescript-sdk/open-position.md): Create a new liquidity position NFT in a Ferra pool.
- [Add Liquidity](https://docs.ferra.ag/integration/clmm/typescript-sdk/add-liquidity.md): Add tokens to a liquidity position in Ferra pools.
- [Remove Liquidity](https://docs.ferra.ag/integration/clmm/typescript-sdk/remove-liquidity.md): Withdraw tokens from a liquidity position in Ferra pools.
- [Close Position](https://docs.ferra.ag/integration/clmm/typescript-sdk/close-position.md): Remove all liquidity and close a position permanently.
- [Collect Rewards](https://docs.ferra.ag/integration/clmm/typescript-sdk/collect-rewards.md): Claim trading fees and pool rewards from liquidity positions.
- [Calculate Swap Rates](https://docs.ferra.ag/integration/clmm/typescript-sdk/calculate-swap-rates.md)
- [PreSwap](https://docs.ferra.ag/integration/clmm/typescript-sdk/preswap.md): Calculate swap amounts and check price impact before executing trades.
- [Swap](https://docs.ferra.ag/integration/clmm/typescript-sdk/swap.md): Execute token swaps on Ferra pools.
- [Calculate Pool Metrics](https://docs.ferra.ag/integration/clmm/typescript-sdk/calculate-pool-metrics.md): Calculate key performance indicators for liquidity pools.
- [Router Swap](https://docs.ferra.ag/integration/clmm/typescript-sdk/router-swap.md): Execute optimized swaps through Ferra's smart router for best rates.
- [Price Impact](https://docs.ferra.ag/integration/clmm/typescript-sdk/price-impact.md): Calculate and manage price impact for swaps in CLMM pools.
- [Smart Contract](https://docs.ferra.ag/integration/clmm/smart-contract.md): Smart contract interface to interact with CLMM protocol
- [Interface Documentation](https://docs.ferra.ag/integration/clmm/smart-contract/interface-documentation.md): This repository contains the Move interface definitions for the Ferra Concentrated Liquidity Market Maker (CLMM) protocol. These interfaces provide type definitions and function signatures without imp
- [Factory Module](https://docs.ferra.ag/integration/clmm/smart-contract/factory-module.md): The Factory module is responsible for creating and managing pools. It maintains a registry of all pools and ensures proper initialization.
- [Pool Module](https://docs.ferra.ag/integration/clmm/smart-contract/pool-module.md): The pool module is the core component of the CLMM protocol, defining trading pairs and handling all operations related to trading and liquidity management.
- [Position Module](https://docs.ferra.ag/integration/clmm/smart-contract/position-module.md): Manages liquidity position NFTs and their associated metadata.
- [Rewarder Module](https://docs.ferra.ag/integration/clmm/smart-contract/rewarder-module.md): Implements liquidity mining rewards to incentivize liquidity provision.
- [Tick](https://docs.ferra.ag/integration/clmm/smart-contract/tick.md): Manages the discrete price points and liquidity distribution across the price curve.
- [DAMM](https://docs.ferra.ag/integration/damm.md)
- [Typescript SDK](https://docs.ferra.ag/integration/damm/typescript-sdk.md): The typescript SDK to interact with Ferra CLMM protocol
- [Getting Started](https://docs.ferra.ag/integration/damm/typescript-sdk/getting-started.md): The TypeScript SDK to interact with Ferra DAMM (Dynamic Automated Market Maker) protocol.
- [Pool](https://docs.ferra.ag/integration/damm/typescript-sdk/pool.md): Ferra is a permissionless liquidity infrastructure where anyone can create and interact with DAMM pools.
- [Position](https://docs.ferra.ag/integration/damm/typescript-sdk/position.md): Manage liquidity positions in Ferra DAMM pools: open, add liquidity, remove liquidity, and query positions
- [Swap](https://docs.ferra.ag/integration/damm/typescript-sdk/swap.md): Execute token swaps on Ferra DAMM pools, including fee estimation and pre-swap simulation.
- [Fee & Reward](https://docs.ferra.ag/integration/damm/typescript-sdk/fee-and-reward.md): Claim trading fees and pool rewards from liquidity positions.
- [Router](https://docs.ferra.ag/integration/damm/typescript-sdk/router.md): Smart routing for optimal swap execution across multiple pools, including multi-hop swaps
- [Smart Contract](https://docs.ferra.ag/integration/damm/smart-contract.md)
- [Interface Documentation](https://docs.ferra.ag/integration/damm/smart-contract/interface-documentation.md): This repository contains the Move interface definitions for the The Ferra DAMM (Dynamic Automated Market Maker )protocol. These interfaces provide type definitions and function signatures without imp
- [Factory Module](https://docs.ferra.ag/integration/damm/smart-contract/factory-module.md): The Factory module is responsible for creating and managing pools. It maintains a registry of all pools and ensures proper initialization with DAMM-specific features.
- [Pool Module](https://docs.ferra.ag/integration/damm/smart-contract/pool-module.md): The Pool module is the core component of the DAMM protocol, defining trading pairs and handling all operations related to trading, liquidity management, and advanced fee mechanisms.
- [Position Module](https://docs.ferra.ag/integration/damm/smart-contract/position-module.md): Manages liquidity position NFTs and their associated metadata. Each position is represented as a transferable NFT that tracks liquidity ownership, accumulated fees, rewards.
- [Fee Module](https://docs.ferra.ag/integration/damm/smart-contract/fee-module.md): Manages the discrete price points and liquidity distribution across the price curve.
- [Aggregator Internal (Deprecated)](https://docs.ferra.ag/integration/aggregator-internal-deprecated.md)
- [Typescript SDK](https://docs.ferra.ag/integration/aggregator-internal-deprecated/typescript-sdk.md): The typescript SDK to interact with Ferra Aggregator SDK.
- [Overview](https://docs.ferra.ag/integration/aggregator-internal-deprecated/typescript-sdk/overview.md)
- [Installation](https://docs.ferra.ag/integration/aggregator-internal-deprecated/typescript-sdk/installation.md)
- [Quick Start](https://docs.ferra.ag/integration/aggregator-internal-deprecated/typescript-sdk/quick-start.md)
- [Aggregator V2](https://docs.ferra.ag/integration/aggregator-v2.md)
- [Typescript SDK](https://docs.ferra.ag/integration/aggregator-v2/typescript-sdk.md): The typescript SDK to interact with Ferra Aggregator SDK.
- [Overview](https://docs.ferra.ag/integration/aggregator-v2/typescript-sdk/overview.md)
- [Installation](https://docs.ferra.ag/integration/aggregator-v2/typescript-sdk/installation.md)
- [Quick Start](https://docs.ferra.ag/integration/aggregator-v2/typescript-sdk/quick-start.md)


---

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