Authors
0xedmund, dremovd
Challenge Overview
This week’s task is to analyze liquidity provider (LP) position duration patterns specifically for USDT/USDC pairs in Meteora's Dynamic Liquidity Market Maker (DLMM) on Solana. Understanding how long LPs maintain their positions in stablecoin pairs provides insights into yield farming strategies, risk tolerance, and liquidity stability in low-volatility environments.
Requirements
- Filter to only include USDT/USDC pairs
- Calculate position duration from open to close
- Handle positions that are still active (not closed yet)
- Consider only positions with actual liquidity activity (more than 1 transaction for the position)
An example

A typical position goes through the following stages:
- Initialization – A new position is created with initial parameters (e.g., price range, liquidity amount).
- Add Liquidity – Liquidity is added to the position. This might happen only once or multiple times.
- (Optional) Add More Liquidity – Some users may incrementally increase their position.
- Remove Liquidity – Partial or full withdrawal of liquidity.
- Claim Fees – Fees generated by the position can be collected periodically, possibly multiple times during the position’s life.
- Close Position – The position is closed, indicating no more liquidity remains.
For example - let’s look at this position DBtJ3fUVZEP4iAz8aeURM5ZtnSgJYZZFzjSbJv6nNkqE