Report of EURe/USDC.e FXswap Curve Pool on gnosis

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:

  1. 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.
  2. 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%).
  3. 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.
  4. 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.
  5. 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:

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 0xDd036474388108B3b1304Db2C88C951D6d95038CCONFIRMED 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.10x0dcded3545d565ba3b19e683431381007245d983 — 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 Protocol0xc10ee9031f2a0b84766a86b55a8d90f357910fb4 — 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.

Leave a Reply

Your email address will not be published. Required fields are marked *