# Pool dynamics

### **Dynamic Amplification Coefficient (A)**

The Amplification Coefficient (A) is a key parameter that controls the StableSwap curve used by Tapio, determining how pools maintain price relationships between correlated assets. Proper A management is essential for optimizing pool performance and trading efficiency.

**A Management & Governance:** A designated Curator is responsible for adjusting A values according to market conditions to optimize pool performance and trading efficiency. These changes are implemented through a sophisticated governance system with built-in safety mechanisms:

* **Automatic Adjustment:** A values change smoothly over time through the RampAController, preventing sudden shifts that could destabilize trading
* **Safety Controls:** The Guardian can immediately stop any A adjustment if market conditions require intervention
* **Curator Managed:** All A changes operate within bounds set by protocol governance, ensuring responsible parameter management

**Why A Management Matters:** The pool's trading efficiency and pricing function depend heavily on appropriate A values for current market conditions. Professional A management helps maintain optimal trading conditions while protecting liquidity providers from unnecessary risks.

### **APR**

Let's understand different terminologies to help you better understand Tapio's APR calculations:

**Total APR** Total APR represents the complete annual percentage return earned by liquidity providers. It is the sum of all revenue sources within a Tapio pool.

**`Total APR = Base APR + Fee APR`**

This metric provides a global view of a pool's potential returns, making it easier for liquidity providers to compare opportunities across different pools.

**Base APR**

Base APR represents the weighted average yield from all assets in the pool based on their individual exchange rate (Asset’s Internal Exchange Rate) changes and pool composition.

**Calculation:** `Pool Base APR = Σ(Token USD Value × Token Individual Yield) / Total Pool USD Value`

Where each token's individual yield is calculated as `Token Individual Base APR = ((Latest Asset’s Internal Exchange Rate - PreviousAsset’s Internal Exchange Rate) × SECONDS_IN_YEAR) / (Time Difference In Seconds × PreviousAsset’s Internal Exchange Rate)`

**Example:**

Let's say we have a WETH-wstETH pool with equal dollar amounts of WETH and wstETH, and we're measuring changes over 1 week:

**WETH (Reference Token):**

* Latest Rate: 1.0 (always 1.0 since it's the reference token)
* Previous Rate: 1.0 (no change)
* Token Individual Base APR: 0%

**wstETH:**

* Latest Rate: 1.150 WETH per wstETH
* Previous Rate: 1.143 WETH per wstETH (from 1 week ago)
* Rate increased due to accumulated ETH staking rewards

**Calculation for wstETH:**

```

Token Base APR = ((1.150 - 1.143) × 31,536,000) / (604,800 × 1.150)
               = (0.007 × 31,536,000) / 695,520
               = 220,752 / 695,520
               = 31.7% annualized
```

**Pool Base APR (if equally weighted):**

```tsx
Pool Base APR = (50% × 0%) + (50% × 31.7%) = 15.85%
```

**Fee APR** Fee APR represents the annualized return from trading fees collected in the pool. The system tracks fees from all pool operations and calculates the annual return based on recent activity.

**Fee Sources:**

* **Swap fees** - Collected when users exchange tokens
* **Mint fees** - Collected when users deposit assets to receive LP tokens
* **Redeem fees** - Collected when users withdraw assets by burning LP tokens

**Calculation:** `Fee APR = (Last Day Fees × 365) / Total LP Supply`


---

# 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.tapio.finance/user-docs/pool-mechanics/pool-dynamics.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.
