> For the complete documentation index, see [llms.txt](https://docs.hann.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hann.finance/ko/mechanics/deep-dives/yield-bearing-stables.md).

# 수익형 영수증 토큰

earnUSDT 지분, wEarnUSDT 담보 래퍼, 가치 산정과 USDT 인출

earnUSDT는 볼트 지분을 나타내는 SuperEarn 예치 영수증 토큰입니다. Hann Finance는 이 지분을 wEarnUSDT로 래핑해 CDP 담보를 계산합니다. 지분의 가치는 각 지분이 나타내는 자산에서 나오며, 래핑은 토큰의 소수점 단위를 바꿉니다.

## 세 자산의 역할

| 자산        | 나타내는 것                    | 역할                                             |
| --------- | ------------------------- | ---------------------------------------------- |
| USDT      | 기초 스테이블코인                 | 외부 SuperEarn 시스템에 예치하거나 그 시스템에서 인출하는 자산        |
| earnUSDT  | SuperEarn 볼트 지분           | EarnUSDT 담보 예치 흐름이 받는 영수증 토큰                   |
| wEarnUSDT | 소수점 18자리로 래핑한 earnUSDT 지분 | EarnUSDT Trove 브랜치가 보유하고 스태빌리티 풀·리뎀션에서 지급하는 담보 |

앱은 earnUSDT 예치에 소수점 6자리, wEarnUSDT 담보 계산에 소수점 18자리를 사용합니다.

```mermaid
flowchart LR
  U[USDT] -->|SuperEarn 예치| E[earnUSDT 지분]
  E -->|래핑| W[wEarnUSDT]
  W -->|담보 예치| T[Trove]
  T -->|담보 회수| W
  W -->|언래핑| E
  E -->|인출 요청 후 수령| U
```

*Trove 담보 회수, 지분 언래핑, USDT 수령은 각각 별도의 자산 전환입니다.*

## 지분 수량과 지분당 가치

지분 수량이 그대로여도 각 지분이 나타내는 자산량은 바뀝니다. 지분 1개의 USDT 환산량을 `NAV`라고 하면 다음과 같습니다.

$$
\text{USDTValue} \approx \text{Shares} \times \text{NAV}
$$

1,000 지분의 NAV가 1.00 USDT에서 1.03 USDT로 바뀌면 기초 자산 견적은 1,000 USDT에서 1,030 USDT가 됩니다. 지분 수량은 1,000으로 유지됩니다. 최종 수령량에는 인출 수수료, 실현 손실, 사용 가능한 유동성이 반영됩니다.

예치 영수증 토큰마다 지분 환산 함수가 다릅니다. Hann Finance의 earnUSDT NAV 제공자는 `SuperEarnRouter.previewRedeem(earnUSDT, oneShare)`를 읽고 결과를 소수점 18자리로 맞춥니다.

## 예치·보유·자산 회수

### 1. earnUSDT 지분 확보

외부 SuperEarn Router의 `deposit(earnVault, amount, receiver, minSharesOut)`는 USDT를 예치하고 지분을 발행합니다. Preview 함수는 예치, 발행, 리뎀션 수량을 계산합니다.

Hann Finance의 기본 EarnUSDT 담보 예치는 **earnUSDT 지분**을 받습니다. 이 흐름에 입력하는 토큰 수량은 지분 수량입니다.

### 2. 지분을 담보로 사용

EarnUSDTZapper는 받은 earnUSDT를 wEarnUSDT로 래핑하여 Trove에 전달합니다. USDHN을 차입하면 별도의 부채가 생기고 이자가 쌓입니다.

래퍼의 환산 비율은 토큰 소수점 단위로 정해집니다.

$$
\text{WrappedRaw} = \text{EarnRaw} \times 10^{18-d}
$$

`d`는 earnUSDT의 소수점 자리 수입니다. 소수점 6자리인 1 earnUSDT는 원시 정수 1,000,000이며, wEarnUSDT 원시 정수 1,000,000,000,000,000,000으로 변환됩니다. 사람이 읽는 단위에서는 둘 다 지분 1개를 나타냅니다.

### 3. 담보 회수

Trove 종료나 담보 감소 거래는 대출 조건에 따라 담보를 돌려줍니다. EarnUSDTZapper는 담보 지급 시 earnUSDT로 언래핑합니다. 통합 레버리지 종료 경로는 SuperEarn의 USDT 인출을 시작하지 않고 wEarnUSDT 또는 earn 볼트 토큰을 지급합니다.

스태빌리티 풀의 담보 보상과 프로토콜 리뎀션은 wEarnUSDT를 지급합니다. 래퍼의 `withdraw` 또는 `withdrawTo`로 earnUSDT로 바꿀 수 있습니다.

언래핑은 earnUSDT의 원시 정수 단위까지 내림합니다. 그보다 작은 wEarnUSDT 잔액은 보유자 잔고에 남습니다. `previewWithdraw`는 소각할 래핑 수량, 기초 토큰 수량, 잔여 수량을 반환하고, `maxWithdrawable`은 계정의 최대 단위 일치 언래핑 수량을 계산합니다.

### 4. USDT 인출 요청과 수령

SuperEarn의 `redeem(earnVault, shares, receiver, minAssetsOut)`는 인출 요청 ID를 반환합니다. 쿨다운 볼트에는 수령인, 자산 수량, 요청 시간, 해당 요청의 대기 기간, 수령 상태가 기록됩니다.

요청이 준비되면 `claim(requestId, maxLossBps)`로 자산을 받습니다. 볼트는 `cooldownPeriod()`와 `maxLossThresholdBps()`를 제공합니다. 수령 거래에는 요청에 기록된 대기 기간과 허용 손실 한도가 적용됩니다.

시장에서 영수증 토큰을 매도하는 거래도 별도의 회수 경로입니다. 매도 결과는 시장 가격과 유동성에 따라 달라집니다.

## 프로토콜의 담보 가격

WEarnUSDTPriceFeed는 `EarnUSDTNavProviderRouter`에서 NAV를 읽고 설정된 가치 할인율인 haircut을 적용합니다. Haircut은 쿨다운 볼트에 기록된 자산 부족액과 수령 손실을 잠긴 자산·유휴 자산 대비 비율로 계산하고, 설정된 배수와 상한을 반영합니다.

일반 담보 가격은 NAV에서 haircut을 차감한 값입니다. 리뎀션 가격은 NAV를 USDT 원시 단위 간격으로 먼저 올림한 뒤 haircut을 적용합니다.

가격 피드는 설정된 교차체인 Keeper의 스냅샷 경과 시간도 확인합니다. 오래된 스냅샷이면 `SnapshotStale`로 가격 조회를 되돌립니다. NAV가 0이거나 조회에 실패한 경우, 또는 haircut 회계 조회에 실패한 경우에는 브랜치를 종료하고 마지막 정상 가격으로 전환합니다.

## 시장 가치와 담보비율

영수증 토큰의 시장 가치는 USDT의 달러 가격에도 영향을 받습니다.

$$
\text{MarketValue} \approx \text{Shares} \times \text{NAV} \times \text{USDTMarketPrice}
$$

1,000 지분, NAV 1.03 USDT, USDT 가격 $1.00이면 시장 가치는 $1,030입니다. USDT가 $0.97에 거래되면 같은 지분의 가치는 다음과 같습니다.

$$
1{,}000 \times 1.03 \times 0.97 = 999.1\ \text{USD}
$$

이 수량에는 회수 수수료와 가격 영향이 포함되지 않습니다.

현재 wEarnUSDT 가격 피드는 NAV와 haircut을 사용하며 별도의 USDT/USD 시장 가격 입력이 없습니다. 따라서 USDT 시장 가격 하락은 이 입력을 통해 화면의 담보비율에 자동 반영되지 않습니다.

프로토콜 담보비율은 다음 값으로 계산합니다.

$$
CR\_{protocol} = \frac{\text{wEarnUSDTAmount} \times \text{PriceFeedValue}}{\text{USDHNDebt}}
$$

지분 가치 변화, 손실, haircut 변경, 부채 이자는 이 비율에 영향을 줍니다. 쿨다운과 시장 유동성은 담보를 USDT로 바꾸는 방법과 시점에 영향을 줍니다.

## 서명 전 확인할 값

예치할 토큰, 지분 환산 견적, 거래 후 받을 자산을 확인합니다. Trove 거래에서는 현재 부채와 담보비율도 확인합니다. USDT 인출에서는 요청의 대기 기간과 수령 손실 설정을 확인합니다. 교차체인 자산 회계와 외부 SuperEarn 컨트랙트도 영수증 토큰의 의존 관계에 포함됩니다.

[Zapper](/ko/protocol/zapper.md)에서는 담보 전환 경로를, [기술 개요](/ko/developers/technical-overview.md)에서는 컨트랙트 역할을 설명합니다. [CDP 안전](/ko/mechanics/deep-dives/cdp-safety.md), [청산과 Earn](/ko/mechanics/deep-dives/liquidations-and-earn.md), [리스크 공시](/ko/security/risk-disclosure.md)에서 포지션 계산과 위험을 확인할 수 있습니다.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.hann.finance/ko/mechanics/deep-dives/yield-bearing-stables.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
