EURe/USDC.e Curve Pool (Gnosis) — Analysis Report
Pool: 0xaCDc85AFCD8B83Eb171AFFCbe29FaD204F6ae45C (FXSwap / Twocrypto-NG with refuel, Gnosis chain)
Dataset: Jan 22 → Apr 19, 2026 (88 days). LP exited Apr 9 (TVL $83,502 → $116 dust). Active period: Jan 22 – Apr 9 (77 days).
Pool type: Same as Base EURC/USDC — FXSwap variant of Twocrypto-NG with built-in refuel mechanism (packed_rebalancing_params present). Fee split: 25% LP / 25% DAO / 50% rebalancing buffer (same as all twocrypto-ng/FXSwap pools with ADMIN_FEE = 50%).
Pool Configuration
| Parameter |
Raw value |
Scaled |
Meaning |
A |
1,000,000 |
1,000,000 |
Amplification; higher = tighter peg near oracle |
gamma |
1×10¹⁴ |
0.0001 |
Width of concentrated liquidity region |
mid_fee |
1,000,000 |
0.01% |
Fee when pool is at oracle price (balanced) |
out_fee |
30,000,000 |
0.30% |
Fee when pool is maximally off-balance |
admin_fee |
5×10⁹ |
50% |
Share of gross fee routed to Admin (DAO + rebalancing) |
fee_gamma |
3×10¹⁵ |
0.003 |
Controls how fast fee ramps from mid to out |
allowed_extra_profit |
1×10⁶ |
1×10⁻¹² |
Profit threshold before price_scale update triggers |
adjustment_step |
1×10¹⁵ |
0.001 (0.1%) |
Maximum fraction of (oracle − price_scale) moved per rebalance |
ma_time |
3,605 |
~1 hour |
EMA half-life for price_oracle |
virtual_price (Apr 9 pre-exit) |
— |
1.009682 |
LP token value growth since inception (+0.97%) |
xcp_profit (Apr 9 pre-exit) |
— |
1.015804 |
Cumulative pool profit growth (+1.58%); includes Admin share not yet extracted |
xcp_profit_a |
— |
1.000000 |
Baseline at last Admin claim; = 1.0 means Admin fees have never been extracted |
donation_shares |
— |
0 |
Refuel budget exhausted (see refuel note below) |
LP exit (Apr 9): Between the 12:00 and 18:00 UTC slots, pool TVL dropped from $83,502 to $116 — the single LP removed virtually all liquidity. The pool continues operating as dust ($116 TVL) through Apr 19 with 72 additional small trades.
Fee split (FXSwap / twocrypto-ng with ADMIN_FEE = 50%, same for both pools):
| Destination |
Share |
Mechanism |
| Rebalancing buffer |
50% of gross |
Stays as xcp_profit − virtual_price gap; spent each time price_scale moves |
| DAO |
25% of gross |
Claimed as LP tokens via _claim_admin_fees() — note: ADMIN_FEE/2 because half already went to rebalancing |
| LP |
25% of gross |
Accrues via virtual_price increase (after DAO claim) |
Fee range: mid_fee 0.01% → out_fee 0.30% is a 30× spread, controlled by fee_gamma. Compare Base pool (0.05% → 0.10%, 2× spread) — Gnosis is deliberately more aggressive on large imbalancing trades.
Refuel: Refuel is not a gas cost — it is LP token donations that top up the rebalancing budget when 50% of fee income is insufficient to keep price_scale tracking the oracle. Donations increase the pool's xcp value (boosting vp_boosted via the locked_supply denominator) without raising xcp_profit, thereby creating headroom above the floor for more rebalancing.
Three donations were made to this pool; their USD value (= LP tokens donated × virtual_price at time) was consumed entirely by approximately late-February 2026:
| Sample block |
donation_shares (LP) |
≈ USD value |
Event |
| 44295468 |
15.57 |
~$33.7 |
Already present at first snapshot (initial seed donation) |
| 44338668 |
46.24 |
~$100.6 |
+30.7 LP tokens donated |
| 44381868 |
155.87 |
~$342.3 |
+109.6 LP tokens donated (large donation, coincides with big LP deposit) |
| 44641068 |
52.0 |
~$114 |
Consumed ~100 LP tokens worth since peak |
| 44986668 |
0.0 |
$0 |
Fully exhausted — pool now runs on fee buffer only |
| 45263793 |
0.0 |
$0 |
Still exhausted at end of active period |
Total refuel donated: ≈ 155.9 LP tokens ≈ $337 USD (paid by the refuel provider, not LP holders).
Rebalance detection note: adjustment_step = 0.001 moves price_scale by 0.1% of the gap to oracle per update (not 0.1% of price itself). For a 0.2% oracle-price_scale gap, each step is only 0.0002% — individual steps are tiny. The data shows approximately 86% of trades trigger a price_scale update. Rebalancing cost estimated via CPAMM IL formula: negligible (Gnosis gas is essentially free).
1. Summary Stats — Jan 22, 2026 → Apr 19, 2026
| Metric |
Value |
| Period |
Jan 22 – Apr 19, 2026 (88 days; LP exited Apr 9) |
| Active period |
Jan 22 – Apr 9 (77 days, 2,460 trades) |
| Dust period |
Apr 10 – Apr 19 (72 trades, $216 vol — pool TVL $116) |
| Total swaps |
2,532 |
| Overall median trade size |
$135.38 |
| Overall mean trade size |
$368.23 (right-skewed; large orders pull mean 2.7× above median) |
| Total USD swap volume |
$932,357.97 |
| TVL phase 1 (Jan 22–27) |
~$35,200 – ~$35,500 (initial seed LP) |
| TVL phase 2 (Jan 28 – Apr 9) |
~$83,400 – ~$84,100 (steady after large LP deposit; LP exited Apr 9) |
| Average TVL phase 2 |
~$83,449 |
| Direction split |
56.7% EURe→USDC.e / 43.3% USDC.e→EURe |
| Median slippage (active period) |
+7.96 bps |
| Mean slippage (active period) |
+12.80 bps |
| EUR/USD price range |
1.1436 – 1.2043 (rose to peak Jan 29, fell through mid-Mar, recovered to ~1.1671 at LP exit) |
TVL structure:
- Phase 1 (Jan 22–27): ~$35K initial seed. Pool seeded with ~14,262 EURe + ~18,481 USDC.e.
- Jan 28: A large LP deposit doubled the pool overnight: EURe 14,600 → 32,630, USDC.e 17,500 → 44,715. TVL jumped to ~$83.5K.
- Phase 2 (Jan 28 → Apr 9, 71 days): ~$83–84K TVL. All P&L analysis below uses phase 2.
- Apr 9: LP removed virtually all liquidity between the 12:00 and 18:00 UTC slots. TVL dropped from $83,502 to $116.
- Dust period (Apr 10–19): Pool operating with $116 TVL. 72 small trades (max $57) with extreme slippage (min −607 bps, max +900 bps) due to near-empty pool.
Monthly breakdown
| Month |
Trades |
Volume (USD) |
Gross Fees |
| Jan 2026 |
403 |
$131,104 |
$244.42 |
| Feb 2026 |
645 |
$288,560 |
$484.17 |
| Mar 2026 |
1,163 |
$417,481 |
$447.92 |
| Apr 2026 |
321 |
$95,214 |
$105.12 (249 active Apr 1–9 + 72 dust Apr 10–19) |
2. Fee Income, Divergence Loss & Full P&L — Phase 2 (Jan 28 → Apr 9 exit, 71 days)
Fee income
| Metric |
Value |
APY (avg TVL $83,449, 71 days) |
| Total gross fees (phase 2) |
$1,223.22 |
+7.54% |
| ├─ LP share (25%) |
$305.81 |
+1.88% |
| ├─ DAO share (25%, unclaimed) |
$305.81 |
+1.88% |
| └─ Rebalancing buffer (50%) |
$611.61 |
+3.77% |
| Average fee rate |
0.137% of volume |
|
Note: xcp_profit_a = 1.0 confirms DAO fees have never been extracted from this pool. Since LP exited on Apr 9 before any DAO claim was made, the LP captured the full pool TVL proportionally — effectively receiving the DAO's pending 25% share ($306) as an unintended windfall. Had DAO claimed first, LP's "true value" would be $83,502 − $306 = $83,196 (vs HODL +$398). Since LP exited first, actual realized value was $83,385 (vs HODL +$587).
Divergence loss decomposition
EUR/USD fell −1.68% over phase 2 (1.1870 → 1.1671, Jan 28 → Apr 9 exit).
All fees are still in the pool at time of LP exit (xcp_profit_a = 1.0, no Admin extraction ever). So "pool without fees" = pool TVL − all gross fees = $83,502 − $1,223 = $82,279.
| Component |
Amount |
| HODL value at exit EUR/USD 1.1671 (start assets, no AMM) |
$82,798 |
| Pool without any fees (pure AMM value) |
$82,279 |
| Divergence loss (AMM vs HODL, before fees) |
−$520 |
EUR/USD fell then partially recovered over the 71-day period (peak 1.2043 on Jan 29, trough 1.1436 in mid-March, recovery to 1.1671 at exit). The AMM sold EURe as EUR rose and bought back as EUR fell. The near-round-trip reduced but did not eliminate divergence loss.
Full LP P&L (phase 2: Jan 28 → Apr 9 exit)
| Line item |
Amount |
APY (71 days) |
| Start value (Jan 28) |
$83,448 |
|
| HODL at Apr 9 exit (EUR/USD 1.1671, −1.68%) |
$82,798 |
−8.62% APY |
| LP exit value received (Apr 9) |
$83,385 |
|
| LP vs start |
−$63 |
−0.39% APY |
| LP vs HODL |
+$587 |
+3.62% APY |
|
|
|
| ├─ Price effect (HODL vs start) |
−$650 |
−4.50% APY |
| ├─ Divergence loss (AMM vs HODL, pool-level) |
−$520 |
−3.20% APY |
| └─ All gross fees captured by LP (DAO never extracted) |
+$1,222 |
+7.53% APY |
LP vs HODL = +$587 despite EUR falling 1.68%. Fee income ($1,222 total gross captured by LP since DAO never claimed) far exceeds divergence loss ($520). Additionally, ~$337 in refuel donations funded extra rebalancing capacity in the early period — that cost was borne by the refuel provider, not LP holders.
Fee capture note: LP received 99.86% of pool TVL at exit (38,231 of 38,284 total LP tokens redeemed). LP captured 99.86% of all accumulated fees — the equivalent of all 4 "quarters" of fee income (LP's 25% + DAO's unclaimed 25% = 50% of gross; rebalancing buffer 50% was consumed by IL). This is specific to this pool's history; DAO would eventually claim their share in any long-running pool.
Monthly P&L snapshots
True LP value = Pool TVL − pending DAO claim (25% of cumulative gross fees since Jan 28) — reflects value LP would receive if DAO claimed just before LP exit.
Div loss = (Pool TVL − cumulative gross fees) − HODL value.
| Period |
EURe |
USDC.e |
EUR/USD |
Pool TVL |
HODL |
Cum fees |
Div loss |
True LP |
vs Start |
vs HODL |
| Jan 28 start |
32,631 |
44,715 |
1.1870 |
$83,448 |
$83,448 |
— |
$0 |
$83,448 |
— |
$0 |
| End Jan |
37,818 |
38,939 |
1.1936 |
$84,077 |
$83,662 |
$185 |
+$231 |
$84,031 |
+$582 |
+$369 |
| End Feb |
36,717 |
40,634 |
1.1812 |
$84,003 |
$83,257 |
$670 |
+$76 |
$83,835 |
+$387 |
+$578 |
| Mar 31 |
30,707 |
47,612 |
1.1532 |
$83,023 |
$82,345 |
$1,118 |
−$441 |
$82,743 |
−$706 |
+$398 |
| Apr 9 exit |
27,482 |
51,428 |
1.1671 |
$83,502 |
$82,798 |
$1,223 |
−$520 |
$83,385† |
−$63 |
+$587 |
†At exit, LP received actual value = $83,385 (full pool proportional share, since DAO never claimed before LP exit). True LP if DAO had claimed first = $83,196 (vs HODL +$398).
Key observations:
- Jan–Feb (EUR rising): Divergence loss was positive — AMM was ahead of HODL before fees. Pool TVL grew from $83.4K → $84.1K.
- Feb–Mar (EUR falling): EUR peaked at 1.2043 (Jan 29) then fell to 1.1436 by mid-March. Divergence loss turned sharply negative as EUR reversed without a full round-trip. LP value dropped to $82,743 (true LP, −$706 vs start).
- Mar–Apr (EUR recovering): EUR/USD recovered to 1.1671 by LP exit. Divergence loss partially unwound from −$441 to −$520 (it actually worsened slightly in April as pool composition shifted). LP vs HODL improved: +$398 (Mar 31) → +$587 (Apr 9 exit).
- Balance shift mirrors EUR/USD: EURe 32,631 → 27,482; USDC.e 44,715 → 51,428 — pool became USDC.e-heavy as EUR weakened overall then rebounded.
3. Top 50 Trades by Size — with Slippage
Slippage = deviation of actual execution rate from price_scale (pool's internal oracle).
price_scale = EURe per USDC.e (~0.857). Positive = trader paid more (or received less EURe) than oracle. Negative = favorable execution (pool was imbalanced, rewarding the rebalancing trade).
sold_id=0 (EURe→USDC.e): slippage = (actual_EURe/USDC.e − price_scale) / price_scale × 10,000
sold_id=1 (USDC.e→EURe): slippage = (price_scale − actual_EURe/USDC.e) / price_scale × 10,000
Slippage stats — 2,460 active trades (Jan 22 – Apr 9; dust period Apr 10-19 excluded)
| Stat |
Value |
| Median slippage |
+7.96 bps |
| Mean slippage |
+12.80 bps |
| Min |
−107.57 bps (favorable; pool was imbalanced) |
| Max |
+154.02 bps (large price impact) |
| P5 |
−12.35 bps |
| P95 |
+52.36 bps |
Dust period (72 trades, Apr 10-19, $116 pool TVL): slippage ranges −607 to +900 bps — extreme due to near-empty pool. Excluded from the stats above.
Top 50 trades (by USD size)
| # |
Date (UTC) |
Direction |
USD Size |
Slippage (bps) |
Fee% |
Block |
| 1 |
2026-01-30 14:12 |
USDC.e→EURe |
$19,330.08 |
+70.88 |
0.294% |
44423816 |
| 2 |
2026-03-30 17:44 |
USDC.e→EURe |
$18,704.40 |
+62.72 |
0.293% |
45419780 |
| 3 |
2026-02-27 14:07 |
USDC.e→EURe |
$14,067.03 |
+63.66 |
0.292% |
44895314 |
| 4 |
2026-02-25 21:24 |
USDC.e→EURe |
$12,521.39 |
+66.82 |
0.292% |
44867026 |
| 5 |
2026-02-24 18:23 |
USDC.e→EURe |
$10,558.66 |
+47.95 |
0.283% |
44848028 |
| 6 |
2026-02-09 13:18 |
USDC.e→EURe |
$10,183.57 |
+70.66 |
0.291% |
44592419 |
| 7 |
2026-02-27 14:18 |
USDC.e→EURe |
$9,470.60 |
+82.81 |
0.292% |
44895444 |
| 8 |
2026-02-02 10:47 |
USDC.e→EURe |
$9,236.70 |
+65.40 |
0.289% |
44471824 |
| 9 |
2026-03-16 00:16 |
USDC.e→EURe |
$8,789.64 |
−13.92 |
0.012% |
45170243 |
| 10 |
2026-03-03 14:08 |
USDC.e→EURe |
$8,751.59 |
−13.83 |
0.040% |
44962600 |
| 11 |
2026-01-30 14:14 |
EURe→USDC.e |
$8,733.38 |
−26.60 |
0.256% |
44423840 |
| 12 |
2026-04-03 06:52 |
USDC.e→EURe |
$8,310.13 |
+45.76 |
0.277% |
45479875 |
| 13 |
2026-03-30 17:46 |
EURe→USDC.e |
$8,280.04 |
−20.43 |
0.012% |
45419811 |
| 14 |
2026-04-03 07:00 |
USDC.e→EURe |
$8,221.98 |
+47.59 |
0.279% |
45479962 |
| 15 |
2026-03-09 09:31 |
USDC.e→EURe |
$7,959.79 |
−15.13 |
0.013% |
45060279 |
| 16 |
2026-04-03 07:00 |
EURe→USDC.e |
$7,884.44 |
−19.18 |
0.012% |
45479962 |
| 17 |
2026-03-09 14:27 |
EURe→USDC.e |
$7,879.47 |
−16.82 |
0.014% |
45063627 |
| 18 |
2026-04-03 06:52 |
EURe→USDC.e |
$7,647.09 |
−18.30 |
0.011% |
45479875 |
| 19 |
2026-03-18 13:02 |
EURe→USDC.e |
$7,025.58 |
−14.48 |
0.014% |
45213048 |
| 20 |
2026-03-10 18:18 |
EURe→USDC.e |
$6,830.41 |
−11.89 |
0.012% |
45082648 |
| 21 |
2026-03-24 13:09 |
EURe→USDC.e |
$6,476.29 |
−13.63 |
0.012% |
45314750 |
| 22 |
2026-03-03 10:53 |
EURe→USDC.e |
$6,368.12 |
+92.50 |
0.295% |
44960334 |
| 23 |
2026-03-20 10:09 |
EURe→USDC.e |
$6,202.43 |
−7.99 |
0.036% |
45244792 |
| 24 |
2026-03-02 11:00 |
USDC.e→EURe |
$5,941.49 |
−9.43 |
0.012% |
44943761 |
| 25 |
2026-04-02 01:30 |
EURe→USDC.e |
$5,675.08 |
−10.97 |
0.011% |
45459156 |
| 26 |
2026-01-29 06:49 |
USDC.e→EURe |
$5,406.72 |
−7.54 |
0.010% |
44401868 |
| 27 |
2026-03-09 16:50 |
USDC.e→EURe |
$5,207.16 |
+53.33 |
0.278% |
45065253 |
| 28 |
2026-01-29 10:29 |
USDC.e→EURe |
$5,116.54 |
+48.38 |
0.273% |
44404419 |
| 29 |
2026-01-27 12:53 |
USDC.e→EURe |
$5,079.04 |
+70.32 |
0.287% |
44373447 |
| 30 |
2026-03-09 14:02 |
USDC.e→EURe |
$5,061.04 |
+52.77 |
0.277% |
45063344 |
| 31 |
2026-02-02 09:14 |
USDC.e→EURe |
$4,751.36 |
−6.95 |
0.010% |
44470738 |
| 32 |
2026-04-02 15:29 |
USDC.e→EURe |
$4,657.20 |
−6.57 |
0.010% |
45469012 |
| 33 |
2026-02-02 12:06 |
EURe→USDC.e |
$4,619.83 |
−3.22 |
0.155% |
44472736 |
| 34 |
2026-03-03 23:36 |
EURe→USDC.e |
$4,388.22 |
−6.72 |
0.014% |
44969195 |
| 35 |
2026-03-10 08:08 |
USDC.e→EURe |
$4,275.68 |
+78.19 |
0.290% |
45075693 |
| 36 |
2026-03-19 13:53 |
USDC.e→EURe |
$4,137.40 |
−6.33 |
0.014% |
45230541 |
| 37 |
2026-02-27 14:34 |
EURe→USDC.e |
$4,107.86 |
−9.26 |
0.023% |
44895628 |
| 38 |
2026-03-03 16:13 |
EURe→USDC.e |
$4,092.44 |
−9.59 |
0.014% |
44964055 |
| 39 |
2026-03-03 16:03 |
USDC.e→EURe |
$4,065.68 |
+32.88 |
0.229% |
44963941 |
| 40 |
2026-02-10 10:37 |
USDC.e→EURe |
$3,829.63 |
+114.65 |
0.293% |
44607436 |
| 41 |
2026-03-27 10:56 |
USDC.e→EURe |
$3,787.61 |
−0.95 |
0.031% |
45364095 |
| 42 |
2026-02-25 23:17 |
EURe→USDC.e |
$3,621.95 |
−2.62 |
0.121% |
44868322 |
| 43 |
2026-03-03 15:41 |
USDC.e→EURe |
$3,472.64 |
−6.76 |
0.010% |
44963684 |
| 44 |
2026-03-23 11:06 |
USDC.e→EURe |
$3,238.01 |
−5.58 |
0.010% |
45296314 |
| 45 |
2026-02-10 10:39 |
EURe→USDC.e |
$3,214.99 |
−51.65 |
0.292% |
44607464 |
| 46 |
2026-03-30 14:38 |
USDC.e→EURe |
$3,088.75 |
+18.53 |
0.153% |
45417587 |
| 47 |
2026-03-25 17:19 |
USDC.e→EURe |
$2,993.81 |
+3.30 |
0.049% |
45334701 |
| 48 |
2026-02-24 18:42 |
EURe→USDC.e |
$2,977.33 |
−6.33 |
0.010% |
44848260 |
| 49 |
2026-02-24 18:42 |
EURe→USDC.e |
$2,976.92 |
−1.76 |
0.195% |
44848260 |
| 50 |
2026-02-10 10:39 |
USDC.e→EURe |
$2,976.68 |
+154.02 |
0.293% |
44607455 |
Slippage stats on top-50: median −4.40 bps, mean +19.97 bps, min −51.65 bps, max +154.02 bps.
Two-tier fee pattern: Rows 1–8, 12, 14, 18, 22, 27–30, 35, 39–40, 46, 50 show fees 0.15–0.30% (near out_fee = 0.30%) — trades that started when the pool was significantly imbalanced, paying the high end of the dynamic fee regardless of size. Rows 9–11, 13, 15–17, 19–21, 23–26, 31–34, 36–38, 41–45, 47–49 show 0.010–0.015% (near mid_fee = 0.01%) — trades starting when the pool was near the oracle price. Note that trade size is not the determining factor: rows 9 ($8,789) and 10 ($8,751) are large trades paying near mid_fee because the pool was balanced at their start. Fee is set by pool imbalance state at trade start, not by trade size.
April trades (rows 12, 14, 16, 18, 25, 32): Six April trades entered the top 50. The Apr 3 cluster (rows 12, 14, 16, 18: $7.6K–$8.3K) shows paired buy/sell within the same block (block 45479875: $8,310 buy + $7,647 sell; block 45479962: $8,222 buy + $7,884 sell) — arbitrage round-trips. The Apr 2 trades (rows 25, 32: $4.7K–$5.7K) are directionally net EURe selling.
Negative slippage = favorable execution: Rows 9–11, 13, 15–17 etc. show negative slippage — these trades were pushing the pool back toward equilibrium, so the AMM rewarded them with better-than-oracle rates.
4. Pool Comparison: Gnosis vs Base
Gnosis figures are final (LP exited Apr 9). Base figures are through Mar 31, 2026.
| Metric |
Gnosis (EURe/USDC.e) |
Base (EURC/USDC) |
| Period |
77 days active (Jan 22 – Apr 9); LP exited Apr 9 |
140.6 days (Nov 10, 2025 – Mar 31, 2026) |
| Average TVL |
~$83,449 |
~$10,127 (pre-deposit avg) |
| Total active trades |
2,460 |
4,413 |
| Trades per day |
31.9 |
31.4 |
| Total volume (active period) |
$932,142 |
$136,279 |
| Volume per day |
$12,106 |
$969 |
| Median trade |
$135 |
$24 |
| Mean trade |
$368 |
$31 |
| Median slippage |
+7.96 bps |
+5.53 bps |
| Fee range |
0.01% – 0.30% |
0.05% – 0.10% |
| Gross fee APY |
+7.54% |
+2.00% |
| LP fee APY (25% of gross) |
+1.88% |
+0.50% |
| Refuel cost (paid by donor, not LP) |
~$337 total (≈ 110% of LP fees) |
~$43 total (≈ 217% of LP fees) |
| Divergence loss APY (pool-level) |
−3.20% |
−1.30% |
| LP vs HODL (realized at exit) |
+$587 (+3.62% APY) |
+$129 (+1.29%) at Mar 31 |
Key differences:
- Similar trade frequency, 5.6× larger trades, 12.5× more volume per day: Gnosis sees ~32 trades/day vs 31.4 on Base — nearly identical cadence — but median trade is $135 vs $24. This confirms a different user base — institutional/bridge EUR↔USD flows rather than retail swaps.
- Higher divergence loss on Gnosis (−3.20% vs −1.30% APY): Larger trades create more price impact. Gnosis's wider fee range (30× spread vs 2×) compensates with higher gross fee income (+7.54% vs +2.00%).
- Both pools required refuel subsidies substantially exceeding LP fee income: Gnosis received ~$337 in LP token donations (110% of LP fee income over 77 active days); Base received ~$43 (217% of LP fee income over 140.6 days). Refuel is LP token donations that top up the rebalancing budget — entirely separate from gas costs. Neither pool was self-funding at these TVL/volume levels, though Gnosis is closer to sustainability at $83K TVL vs Base's $10K.
- Gnosis LP outcome: realized +$587 vs HODL (+3.62% APY). The LP was fortunate that DAO never extracted fees before their exit, capturing an extra ~$306 windfall (DAO's 25% of gross fees). Even excluding that windfall, the LP's "standard" outcome would have been +$398 vs HODL (+2.53% APY) — still comfortably positive despite divergence loss.
- EUR/USD movement and pool timing: Gnosis saw a larger EUR move (peak 1.2043 → exit 1.1671, −3.1% from peak) but EUR/USD ended below start (+1.1870 → 1.1671 = −1.68%). The partial recovery from March trough (+1.1436) to exit (+1.1671) reduced cumulative divergence loss materially (from −$441 at Mar 31 to −$520 at exit, vs peak loss that would have occurred at EUR trough).
5. Who Is Trading — Buyer Address Analysis
The TokenExchange event records buyer = msg.sender at the pool. Across 2,532 trades from 16 unique buyer addresses, 15 are smart contracts and 1 is an EOA (3 tiny trades totalling $14). Like the Base pool, zero retail wallets interact with this pool directly — all trading flows through intermediary contracts.
Summary by operator cluster
| Group |
Addresses |
Trades |
% Trades |
Volume |
% Volume |
Status |
Cluster A (deployer 0x5E9ff, 91.96 xDAI) |
2 |
837 |
33.1% |
$488,071 |
52.3% |
Suspected (intermediate contract routing) |
Cluster C (deployer 0xdA74, 490 xDAI) |
4 |
512 |
20.2% |
$276,162 |
29.6% |
Confirmed arb bots (tx-receipt) |
Cluster B (deployer 0xaaBBcC, arb-like bytecode) |
2 |
507 |
20.0% |
$39,938 |
4.3% |
Suspected (intermediate contract routing) |
Cluster D (deployer 0xDd036) |
2 |
265 |
10.5% |
$40,214 |
4.3% |
Confirmed arb bots (tx-receipt) |
LiFi Protocol (0xc10ee, also on Base) |
1 |
187 |
7.4% |
$39,424 |
4.2% |
Identified — LiFiDiamond router |
| CoW Protocol (GPv2Settlement) |
1 |
184 |
7.3% |
$7,318 |
0.8% |
Identified |
| Curve Router Sidechain v1.1 |
1 |
35 |
1.4% |
$41,170 |
4.4% |
Identified |
| EOA / dust |
3 |
5 |
0.2% |
$55 |
~0% |
— |
6 arb bots confirmed (Clusters C + D, tx-receipt analysis). Four deployer-based clusters account for 82% of all trades and 90.5% of volume. Trading is highly concentrated: the top 2 clusters alone represent 1,349 trades (53.3%) and $764,233 (82.0%) of volume — significantly more concentrated than Base (top buyer 17.6%).
Deployer clusters
Cluster A — deployer 0x5E9ff1D1f2017Fc69b5e3aCCB0d47fc504093973 (EOA, 91.96 xDAI):
The dominant contract's 11,421-byte bytecode is identical in size to 0x183f91b34265958fb5fef5b5494c9d517d8adf95 on Base (3 trades, $692) — the same bytecode deployed on both chains, but overwhelmingly more active on Gnosis. Both are unverified. Avg trade size: $601 (Gnosis) vs $231 (Base). The operator holds 91.96 xDAI on Gnosis, consistent with a funded automated trading operation.
Tx-receipt test: both contracts route to a fixed intermediate contract 0x212be33e... (unverified, not an EOA) in every sampled transaction — 30/30 for 0x405df, 29/29 for 0xda06. This intermediate contract is likely their profit-routing layer. Same pattern as the Base bot 0xf4cd (which also routes profits via an intermediate contract before reaching an EOA). Cannot confirm by tx-receipt criterion alone; bytecode analysis would be needed.
Cluster C — deployer 0xdA74c47B560028Cc864e2C7C064E1B05e994D41C (EOA, 490 xDAI) — CONFIRMED ARB BOTS:
0x51d9365c60b2c63d5a77442ec7f54d0ba33995f5 — 322 trades, $183,549, 21,774b
0xdb69bea5ea01990eb454c0e36ea744b993f427f1 — 121 trades, $43,744, 21,775b
0x11d92a54c29f2699147193f9f6f04b8e2c5dff35 — 66 trades, $47,754, 21,770b
0xb4c4f37b5bc796694e049619dbfa0b707d547b33 — 3 trades, $1,115, 21,964b
All four share near-identical bytecode size (21,770–21,964 bytes) and were deployed by the same EOA. Tx-receipt test: all four send ERC-20 profits directly to the deployer EOA 0xdA74c47B560028Cc864e2C7C064E1B05e994D41C in every transaction (30/30, 29/29, 30/30, 2/2). The profit wallet IS the deployer — no intermediate contract. Confirmed arb bots. Avg trade size $540.
Cluster B — deployer 0xaaBBcC932C7141a016FA08B514Ec10Bd1Db89702 (EOA, ~3.25 xDAI):
The bytecode sizes are exact matches to confirmed arb bots on the Base pool: 0x4e48d4885871b4dd2ea91a2aed9390b8908fe525 (24,533b) and 0x31b761a1dc1404d291d05bae055b78f99a9243e9 (24,558b). The Gnosis versions likely share the same codebase, deployed by a different operator on Gnosis. Avg trade size: $79 — small, consistent with frequent low-margin arb.
Tx-receipt test: both route to a fixed intermediate contract 0xc87442b4... (unverified) in every sampled tx (30/30 each, only 2–3 unique recipients total). Same intermediate-contract profit-routing pattern as Cluster A. Cannot confirm by tx-receipt alone, but the bytecode match with confirmed Base arb bots makes this the strongest indirect evidence.
Cluster D — deployer 0xDd036474388108B3b1304Db2C88C951D6d95038C — CONFIRMED ARB BOTS:
Tx-receipt test: both route profits directly to the deployer EOA 0xDd036474388108B3b1304Db2C88C951D6d95038C in every sampled tx (30/30 and 5/5). Confirmed arb bots. The 4,830-byte 0x0bfc is the compact workhorse (261 trades, $154/trade avg).
Identified protocols
CoW Protocol (GPv2Settlement) — 0x9008d19f58aabd9ed0d60971565aa8510560ab41 — 184 trades, $7,318. The CoW Protocol batch settlement contract is the canonical DEX for Gnosis chain and is used heavily for genuine user-initiated swaps. Trades routed via CoW represent organic user demand. Small trade sizes ($40 average) confirm these are end-user orders.
Curve Router Sidechain v1.1 — 0x0dcded3545d565ba3b19e683431381007245d983 — 35 trades, $41,170. The official Curve sidechain router (CurveRouterSidechainTricryptoMetav1.1, verified). Avg trade $1,176 — large, user-initiated swaps via Curve's own routing UI or integrations.
LiFi Protocol — 0xc10ee9031f2a0b84766a86b55a8d90f357910fb4 — 187 trades, $39,424, 20,486b. This exact address appears as buyer #21 on the Base pool (54 trades, $538) with the same 20,486-byte bytecode. Tx-receipt test: every sampled tx forwards tokens to LiFiDiamond (verified, EIP-2535 bridge/aggregator) — 30/30 on Gnosis. This is a LiFi integration contract routing through the Curve pool as part of a cross-chain swap path, not an arb bot. Reclassified from "cross-chain unknown" to LiFi Protocol adapter.
Tx-receipt analysis summary
| Address |
Cluster |
Txs sampled |
Top recipient |
EOA? |
Count |
Verdict |
0x405df |
A |
30 |
0x212be33e… (contract) |
no |
30/30 |
Suspected — intermediate contract |
0xda06 |
A |
29 |
0x212be33e… (contract) |
no |
29/29 |
Suspected — intermediate contract |
0x2da3 |
B |
30 |
0xc87442b4… (contract) |
no |
30/30 |
Suspected — intermediate contract |
0x57080 |
B |
30 |
0xc87442b4… (contract) |
no |
30/30 |
Suspected — intermediate contract |
0x51d9 |
C |
30 |
0xda74c47b… (deployer EOA) |
YES |
30/30 |
CONFIRMED arb bot |
0xdb69 |
C |
29 |
0xda74c47b… (deployer EOA) |
YES |
29/29 |
CONFIRMED arb bot |
0x11d9 |
C |
30 |
0xda74c47b… (deployer EOA) |
YES |
30/30 |
CONFIRMED arb bot |
0xb4c4 |
C |
2 |
0xda74c47b… (deployer EOA) |
YES |
2/2 |
CONFIRMED arb bot |
0x0bfc |
D |
30 |
0xdd036474… (deployer EOA) |
YES |
30/30 |
CONFIRMED arb bot |
0x04edde |
D |
5 |
0xdd036474… (deployer EOA) |
YES |
5/5 |
CONFIRMED arb bot |
0xc10ee |
— |
30 |
0x1231deb6… (LiFiDiamond) |
no |
30/30 |
LiFi Protocol adapter |
Cluster C and D profit straight to their deployer EOA with no intermediary — the cleanest possible arb bot signal. Cluster A and B route through unverified intermediate contracts; the fixed-contract-recipient pattern is consistent with arb bots (profits go somewhere specific every time) but the EOA criterion is not met.
Natural vs automated flow
Natural flow = user-initiated via identified routing protocols:
- CoW Protocol: 184 trades, $7,318
- Curve Router: 35 trades, $41,170
- LiFi Protocol adapter: 187 trades, $39,424
- Total natural/routed: 406 trades, $87,912 (16.0% trades, 9.4% volume)
Confirmed arb bots (Clusters C + D): 777 trades, $316,376 (30.7% trades, 33.9% volume)
The remaining 1,344 trades ($527,995, 56.6% of volume) flow through Clusters A and B — strongly suspected automated but unconfirmed without bytecode analysis. If these are also arb bots (consistent with all structural evidence), total automated volume approaches ~90%.
Full address table
| # |
Address |
Trades |
Volume (USD) |
Code (bytes) |
Label |
| 1 |
0x405df6c87646b77e7fe6c77d928751352acacdbe |
807 |
$484,825 |
11,421 |
Cluster A (dominant buyer) |
| 2 |
0x51d9365c60b2c63d5a77442ec7f54d0ba33995f5 |
322 |
$183,549 |
21,774 |
Cluster C — confirmed arb bot (tx-receipt) |
| 3 |
0x2da3cef02d38d21020b859ed546aaf020f3cf5a8 |
287 |
$14,149 |
24,533 |
Cluster B (Base arb bot bytecode, suspected) |
| 4 |
0x0bfc1f2e61eb87bade278b1b299459db55cf2e9d |
261 |
$40,189 |
4,830 |
Cluster D — confirmed arb bot (tx-receipt) |
| 5 |
0x57080cd338d96153e34266875db236f0649d1971 |
220 |
$25,789 |
24,558 |
Cluster B (Base arb bot bytecode, suspected) |
| 6 |
0xc10ee9031f2a0b84766a86b55a8d90f357910fb4 |
187 |
$39,424 |
20,486 |
LiFi Protocol adapter (also on Base #21) |
| 7 |
0x9008d19f58aabd9ed0d60971565aa8510560ab41 |
184 |
$7,318 |
16,165 |
CoW Protocol GPv2Settlement |
| 8 |
0xdb69bea5ea01990eb454c0e36ea744b993f427f1 |
121 |
$43,744 |
21,775 |
Cluster C — confirmed arb bot (tx-receipt) |
| 9 |
0x11d92a54c29f2699147193f9f6f04b8e2c5dff35 |
66 |
$47,754 |
21,770 |
Cluster C — confirmed arb bot (tx-receipt) |
| 10 |
0x0dcded3545d565ba3b19e683431381007245d983 |
35 |
$41,170 |
13,572 |
Curve Router Sidechain v1.1 |
| 11 |
0xda06cd17667506a9512855da4d94680ff81f2681 |
30 |
$3,246 |
10,032 |
Cluster A |
| 12 |
0x04edde661a293d87e966010aa69608a8b41bc405 |
4 |
$25 |
15,807 |
Cluster D — confirmed arb bot (tx-receipt) |
| 13 |
0xb101b2b0aa02b7167d238b98dc1b0b0404a760e8 |
3 |
$14 |
0 |
EOA |
| 14 |
0xb4c4f37b5bc796694e049619dbfa0b707d547b33 |
3 |
$1,115 |
21,964 |
Cluster C — confirmed arb bot (tx-receipt) |
| 15 |
0xb403546ff5c9987c73116a0572513243b01eb350 |
1 |
$12 |
382 |
— |
| 16 |
0x762fd89ab561d269e4703639b3520ca0b9d1c5f4 |
1 |
$29 |
10,063 |
— |
6. Charts
Pool overview — trade size, TVL, balance, and trade/TVL ratio

Four-panel overview of the full Jan 22 – Apr 19 period at 6H resolution.
Top panel (trade size): The IQR band and median show a pronounced spike in late January / early February when the pool had lower TVL (~$35K phase 1). Large trades of $5K–$19K in this period created wide per-trade price impact. After the large LP deposit (Jan 28, TVL doubled to $83K), median trade size stabilised around $100–$200. The extreme right-side spike (April) corresponds to the dust period: the near-empty pool makes even $50 trades look enormous relative to pool depth.
Second panel (TVL): Two clean phases are visible. Phase 1 (Jan 22–27, ~$35K) and Phase 2 (Jan 28 – Apr 9, ~$83–84K, steady). The abrupt collapse on Apr 9 is the LP exit event. After that, pool TVL flatlines at $116 dust through Apr 19.
Third panel (pool balance): EURe's USD share oscillates around 50% throughout the active period, reflecting the pool's continuous rebalancing. The band widens in March as EUR/USD weakened, pushing the pool USDC.e-heavy. The pool never drifted far enough to exhaust one side — the twocrypto rebalancing mechanism kept it within a workable range even without a full price-scale round-trip.
Bottom panel (trade/TVL ratio): Mostly under 0.5% during the active period. The sharp vertical bars late in the chart are the dust-period trades where the ratio is meaningless (100% TVL for a $50 trade against $116 pool).
Slippage vs TVL

Each dot is a trade; dot size scales with √trade size. Two vertical TVL clusters are visible: the ~$35K phase-1 cluster (left) and the tight $83K phase-2 cluster (right, the dominant vertical band).
At full TVL ($83K), slippage for most trades falls within −20 to +100 bps, consistent with the pool's 0.01%–0.30% dynamic fee range. The handful of extreme negative outliers (down to −607 bps) are dust-period trades after the LP exit — not economically meaningful but visually striking. The asymmetry between directions is visible: USDC.e→EURe (orange, above zero) tends toward positive slippage (imbalancing trades paying the higher dynamic fee), while EURe→USDC.e (blue, mixed) shows both positive and negative depending on pool state.
Slippage strip — chronological

All 2,476 active trades in chronological order (dust period excluded); bubble size proportional to trade size.
The large circles (big trades) are concentrated in the early period (trades 1–500, January–early February), when $5K–$19K trades hit the pool's phase-1 TVL of $35K. After the LP deposit (trade ~400), circles shrink and slippage stabilises. The persistent upward bias (more positive than negative slippage) reflects that the majority of volume comes from imbalancing trades paying the out_fee end of the dynamic fee range. The visible band of occasional large negative dots represents favorable rebalancing trades that got rewarded with below-oracle rates.
Slippage by pool imbalance

Same strip coloured by EURe share of TVL at trade time (green = EURe-heavy pool ≥50%, red = USDC.e-heavy pool <50%). Direction: circles = buy EURe (USDC.e→EURe), triangles = sell EURe (EURe→USDC.e).
The colour pattern confirms the fee mechanism working correctly: when the pool is red (USDC.e-heavy), EURe buys (circles) get favorable slippage — the pool is rewarding the rebalancing direction. When the pool is green (EURe-heavy), EURe sells (triangles) get favorable treatment instead. The pool adjusts fees dynamically to incentivise trades that push it back toward balance, and this is visible directly in the slippage data.
Slippage vs trade size

Log-scale x-axis. The price-impact signature is clear: smaller trades cluster near zero slippage (minimal pool disturbance), while larger trades fan out to higher positive slippage as they move the pool further from oracle price. The dense cluster at $500–$5,000 with 10–80 bps positive slippage represents the bulk of the high-volume automated activity — Cluster A and C operators trading at sizes that hit the mid-to-out fee ramp. The two regression lines (by direction) converge at small sizes and diverge at large sizes, consistent with directional price impact being asymmetric when the pool is imbalanced.
The extreme negative outliers below −100 bps at small sizes are dust-period trades — very small trades against a near-empty pool where slippage calculation breaks down.
Rebalancing cost analysis

Top panel: price_scale (orange, per-trade) vs price_oracle EMA (blue, 6H snap). The two track closely throughout — the twocrypto rebalancing algorithm kept price_scale within a tight band of the oracle during the active period. The range ~0.830–0.873 EURe/USDC.e reflects the EUR/USD move from 1.200 to 1.147 and back.
Middle panel: Cumulative LP fees (green, 25% of gross) vs estimated rebalancing cost (red, CPAMM lower bound). LP fees grew steadily to ~$306 over 77 days. Rebalancing cost is near-zero — Gnosis gas is essentially free, so the rebalancing budget consumed by price_scale updates is a non-issue. The net (black line) tracks LP fees closely.
Bottom panel: Daily LP fees and daily rebalancing cost with virtual_price (purple). Fee income is lumpy — driven by the few large trades each day. Virtual price grew monotonically from 1.000 to ~1.010, confirming that the pool never lost value in LP token terms.
xcp_profit and rebalancing budget

Top panel: xcp_profit (orange, fee high-watermark) rises above virtual_price (blue, actual LP value). The gap between them represents accumulated admin fees not yet extracted. Since xcp_profit_a = 1.0 throughout (DAO never claimed), the full gap widened from 0 to ~+0.6% by Apr 9. The rebalancing floor (xcp_profit/2 + 0.5, pink) stayed above virtual_price throughout — meaning price_scale updates were always permitted.
Bottom panel: Available rebalancing budget in USD ((xcp_profit − floor) × TVL). The budget peaked around $200–$220 in February when the large refuel donations had just been consumed but xcp_profit growth was brisk. It declined through March as rebalancing consumed the buffer faster than new fees replenished it, then partially recovered in late March as fee income picked up. The budget never went negative — the pool always had permission to rebalance — but it was tight from late February onward after the donation supply was exhausted.