← Dashboard
Ethereum Mainnet Chain ID: 1
PMA Case #—

BT.Finance

Curve sETH/ETH 및 a3CRV 풀 가격 조작 — 2 Tx, 7 사이클, 3개 Vault 공격, 공격자 순이익 ~$8.93M
Oracle Manipulation Flash Loan (dYdX) Multi-Tx (2 Tx) Yearn Fork

1. 프로토콜 의존성 구조도

공격자(EOA: 0x358A...)는 동일 공격 컨트랙트(0x54b5...)를 통해 2건의 트랜잭션을 161초 간격으로 실행했다. Phase 1에서는 Curve sETH/ETH 풀을 교란하여 bETH Vault에서 3,799 WETH(~$6.1M)를 추출하고, Phase 2에서는 Compound에서 차입한 75M 스테이블코인으로 Curve a3CRV 풀을 교란하여 iVault(USDC)와 bVault(USDT)에서 ~$2.7M을 추출했다.
Attacker 0x54b5...CBCB dYdX Flash Loan Compound Borrow USDC/USDT Curve sETH/ETH eCRV Pool BT.Finance bETH StrategyETHCurve Curve a3CRV aDAI/aUSDC/aUSDT iVault (USDC) StrategyUSDCCurve bVault (USDT) StrategyUSDTCurve Spot Price Oracle (AMM 내부 가격) ⚠ 외부 오라클 미사용 — Vault가 풀 스팟 가격에 직접 의존 PHASE 1: sETH/ETH 100K WETH WETH 편중 투입 earn() 조작 가격 참조 PHASE 2: a3CRV cETH 담보 75M Stables earn() earn()

2. 종합 대시보드

2-1. 트랜잭션 정보

Block (Tx1 → Tx2)11817852 → 11817866
Date / Time2021-02-08 20:11~20:13 UTC
Flash Loan SourcedYdX SoloMargin × 2
Flash Loan Amount100,000 WETH / tx
Total Vault Loss~$8,827,533
Attacker Profit+$8,932,815
ETH Price$1,607.86
Risk Score100 / 100 (Critical)
EOA Age at Attack59초 (4 blocks)
LP OperationsTx1: 30 (15+15) · Tx2: 15 (7+8)

2-2. 공격 Phase 별 실행 흐름

Phase 1 — Tx1: bETH Vault (Curve sETH/ETH)
Step 1
dYdX Flash Loan: 100,000 WETH
dYdX SoloMargin에서 100,000 WETH를 플래시론으로 차입한다.
Step 2 (×5)
Curve sETH/ETH 풀 비율 교란
57,660 WETH를 풀에 단면 투입(AddLiquidity)하여 eCRV를 수령한 뒤, 즉시 eCRV를 소각하여 sETH만 단면 인출(RemoveLiquidityOne)한다. 이 과정에서 풀에 ~22,366 WETH가 초과 잔류하며, sETH/ETH 비율이 왜곡된다.
57,660 WETH 투입 → 35,294 sETH 인출
Step 3 (×5)
bETH Vault deposit + earn() 트리거
공격자가 4,340 WETH를 bETH Vault에 예치하면, Vault의 earn() 메커니즘이 ~4,128 WETH를 StrategyETHCurve를 통해 왜곡된 sETH/ETH 풀에 투입한다. WETH 과잉 상태에서 불리한 환율로 eCRV LP를 수령하고 게이지에 스테이킹한다.
Vault: 4,128 WETH → 3,216 eCRV (불리한 환율)
Step 4 (×5)
sETH를 풀에 재투입 → 비율 복원 & Vault 출금
인출한 sETH를 풀에 다시 투입하여 비율을 복원한다. 복원된 상태에서 공격자의 eCRV 포지션(57,806 eCRV)을 WETH로 단면 인출하면 58,470 WETH를 수령한다. 동시에 bETH 지분을 소각하여 Vault에서 출금하면, 불리하게 형성된 eCRV 지분으로 인해 원금보다 적은 ~3,426 WETH만 회수된다.
Vault 손실: 4,128 − 3,426 = 702 WETH/cycle
Step 5
Flash Loan 상환 & Phase 1 완료
100,000 WETH + 2 wei를 dYdX에 상환한다. 5사이클 반복으로 bETH Vault에서 총 3,799.87 WETH(~$6,109,668)의 손실이 발생했다.
bETH Vault 총 손실: 3,799.87 WETH (~$6.11M)
Phase 2 — Tx2: iVault(USDC) + bVault(USDT) (Curve a3CRV)
Step 1
dYdX Flash Loan + Compound 레버리지
dYdX에서 100,000 WETH를 차입한 뒤, Compound에 100,134 WETH를 cETH로 예치하고 50M USDC + 25M USDT를 차입한다. 이로써 총 75M 달러 상당의 스테이블코인을 확보한다.
100K WETH → cETH 담보 → 75M Stables 차입
Step 2 (×2)
Curve a3CRV 풀 비율 교란
19M USDC + 19M USDT를 a3CRV 풀에 투입한 뒤, 37.2M a3CRV를 소각하여 ~29.8M aDAI만 단면 인출한다. 풀에서 DAI가 대량 유출되어 USDC/USDT 대비 DAI의 상대 가격이 왜곡된다.
38M Stables 투입 → 29.8M aDAI 단면 인출
Step 3 (×2)
iVault(USDC) + bVault(USDT) deposit + earn()
7.8M USDC를 iVault에, 4.2M USDT를 bVault에 예치한다. 각 Vault의 earn() 메커니즘이 StrategyUSDCCurve/StrategyUSDTCurve를 통해 왜곡된 a3CRV 풀에 불리한 환율로 예치한다.
iVault: 7.42M USDC → 6.27M a3CRV | bVault: 3.99M USDT → 3.42M a3CRV
Step 4 (×2)
aDAI 재투입 → 풀 복원 & Vault 출금
인출한 aDAI를 풀에 다시 투입하여 비율을 복원한다. iVault/bVault에서 출금하면 불리한 a3CRV 포지션으로 인해 원금보다 적은 금액이 회수된다. iVault shares와 bVault shares를 각각 별도 EOA로 전송한 뒤 소각하여 출금한다.
Step 5
잔여 a3CRV 인출 → Compound 상환 → dYdX 상환
잔여 a3CRV를 RemoveLiquidityImbalance로 20.85M USDC + 19.89M USDT를 인출하고, 추가로 188,657 DAI를 인출한다. Compound에 50M USDC + 25M USDT를 상환하고, cETH를 redeem하여 100,134 WETH를 회수한 뒤 dYdX에 상환한다.
Stablecoin Vault 총 손실: ~$2,717,865

2-3. 관련 엔티티 & PnL

ATTACKER
공격자 EOA
EOA 생성 59초 전 (4 blocks) · 17개 CA 배포
+$8,932,815
Tx1: +$6,005,011 · Tx2: +$2,927,804
VICTIM
bETH Vault
StrategyETHCurve → Curve sETH/ETH
−3,799.87 WETH (~$6.11M)
VICTIM
iVault (USDC)
StrategyUSDCCurve → Curve a3CRV
−$1,834,186
VICTIM
bVault (USDT)
StrategyUSDTCurve → Curve a3CRV
−$883,679
FLASH LOAN
dYdX SoloMargin
100,000 WETH × 2 tx
손실 없음 (정산 완료)
INTERMEDIARY
Curve Finance
sETH/ETH Pool + a3CRV Pool
풀 비율 변동 (일시적)
LEVERAGE
Compound (Phase 2)
50M USDC + 25M USDT 차입
손실 없음 (원금 회수)

2-5. Key Events — Phase 1: bETH Vault (전체 5 사이클)

#EventFromToAmountDeviation
11LogWithdraw (Flash Borrow)dYdXAttacker100,000 WETH
Cycle 1 — Sub-CA: 0x9381...
16AddLiquidity (WETH only)Attacker (0x9381)sETH/ETH Pool57,660 WETH → 57,028.907 eCRVWETH 편중
1.0111 WETH/eCRV
19RemoveLiquidityOne (sETH)sETH/ETH PoolAttacker (0x9381)57,028.907 eCRV → 35,294.233 sETHsETH 단면 인출
풀에 WETH 과잉 잔류
26AddLiquidity (earn)BT.Finance StrategysETH/ETH Pool4,127.846 WETH → 3,216.322 eCRV1.2834 WETH/eCRV
+28.3% 불리한 환율
31Deposit (Gauge)BT.Finance StrategyeCRV Gauge3,216.322 eCRV
35AddLiquidity (sETH restore)Attacker (0x9381)sETH/ETH Pool35,294.233 sETH풀 비율 복원
37RemoveLiquidityOne (WETH)sETH/ETH PoolAttacker (0x9381)57,805.602 eCRV → 58,469.693 WETH+809.7 WETH
복원 후 차익
42Withdraw (Gauge)eCRV GaugeBT.Finance Strategy3,394.102 eCRV
45RemoveLiquidityOne (Vault)sETH/ETH PoolBT.Finance bETH3,394.102 eCRV → 3,425.875 WETH정상 환율
Cycle 1 Lossearn 4,127.846 − withdraw 3,425.875701.971 WETH$1,128,673
Cycle 2 — Sub-CA: 0x2a98...
53AddLiquidity (WETH only)Attacker (0x2a98)sETH/ETH Pool57,660 WETH → 57,009.652 eCRVWETH 편중
1.0114 WETH/eCRV
56RemoveLiquidityOne (sETH)sETH/ETH PoolAttacker (0x2a98)57,009.652 eCRV → 35,288.777 sETHsETH 단면 인출
풀에 WETH 과잉 잔류
63AddLiquidity (earn)BT.Finance StrategysETH/ETH Pool4,145.952 WETH → 3,228.614 eCRV1.2841 WETH/eCRV
+28.4% 불리한 환율
68Deposit (Gauge)BT.Finance StrategyeCRV Gauge3,228.614 eCRV
72AddLiquidity (sETH restore)Attacker (0x2a98)sETH/ETH Pool35,288.777 sETH풀 비율 복원
74RemoveLiquidityOne (WETH)sETH/ETH PoolAttacker (0x2a98)57,790.480 eCRV → 58,474.235 WETH+814.2 WETH
복원 후 차익
79Withdraw (Gauge)eCRV GaugeBT.Finance Strategy3,367.622 eCRV
82RemoveLiquidityOne (Vault)sETH/ETH PoolBT.Finance bETH3,367.622 eCRV → 3,400.301 WETH정상 환율
Cycle 2 Lossearn 4,145.952 − withdraw 3,400.301745.651 WETH$1,198,905
Cycle 3 — Sub-CA: 0x4679...
90AddLiquidity (WETH only)Attacker (0x4679)sETH/ETH Pool57,660 WETH → 56,990.222 eCRVWETH 편중
1.0118 WETH/eCRV
93RemoveLiquidityOne (sETH)sETH/ETH PoolAttacker (0x4679)56,990.222 eCRV → 35,282.771 sETHsETH 단면 인출
풀에 WETH 과잉 잔류
100AddLiquidity (earn)BT.Finance StrategysETH/ETH Pool4,145.765 WETH → 3,226.823 eCRV1.2848 WETH/eCRV
+28.5% 불리한 환율
105Deposit (Gauge)BT.Finance StrategyeCRV Gauge3,226.823 eCRV
109AddLiquidity (sETH restore)Attacker (0x4679)sETH/ETH Pool35,282.771 sETH풀 비율 복원
111RemoveLiquidityOne (WETH)sETH/ETH PoolAttacker (0x4679)57,771.226 eCRV → 58,474.707 WETH+814.7 WETH
복원 후 차익
116Withdraw (Gauge)eCRV GaugeBT.Finance Strategy3,345.921 eCRV
119RemoveLiquidityOne (Vault)sETH/ETH PoolBT.Finance bETH3,345.921 eCRV → 3,379.544 WETH정상 환율
Cycle 3 Lossearn 4,145.765 − withdraw 3,379.544766.221 WETH$1,231,978
Cycle 4 — Sub-CA: 0xf67c...
127AddLiquidity (WETH only)Attacker (0xf67c)sETH/ETH Pool57,660 WETH → 56,970.697 eCRVWETH 편중
1.0121 WETH/eCRV
130RemoveLiquidityOne (sETH)sETH/ETH PoolAttacker (0xf67c)56,970.697 eCRV → 35,276.483 sETHsETH 단면 인출
풀에 WETH 과잉 잔류
137AddLiquidity (earn)BT.Finance StrategysETH/ETH Pool4,145.616 WETH → 3,225.135 eCRV1.2854 WETH/eCRV
+28.5% 불리한 환율
142Deposit (Gauge)BT.Finance StrategyeCRV Gauge3,225.135 eCRV
146AddLiquidity (sETH restore)Attacker (0xf67c)sETH/ETH Pool35,276.483 sETH풀 비율 복원
148RemoveLiquidityOne (WETH)sETH/ETH PoolAttacker (0xf67c)57,751.816 eCRV → 58,475.115 WETH+815.1 WETH
복원 후 차익
153Withdraw (Gauge)eCRV GaugeBT.Finance Strategy3,326.260 eCRV
156RemoveLiquidityOne (Vault)sETH/ETH PoolBT.Finance bETH3,326.260 eCRV → 3,360.838 WETH정상 환율
Cycle 4 Lossearn 4,145.616 − withdraw 3,360.838784.778 WETH$1,261,815
Cycle 5 — Sub-CA: 0x0224...
164AddLiquidity (WETH only)Attacker (0x0224)sETH/ETH Pool57,660 WETH → 56,951.090 eCRVWETH 편중
1.0124 WETH/eCRV
167RemoveLiquidityOne (sETH)sETH/ETH PoolAttacker (0x0224)56,951.090 eCRV → 35,269.941 sETHsETH 단면 인출
풀에 WETH 과잉 잔류
174AddLiquidity (earn)BT.Finance StrategysETH/ETH Pool4,145.485 WETH → 3,223.527 eCRV1.2860 WETH/eCRV
+28.6% 불리한 환율
179Deposit (Gauge)BT.Finance StrategyeCRV Gauge3,223.527 eCRV
183AddLiquidity (sETH restore)Attacker (0x0224)sETH/ETH Pool35,269.941 sETH풀 비율 복원
185RemoveLiquidityOne (WETH)sETH/ETH PoolAttacker (0x0224)57,732.265 eCRV → 58,475.462 WETH+815.5 WETH
복원 후 차익
190Withdraw (Gauge)eCRV GaugeBT.Finance Strategy3,308.690 eCRV
193RemoveLiquidityOne (Vault)sETH/ETH PoolBT.Finance bETH3,308.690 eCRV → 3,344.238 WETH정상 환율
Cycle 5 Lossearn 4,145.485 − withdraw 3,344.238801.247 WETH$1,288,295
202LogDeposit (Flash Repay)AttackerdYdX100,000 WETH + 2 wei
Phase 1 Total Loss5 cycles × bETH Vault3,799.868 WETH$6,109,667

Key Events — Phase 2: iVault(USDC) + bVault(USDT) (전체 2 사이클)

#EventFromToAmountDeviation
9LogWithdraw (Flash Borrow)dYdXAttacker100,000 WETH
13Mint (cETH)AttackerCompound100,134.20 WETH
18BorrowCompoundAttacker50,000,000 USDC
22BorrowCompoundAttacker25,000,000 USDT
Cycle 1 — Pool Distortion + Vault Deposit
48AddLiquidity (USDC+USDT)Attacker (0x0b83)a3CRV Pool19M USDC + 19M USDT → 37,175,046 a3CRV
53RemoveLiquidityOne (aDAI)a3CRV PoolAttacker (0x0b83)37,175,046 a3CRV → 29,843,598 aDAIDAI 대량 유출
풀 비율 교란
65Deposit (Aave via Curve)BT.Finance StrategyAave7,418,197 USDC
67AddLiquidity (iVault earn)StrategyUSDCCurvea3CRV Pool7,418,197 aUSDC → 6,269,074 a3CRV0.845 a3CRV/USDC
불리한 환율 (정상 ~1.0)
72Deposit (Gauge)StrategyUSDCCurvea3CRV Gauge6,269,074 a3CRV
85Deposit (Aave via Curve)BT.Finance StrategyAave3,992,951 USDT
87AddLiquidity (bVault earn)StrategyUSDTCurvea3CRV Pool3,992,951 aUSDT → 3,424,762 a3CRV0.858 a3CRV/USDT
불리한 환율
92Deposit (Gauge)StrategyUSDTCurvea3CRV Gauge3,424,762 a3CRV
99AddLiquidity (aDAI restore)Attacker (0x0b83)a3CRV Pool29,843,598 aDAI → 38,494,228 a3CRV풀 비율 복원
104Withdraw (Gauge)a3CRV GaugeStrategyUSDCCurve6,413,788 a3CRV
112RemoveLiquidityOne (USDC)a3CRV PoolStrategyUSDCCurve6,413,788 a3CRV → 6,564,509 USDC1.024 USDC/a3CRV
정상 환율 (복원 후)
121Withdraw (Gauge)a3CRV GaugeStrategyUSDTCurve3,499,893 a3CRV
129RemoveLiquidityOne (USDT)a3CRV PoolStrategyUSDTCurve3,499,893 a3CRV → 3,580,742 USDT1.023 USDT/a3CRV
정상 환율
Cycle 1 iVault Lossdeposit 7.8M − withdraw 6,946,345$853,655USDC
Cycle 1 bVault Lossdeposit 4.2M − withdraw 3,787,711$412,289USDT
Cycle 2 — Pool Re-Distortion + Vault Deposit (심화)
138RemoveLiquidityOne (aDAI)a3CRV PoolAttacker (0x0b83)38,494,228 a3CRV → 29,887,667 aDAIDAI 재유출
2차 풀 교란
150Deposit (Aave via Curve)BT.Finance StrategyAave7,418,164 USDC
152AddLiquidity (iVault earn)StrategyUSDCCurvea3CRV Pool7,418,164 aUSDC → 6,133,220 a3CRV0.827 a3CRV/USDC
C1보다 악화
157Deposit (Gauge)StrategyUSDCCurvea3CRV Gauge6,133,220 a3CRV
170Deposit (Aave via Curve)BT.Finance StrategyAave3,993,030 USDT
172AddLiquidity (bVault earn)StrategyUSDTCurvea3CRV Pool3,993,030 aUSDT → 3,360,324 a3CRV0.842 a3CRV/USDT
C1보다 악화
177Deposit (Gauge)StrategyUSDTCurvea3CRV Gauge3,360,324 a3CRV
184AddLiquidity (aDAI restore)Attacker (0x0b83)a3CRV Pool29,887,667 aDAI → 39,964,607 a3CRV풀 비율 복원
189Withdraw (Gauge)a3CRV GaugeStrategyUSDCCurve6,282,456 a3CRV
197RemoveLiquidityOne (USDC)a3CRV PoolStrategyUSDCCurve6,282,456 a3CRV → 6,437,743 USDC1.025 USDC/a3CRV
206Withdraw (Gauge)a3CRV GaugeStrategyUSDTCurve3,438,130 a3CRV
214RemoveLiquidityOne (USDT)a3CRV PoolStrategyUSDTCurve3,438,130 a3CRV → 3,521,603 USDT1.024 USDT/a3CRV
Cycle 2 iVault Lossdeposit 7.8M − withdraw 6,819,469$980,531USDC
Cycle 2 bVault Lossdeposit 4.2M − withdraw 3,728,610$471,390USDT
Final — Pool Extraction + Loan Repay
230RemoveLiquidityImbalancea3CRV PoolAttacker (0x0b83)20,847,952 USDC + 19,891,195 USDT
239RemoveLiquidityOne (DAI)a3CRV PoolAttacker (0x0b83)184,534 a3CRV → 188,657 DAI1.022 DAI/a3CRV
246RepayBorrowAttackerCompound50,000,000 USDC
249RepayBorrowAttackerCompound25,000,000 USDT
253Redeem (cETH)CompoundAttacker100,134.20 WETH
258LogDeposit (Flash Repay)AttackerdYdX100,000 WETH + 2 wei
Phase 2 Total Loss2 cycles × (iVault + bVault)$2,717,865USDC+USDT
Phase 2 Attacker Profit시맨틱 분석 기준+$2,927,804Net

2-6. 유사 공격 비교

DateProtocolAttack VectorLoss
2020-10-26Harvest FinanceCurve y Pool 조작$33.8M
2021-02-04Yearn Finance yDAICurve 3pool 조작 + earn()$11.1M
2021-02-08★ BT.FinanceCurve sETH/ETH + a3CRV 조작~$8.93M
2021-02-09Growth DeFiFake LP 토큰 주입$1.3M

2-7. 근본 원인 & 교훈

취약점

AMM 스팟 가격 의존 — 모든 Vault Strategy가 Curve 풀의 실시간 교환비를 가격 기준으로 사용
earn() 무제한 외부 호출 — Vault deposit 시 자동 트리거되어 공격 타이밍 제어 가능
다중 Vault 동일 패턴 — ETH, USDC, USDT 3개 Vault가 모두 동일한 Curve 기반 전략을 사용하여 일괄 공격 가능
Yearn 포크 미패치 — Yearn yDAI 공격(2/4) 발생 4일 후에도 동일 취약점 미패치

방어 권장사항

Chainlink TWAP 오라클 도입 — Curve 스팟 가격이 아닌 외부 분산형 오라클 사용
슬리피지 가드 강화 — 대규모 예치/출금 시 환율 편차 0.3~0.5% 이내로 제한
earn() 접근 제어 — Keeper 전용 또는 시간 기반 쿨다운 적용
포크 프로토콜 즉시 보안 대응 — 원본 취약점 공개 시 긴급 패치 필수

2-8. 공격 당시 토큰 가격

WETH
$1,607.86
sETH
$1,632.03
+1.5% premium
USDC
$1.00
USDT
$1.00
DAI
$1.00
eCRV (LP)
$1,624.21
sETH/ETH Pool LP
a3CRV (LP)
$0.8028
aDAI/aUSDC/aUSDT Pool LP
💡 가격 조작 핵심: 공격자는 Curve 풀에 대량의 단일 자산을 투입(AddLiquidity)한 뒤, LP를 소각하여 반대편 자산만 인출(RemoveLiquidityOne)한다. 이 과정에서 투입된 자산이 풀에 과잉 잔류하여 가격 비율이 왜곡된다. BT.Finance Vault의 earn()이 이 왜곡 상태에서 실행되면, Vault 자금이 불리한 교환비로 LP에 투입된다. 공격자가 풀을 복원하면 Vault의 LP 지분만 손실을 입고, 그 차액이 공격자의 별도 LP 포지션에 귀속된다.

2-9. 시맨틱 분석 — 패턴 매칭 & 위험 지표

Custom Price Model
75% match
get_virtual_price (Curve), getUnderlyingPrice, getAssetPrice
LP Token Manipulation
HIGH (95%)
Tx1: 30 ops · Tx2: 15 ops — Curve pool ratio distortion
Flash Loan Oracle
40% match
dYdX flash loan + custom price model
Precision Exploit
50% match
Repeated small operations, dust transfers detected
공격자 EOA 프로파일
EOA 생성 → 첫 공격: 59초 (4 blocks)
배포 CA: Tx1에 11개, Tx2에 6개 = 17개
사이클별 별도 서브컨트랙트 사용 (추적 회피)
유사 사례 패턴
Cheese Bank (Nov 2020) — Custom price model
Harvest Finance (Oct 2020) — Curve pool ratio
Yearn V1 yDAI (Feb 2021) — earn() trigger

3. Vault 손실 상세 (온체인 검증)

Phase 1: bETH Vault — 사이클별 손실

CycleWETH In (earn)WETH Out (withdraw)Loss (WETH)Loss (USD)
14,127.853,425.87701.97$1,128,674
24,145.953,400.30745.65$1,198,904
34,145.763,379.54766.22$1,231,979
44,145.623,360.84784.78$1,261,815
54,145.483,344.24801.25$1,288,295
합계20,710.6616,910.793,799.87$6,109,668

Phase 2: iVault(USDC) + bVault(USDT) — 사이클별 손실

CycleVaultDepositWithdrawLoss
1iVault (USDC)7,800,0006,946,345$853,655
1bVault (USDT)4,200,0003,787,711$412,289
2iVault (USDC)7,800,0006,819,469$980,531
2bVault (USDT)4,200,0003,728,610$471,390
합계24,000,00021,282,135$2,717,865
총 Vault 손실 합산
bETH Vault
$6,109,668
iVault (USDC)
$1,834,186
bVault (USDT)
$883,679
TOTAL
$8,827,533
※ 기존 보도 $1.5M은 초기 추정치로, 실제 공격자 순이익은 시맨틱 분석 기준 Tx1 $6,005,011 + Tx2 $2,927,804 = $8,932,815이다. Vault 총 손실($8,827,533)과의 차액 ~$105K는 Gnosis Safe 관리 수수료($28,753) 및 Curve 풀 arbitrage 잔여 수익에 해당한다.

4. ETH Balance Waterfall (Phase 1 — 사이클 1)

Flash Loan 유입 유출 (풀 투입/Vault 예치) 유입 (sETH 인출/풀 회수) Net Position