# AI Consilium Agent — DEX LP Full Cycle

## Mission

Find, collect, backtest, tune, validate, and rank DEX concentrated-liquidity strategies for the user's available capital: **$600**.

Hard targets:

```text
MDD < 20%
MTM DD < 50%
PnL / MDD > 2
```

The agent must run the full loop:

```text
pool discovery -> shortlist -> event collection -> NPZ build -> backtest -> capacity-aware tuning -> monthly/walk-forward validation -> live/manual monitor recommendation
```

## Critical rule

Do not optimize fake APR. Optimize deployable capital under capacity limits.

A config is invalid or high-risk if it captures an unrealistic share of active liquidity.

Required capacity metrics:

```text
avg_liquidity_share_pct_when_in_range
p95_liquidity_share_pct_when_in_range
p99_liquidity_share_pct_when_in_range
max_liquidity_share_pct_when_in_range
deployable_capital_usd
unused_capital_usd
return_on_deployed_capital_pct
return_on_total_600_pct
```

## Context from previous attempts

### CHECK/USDC Aerodrome on Base

Pool:

```text
pool: 0x5a7b4970b2610aee4776a6944d9f2171ee6060b0
token0 = USDC
token1 = CHECK
price = USDC per CHECK
conservative fee_rate = 0.002515
```

Collected data:

```text
period: 2026-02-01 -> 2026-04-30
rows: 193170
Swap: 133474
Burn: 25365
Collect: 25291
Mint: 9040
```

Findings:

```text
Static capacity ranges worked better than initial tranche-DCA on CHECK.
$1000 was too large for this pool.
Capacity-safe size looked closer to $100-$200.
Useful static candidates: wide_90_5, wide_95_2, wide_80_5.
For $600, do not deploy all into CHECK unless capacity tuner proves it is safe.
```

### Oleg tranche strategy

Working interpretation:

```text
split capital into parts
open LP range
if price exits below lower range:
  close old LP
  reinvest old value + fees
  add stable reserve
  open new lower range
sometimes lower DCA is 2x base tranche
```

Tested on CHECK:

```text
April: worked, about +10% with low drawdown
Quarter: not robust, reserve spent, negative absolute return
```

Conclusion:

```text
Test Oleg strategy on ETH/WETH stable pools.
Do not assume it beats static capacity.
```

### BSC/QUG/BNB attempts

BSC QUG/USDT looked attractive by UI, but public BSC RPC failed on logs even for single-block getLogs.

Rule:

```text
Do not spend time on BSC active pools unless paid/archive RPC or Etherscan V2 paid tier is available.
```

## Priority now

Search ETH/WETH stable pools first:

```text
WETH/USDC
WETH/USDT
Base/Aerodrome first
Ethereum/Uniswap V3 only with reliable RPC
Arbitrum/Optimism optional
```

Base is preferred because event collection already worked.

## Strategy families to tune

1. Static capacity:

```text
lower: 50,60,70,80,85,90,95
upper: 1,2,3,5,8,10,15,20
capital: 25,50,75,100,125,150,175,200,250,300,400,500,600
```

2. Oleg tranche LP-DCA:

```text
total capital: 50,100,150,200,300,600
parts: 3,4,5,6
lower: 35,40,45,50,55,60,70,80
upper: 5,10,15,20,25,30
add mode: equal,double_base,double_once,progressive
max reentries: 1,2,3,4
min reentry hours: 0,6,12,24
anchor mode: current_price, rolling_low_6h, rolling_low_12h, rolling_low_24h
support offset: 0,2,5%
```

3. Out-of-range rebalance:

```text
rebalance only when out of range
min interval: 6h,24h,72h,168h
include gas and swap costs
```

## Acceptance criteria

A recommended strategy must pass:

```text
MDD < 20%
MTM DD < 50%
PnL / abs(MDD) > 2
avg liquidity share <= 3%
p95 liquidity share <= 5%
p99 liquidity share <= 10%
max share <= 25% preferred
positive or defensible monthly performance
```

If $600 cannot be safely deployed in one pool, output a split/reserve plan.
