> 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/protocol/redemptions-and-risk.md).

# 리뎀션

USDHN을 담보로 리뎀션하는 절차와 수수료, Trove에 생기는 변화

리뎀션은 Hann Finance에서 USDHN을 담보로 교환하는 거래입니다. 프로토콜은 차입자의 부채를 줄이고 리뎀션 실행자에게 담보를 보내며, 사용한 USDHN을 소각합니다. 차입자가 직접 상환하지 않아도 포지션의 크기가 줄어듭니다.

![지갑에서 USDHN을 보내고 KAIA 담보를 받습니다. 차입자의 Trove에서는 부채와 담보가 함께 줄고, 수수료에 해당하는 담보는 남습니다.](https://712079754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtaxYsiNM19tBweW3qRw5%2Fuploads%2Fgit-blob-eff5489aa0b1d1b5dceff8a49cca57359ff0a37d%2Fredemption-overview.png?alt=media)

*부채와 담보가 함께 줄어듭니다. 리뎀션 수수료에 해당하는 담보는 대상 Trove에 남습니다.*

## 상환·리뎀션·청산

| 행동  | 실행 주체     | 결과                                                               |
| --- | --------- | ---------------------------------------------------------------- |
| 상환  | 차입자       | USDHN으로 자신의 부채를 줄입니다. Trove를 종료하면 담보를 돌려받습니다.                    |
| 리뎀션 | USDHN 보유자 | 프로토콜이 Trove를 선택해 부채를 줄이고, 수수료를 제외한 담보를 보유자에게 전송합니다.              |
| 청산  | 청산 호출자    | 담보비율이 최소 기준 아래인 Trove를 종료합니다. 부채와 담보는 스태빌리티 풀 상쇄와 재분배 경로로 처리됩니다. |

일반 리뎀션은 청산 기준 위에 있는 Trove에도 적용됩니다.

## USDHN 보유자가 리뎀션하는 이유

시장 가격이 $1 아래인 USDHN을 매수해 리뎀션하면 할인된 USDHN을 프로토콜 가격으로 계산한 담보와 교환합니다. 매수는 수요를 만들고, 리뎀션으로 사용한 USDHN을 소각하면 공급량이 줄어듭니다.

거래 결과는 리뎀션 수수료, 가스비, 담보 매도가에 따라 결정됩니다. 프로토콜의 담보 가격과 시장에서 거래할 수 있는 가격은 달라질 수 있습니다.

## 리뎀션 대상 선정

대상은 두 단계로 정합니다.

1. **브랜치 간 배분:** CollateralRegistry는 각 대상 브랜치의 부채 중 스태빌리티 풀 예치금을 초과하는 금액에 비례해 리뎀션을 배분합니다. 모든 대상 브랜치의 초과 부채가 0이면 전체 부채에 비례해 배분합니다.
2. **브랜치 내부 순서:** TroveManager는 이전 리뎀션에서 남아 기록된 소액 부채 Trove를 먼저 확인한 뒤, **연이율이 낮은 Trove부터** 순회합니다. 일반 오라클 가격 기준 담보비율이 100% 미만인 Trove는 건너뜁니다.

일반 리뎀션을 배분받으려면 브랜치가 활성 상태여야 하고, 종료 기록이 없어야 하며, 전체 담보비율이 종료 기준인 `SCR` 이상이어야 합니다.

리뎀션 실행자는 이 배분 결과에 따라 담보를 받습니다. 앱의 리뎀션 화면에는 단일 담보 선택 기능이 없습니다.

## 차입자의 포지션 변화

각 리뎀션에서 다음 변화가 발생합니다.

* Trove에 사용된 USDHN 수량만큼 부채가 줄어듭니다.
* 실행자에게 보낸 수량만큼 담보가 줄어듭니다.
* 리뎀션 수수료에 해당하는 담보는 Trove에 남습니다.
* 연이율은 유지됩니다.

부채가 브랜치의 최소 부채보다 작아지면 컨트랙트는 Trove 상태를 `zombie`로 바꾸고 일반 리뎀션 목록에서 제거합니다. 부채가 0이 되어도 남은 담보는 Trove에 유지됩니다. 차입자는 Trove를 종료하여 그 담보를 회수할 수 있습니다.

연이율을 높이면 일반 리뎀션 순서가 뒤로 이동하고 차입 비용이 증가합니다. 금리 변경과 매니저 설정은 이 관계에 영향을 줍니다. 리뎀션 후에도 담보 가격과 추가 차입에 따라 담보비율이 바뀝니다.

## 앱에서 리뎀션하기

1. 지갑에 USDHN과 가스비로 쓸 KAIA를 준비합니다.
2. **Swap**에서 **리뎀션**을 선택합니다.
3. USDHN 수량과 **최대 리뎀션 수수료**를 입력합니다.
4. 예상 수수료와 받을 담보 토큰을 확인합니다.
5. 거래를 제출하고 지갑에서 서명합니다.
6. 거래가 확정되면 실제 소각된 USDHN과 수령한 담보를 확인합니다.

현재 앱은 CollateralRegistry를 직접 호출합니다.

```solidity
redeemCollateral(
    uint256 _usdhnAmount,
    uint256 _maxIterationsPerCollateral,
    uint256 _maxFeePercentage
)
```

앱은 반복 횟수에 `0`을 넣어 브랜치별 순회 상한을 해제합니다. Registry가 호출자의 USDHN을 직접 소각하므로 이 경로에는 **USDHN 사용 승인 단계가 없습니다**.

수수료 비율은 소수점 18자리 고정소수점 값으로 전달합니다. 예를 들어 최대 1%는 `10_000_000_000_000_000`입니다. 최대 수수료는 컨트랙트의 수수료 하한 이상, 100% 이하여야 합니다. 거래에서 계산된 수수료가 이 한도를 초과하면 거래가 되돌려집니다.

브랜치 배분, 대상 Trove의 부채, 반복 횟수 제한 때문에 실행량이 요청량보다 작아질 수 있습니다. 직접 호출 경로에서는 실제 리뎀션한 수량만 소각하므로 미사용 USDHN은 지갑에 남습니다. 거래 성공 여부와 요청량 전체가 처리되었는지는 각각 확인합니다.

## 수동 호출과 Helper

선택한 네트워크의 주소와 ABI는 [스마트 컨트랙트](/ko/developers/smart-contracts.md)에서 확인합니다. Kaia와 Kairos는 체인과 배포 프로필이 다릅니다.

`CollateralRegistry.redeemCollateral`을 직접 호출하면 앱과 같은 경로를 따릅니다. `RedemptionHelper.redeemCollateral`은 Helper의 브랜치 순서에 맞춘 담보별 최소 수령량 배열인 `_minCollRedeemed`도 받습니다. Helper는 지갑에서 USDHN을 전송받으므로 USDHN 사용 승인이 필요합니다. 받은 담보와 미사용 USDHN은 호출자에게 전송합니다.

Helper와 Registry 직접 호출은 입력값과 승인 요구가 다릅니다. [리뎀션 상세](/ko/mechanics/deep-dives/redemptions.md)에서 수수료 수식, 브랜치 배분, 담보비율의 수치 변화를 확인할 수 있습니다.

## 실행 조건

일반 리뎀션에는 대상 브랜치와 작동하는 가격 피드가 필요합니다. 전체 담보비율이 `SCR` 미만이거나 이미 종료된 브랜치는 일반 배분에서 제외됩니다. 종료된 브랜치에는 별도의 `urgentRedemption` 경로가 있습니다.

받은 담보의 매도는 시장 유동성에 영향을 받습니다. [차입과 청산](/ko/protocol/borrowing-and-liquidation.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/protocol/redemptions-and-risk.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.
