Pendle 공식 사이트가 멈췄을 때 자산 확인
계약 주소와 필수 확인 사항을 먼저 읽고 순서대로 확인합니다.
핵심 · 총 7단계입니다. 실행 전 주소·단위 확인을 마치세요.
Pendle은 이 설명서들 중 유일하게 직접 호출 절차를 적지 않은 곳입니다. 이유를 숨기지 않고 아래에 적었습니다. 대신 내 자산이 어디 있는지 확인하는 법과, 만기 뒤에는 서두를 필요가 없다는 점을 설명합니다.
01
먼저 읽어 주세요
쓰기 함수를 부르기 전에 꼭 지켜야 하는 주의입니다.
이 페이지는 설명서일 뿐입니다. Pagu.info는 지갑을 연결하지 않고, 서명이나 거래를 만들지도 않습니다. 아래 절차는 사용자가 Etherscan에서 직접 수행합니다.
- 주소를 눈으로 믿지 마세요. 각 주소 옆에 "읽기 전용으로 확인하는 방법"을 적어 뒀습니다. 먼저 그 확인을 통과한 뒤에 쓰기 함수를 부르세요. 비슷한 주소로 만든 가짜 컨트랙트가 있습니다.
- 서두르지 마세요. 프론트엔드가 멈춰도 자금은 컨트랙트에 그대로 있습니다. 프론트는 창구일 뿐입니다. 먼저 공식 트위터·디스코드에서 알려진 사고인지 확인하는 편이 거의 항상 낫습니다.
- 이 문서는 투자 조언이 아니고, 결과를 보장하지 않습니다. 금액과 단위를 잘못 넣어 생긴 손실은 되돌릴 수 없습니다.
02
컨트랙트 주소
쓰기 전에 "확인 방법"의 읽기 함수를 먼저 불러 보세요.
4곳
컨트랙트 주소
Ethereum
네트워크
7단계
확인과 대안
| 이름 | 체인 | 주소 | 확인 방법 |
|---|---|---|---|
| 예시 마켓 (wstETH 2027-12-30) | Ethereum | 0x34280882267ffa6383b363e278b027be083bbe3b |
readTokens()를 부르면 SY·PT·YT 세 주소가 한 번에 나온다. 이게 확인의 출발점이다. |
| PT-stETH-30DEC2027 | Ethereum | 0xb253eff1104802b97ac7e3ac9fdd73aece295a2c |
symbol() → PT-stETH-30DEC2027, expiry() → 1830124800 (2027-12-30). 확인했다. |
| YT-stETH-30DEC2027 | Ethereum | 0x04b7fa1e727d7290d6e24fa9b426d0c940283a95 |
SY()·PT()가 아래 SY와 위 PT를 가리킨다. 확인했다. |
| SY-stETH | Ethereum | 0xcbc72d92b2dc8187414f6734718563898740c0bc |
getTokensOut() → stETH·wstETH. 즉 이 SY는 결국 stETH로 풀린다. 확인했다. |
03
내 자산이 어디 있는지 확인하는 법
번호 순서대로 진행합니다.
한눈에 보는 순서
1내가 가진 토큰의 종류를 본다
Etherscan에서 내 지갑 → Token Holdings를 봅니다. Pendle 자산은 이름이 분명합니다.
토큰 이름별 뜻
PT-…-날짜— 만기에 원금을 받을 권리. 만기가 지나면 기초자산으로 1:1 상환됩니다.YT-…-날짜— 만기까지의 이자를 받을 권리. 만기가 지나면 남은 이자만 있고 가치가 0에 가깝습니다.SY-…— 프로토콜 수익 토큰. 기초자산으로 되돌릴 수 있습니다.PENDLE-LPT— 마켓에 넣은 LP 지분.
2마켓에서 세 주소를 한 번에 확인한다
마켓 컨트랙트 → Read Contract → readTokens().
SY, PT, YT 순서로 세 주소가 나옵니다.
내가 가진 토큰 주소가 그 안에 있으면 마켓이 맞습니다. 교차 확인도 됩니다 —
YT의 PT()가 내 PT를 가리키고, PT의 SY()가 같은 SY를 가리킵니다.
3만기와 최종 출구를 확인한다
PT나 YT의 expiry()는 만기를 Unix 초로 돌려줍니다.
isExpired()는 만기가 지났는지를 true/false로 알려 줍니다.
SY가 무엇으로 풀리는지
SY의 getTokensOut()은 이 SY가 어떤 토큰으로 풀리는지 알려 줍니다.
예시 마켓은 stETH와 wstETH가 나왔습니다. 즉 최악의 경우에도 출구는 stETH입니다.
04
직접 호출 절차를 적지 않는 이유
실제로 호출해 보고 확인한 이유입니다.
Pendle의 상환 함수 redeemPY(address receiver)를 PT를 하나도 안 가진 주소로 호출해 봤습니다.
되돌려지지 않고 0을 돌려줬습니다. 이것은 이 함수가 호출자의 잔고가 아니라
컨트랙트 자신에게 들어와 있는 잔고를 보고 소각한다는 뜻입니다.
그래서 직접 호출하려면 ① PT를 YT 컨트랙트로 transfer하고 ② 따로 redeemPY를 부르는,
두 개의 트랜잭션이 됩니다. 그 사이에 다른 사람이 redeemPY를 먼저 불러
자기 주소로 가져갈 수 있습니다. 평소에는 Pendle의 라우터가 이 두 동작을 한 트랜잭션으로 묶어 주지만,
Etherscan으로는 그렇게 할 수 없습니다.
검증되지 않은 위험한 절차를 적는 대신, 아래 선택지를 권합니다.
05
그래서 어떻게 할 것인가
번호 순서대로 진행합니다.
한눈에 보는 순서
1만기가 지났다면 서두를 이유가 없다
PT의 상환에는 기한이 없습니다. 만기가 지난 PT는 언제 상환해도 같은 원금을 받습니다. 이자가 더 붙지 않을 뿐 손해가 커지지 않습니다. 프론트가 복구되기를 기다리는 것이 가장 안전한 선택인 경우가 많습니다.
2다른 프론트엔드를 찾는다
Pendle은 컨트랙트가 공개되어 있어 공식 앱 외의 인터페이스도 존재합니다. Pendle 공식 문서에서 현재 라우터 주소와 권장 경로를 확인하세요. 라우터는 버전이 올라가므로 여기 적어 두면 금방 낡습니다.
3만기 전이고 급하다면 PT를 판다
만기 전 PT는 기초자산보다 싸게 거래됩니다(그 할인이 수익의 원천입니다). 급히 현금화하려면 다른 DEX에서 PT를 파는 방법이 있지만, 유동성이 Pendle 마켓에 몰려 있어 불리한 가격이 나올 수 있습니다.
4한 가지는 분명하다
PT·YT·SY는 모두 내 지갑에 있는 ERC-20 토큰입니다. Pendle 웹사이트가 영원히 사라져도 토큰은 체인에 남고, 위 Read 함수들로 언제든 확인할 수 있습니다. 사라지는 것은 창구이지 자산이 아닙니다.
06
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로 다시 확인하세요. 컨트랙트는 교체될 수 있습니다.