Lido stETH를 공식 사이트 없이 출금하는 절차
계약 주소와 필수 확인 사항을 먼저 읽고 순서대로 확인합니다.
핵심 · 총 5단계입니다. 실행 전 주소·단위 확인을 마치세요.
stETH는 출금 큐에 넣고 며칠 기다려 ETH로 받습니다. 급하면 Curve에서 즉시 바꿀 수도 있지만 할인(손해)이 생길 수 있습니다. 두 길을 모두 적었습니다.
01
먼저 읽어 주세요
쓰기 함수를 부르기 전에 꼭 지켜야 하는 주의입니다.
이 페이지는 설명서일 뿐입니다. Pagu.info는 지갑을 연결하지 않고, 서명이나 거래를 만들지도 않습니다. 아래 절차는 사용자가 Etherscan에서 직접 수행합니다.
- 주소를 눈으로 믿지 마세요. 각 주소 옆에 "읽기 전용으로 확인하는 방법"을 적어 뒀습니다. 먼저 그 확인을 통과한 뒤에 쓰기 함수를 부르세요. 비슷한 주소로 만든 가짜 컨트랙트가 있습니다.
- 서두르지 마세요. 프론트엔드가 멈춰도 자금은 컨트랙트에 그대로 있습니다. 프론트는 창구일 뿐입니다. 먼저 공식 트위터·디스코드에서 알려진 사고인지 확인하는 편이 거의 항상 낫습니다.
- 이 문서는 투자 조언이 아니고, 결과를 보장하지 않습니다. 금액과 단위를 잘못 넣어 생긴 손실은 되돌릴 수 없습니다.
02
컨트랙트 주소
쓰기 전에 "확인 방법"의 읽기 함수를 먼저 불러 보세요.
4곳
컨트랙트 주소
Ethereum
네트워크
5단계
빼는 절차
| 이름 | 체인 | 주소 | 확인 방법 |
|---|---|---|---|
| 출금 큐 (unstETH) | Ethereum | 0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1 |
symbol() → unstETH, STETH() → 아래 stETH 주소. 둘 다 확인했다. 프록시다. |
| stETH | Ethereum | 0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84 |
symbol() → stETH. 소수점 18자리. |
| wstETH | Ethereum | 0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0 |
symbol() → wstETH, stETH() → 위 stETH 주소. 확인했다. |
| Curve stETH 풀 (대안) | Ethereum | 0xDC24316b9AE028F1497c275EB9192a3Ea0f67022 |
coins(0) → 0xEeee…EEeE(네이티브 ETH 표시), coins(1) → 위 stETH 주소. 확인했다. |
03
빼는 절차
번호 순서대로 진행합니다.
한눈에 보는 순서
1wstETH를 들고 있으면 먼저 stETH로 바꾼다
출금 큐는 stETH만 받습니다. wstETH를 들고 있으면 wstETH 컨트랙트의
unwrap(uint256 _wstETHAmount)를 먼저 부릅니다.
얼마가 될지는 getStETHByWstETH(수량)을 Read로 먼저 보면 됩니다. 확인 시점에
wstETH 1개가 stETH 약 1.2462개였습니다(이 비율은 계속 올라갑니다).
2stETH를 출금 큐에 approve 한다
stETH 컨트랙트 → Write → approve
_spender— 출금 큐 주소0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1_amount— 맡길 stETH 수량(18자리). 1 stETH →1000000000000000000
approve가 필요한 이유
Aave와 달리 이 단계가 꼭 필요합니다. 큐가 내 stETH를 가져가야 하기 때문입니다.
3출금을 요청한다
출금 큐 → Write as Proxy → requestWithdrawals(uint256[] _amounts, address _owner)
_amounts— 배열입니다. Etherscan 입력칸에[1000000000000000000]처럼 대괄호로 넣습니다. 여러 건으로 쪼갤 때는[1000000000000000000,2000000000000000000]._owner— 나중에 ETH를 받을 주소. 보통 내 지갑 주소입니다.
한 건의 한도를 컨트랙트에서 직접 확인했습니다. 최소 100 wei,
최대 1000000000000000000000(= 1,000 stETH)입니다.
1,000 stETH보다 많으면 배열을 여러 개로 쪼개야 합니다.
값은 MIN_STETH_WITHDRAWAL_AMOUNT()·MAX_STETH_WITHDRAWAL_AMOUNT()로 다시 볼 수 있습니다.
성공하면 요청 하나가 NFT로 내 지갑에 생깁니다. 이 NFT가 "ETH를 받을 권리"입니다. 팔거나 보내지 마세요.
4며칠 뒤 받아온다
대기 시간은 네트워크 상황에 따라 다릅니다(보통 며칠, 혼잡하면 더 깁니다). 기다린 뒤:
- Read as Proxy →
getWithdrawalRequests(내 주소)→ 내 요청 ID 목록 - Write as Proxy →
claimWithdrawal(uint256 _requestId)→ ETH 수령
너무 일찍 claim 하면
준비되지 않은 요청을 claim 하면 되돌려집니다(실패). 가스만 조금 쓰고 손실은 없습니다.
5급하면: Curve에서 즉시 바꾼다 (대안)
기다릴 수 없으면 Curve의 ETH/stETH 풀에서 바로 스왑할 수 있습니다. 위 표의 Curve 풀 주소를 쓰고
exchange(int128 i, int128 j, uint256 dx, uint256 min_dy)를 부릅니다
(i=1 stETH → j=0 ETH). 미리 stETH를 그 풀에 approve 해야 합니다.
대가가 있습니다. 큐가 막힌 상황에서는 stETH가 ETH보다 싸게 거래되는 일이 많습니다.
min_dy를 0으로 두면 아주 불리한 가격에 체결될 수 있으니, get_dy(1,0,수량)을 Read로 먼저 보고
그보다 1% 정도 낮은 값을 min_dy에 넣으세요.
04
Etherscan에서 함수를 부르는 법 (공통)
어느 설명서에서 부르든 같은 다섯 단계입니다.
0을 하나 더 붙이거나 덜 붙이는 것이 이 작업에서 가장 흔한 사고입니다. 먼저 아주 작은 금액으로 한 번 성공시킨 다음 전액을 처리하는 편이 안전합니다.
다섯 단계 전부 보기
1맞는 탐색기를 연다
체인마다 탐색기가 다릅니다. Ethereum은 etherscan.io, Arbitrum은 arbiscan.io, Base는 basescan.org, Polygon은 polygonscan.com, OP Mainnet은 optimistic.etherscan.io입니다. 주소창에 컨트랙트 주소를 붙여넣습니다.
2먼저 Read로 진짜인지 확인한다
Contract → Read Contract(프록시면 Read as Proxy)에서 아래 표의 "확인 방법"에 적힌 읽기 함수를 불러 봅니다. 기대한 값이 나오지 않으면 그 주소는 쓰지 않습니다. 읽기는 가스가 들지 않고 위험도 없습니다.
3Write Contract로 넘어간다
Contract → Write Contract를 누르고 Connect to Web3로 지갑을 연결합니다. 연결은 Etherscan에서 하는 것이고 Pagu.info와는 아무 상관이 없습니다. 화면에 Write as Proxy 탭이 있으면 그쪽을 써야 합니다 — 프록시로 배포된 컨트랙트는 일반 Write 탭에 실제 함수가 보이지 않습니다. 이 문서에서 Aave V3 Pool과 Lido 출금 큐가 프록시임을 직접 확인했습니다.
4금액은 소수점 자리만큼 0을 붙인다
컨트랙트는 소수점을 모릅니다. 토큰의 decimals()만큼 0을 붙인 정수를 넣습니다.
- USDC·USDT (6자리): 100 USDC →
100000000 - DAI·WETH·stETH 등 (18자리): 1개 →
1000000000000000000 - WBTC (8자리): 0.5개 →
50000000
자리수를 모르면 그 토큰 컨트랙트의 decimals()를 Read로 먼저 확인하세요.
0을 하나 더 붙이거나 덜 붙이는 것이 이 작업에서 가장 흔한 사고입니다.
먼저 아주 작은 금액으로 한 번 성공시킨 다음 전액을 처리하는 편이 안전합니다.
5"전액"에 쓰는 숫자
프로토콜에 따라 특정 최대값이 "전액"을 뜻합니다.
- uint256 최대값:
115792089237316195423570985008687907853269984665640564039457584007913129639935 - uint128 최대값:
340282366920938463463374607431768211455
단, 아무 함수에나 최대값을 넣으면 되는 것은 아닙니다. 각 설명서에서 허용한다고 적은 곳에만 씁니다.
온체인 확인 이 페이지의 주소는 2026-10-13에 공개 RPC로 직접 호출해 확인했습니다. 주소에 코드가 있는지만 본 것이 아니라, 각 컨트랙트가 서로를 가리키는지(예: aToken이 그 Pool을 가리키는지)까지 맞춰 봤습니다. 그래도 쓰기 전에 각자 Read로 다시 확인하세요. 컨트랙트는 교체될 수 있습니다.