> 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/th/mechanics/deep-dives/cdp-safety.md).

# เงื่อนไขหลักประกัน CDP

คำนวณ CR, LTV, ราคาชำระบัญชี และ USDHN ที่ใช้ชำระ Trove

CR เปลี่ยนตามราคา หนี้ และจำนวนหลักประกัน ดอกเบี้ยหรือการปรับโพซิชันเลื่อนราคาชำระบัญชีด้วย หนี้ชำระเป็นหน่วย USDHN ส่วนต้นทุนซื้อหน่วยเหล่านั้นคิดตามตลาด

## ค่าที่ใช้

| สัญลักษณ์     | ความหมาย                | หน่วยหรือแหล่ง                             |
| ------------- | ----------------------- | ------------------------------------------ |
| `C`           | หลักประกันปัจจุบัน      | หน่วยสาขารวมส่วนกระจายค้าง                 |
| `P`           | ราคาหลักประกัน          | USD ต่อหน่วยจากแหล่งราคาสาขา               |
| `V = C × P`   | มูลค่าหลักประกัน        | USD                                        |
| `D`           | หนี้ปัจจุบัน            | USDHN รวมดอกเบี้ย ค่าใช้จ่าย และหนี้กระจาย |
| `MCR`         | อัตราขั้นต่ำ            | เกณฑ์สาขา เช่น `1.5` แทน `150%`            |
| `CR = V / D`  | อัตราส่วนหลักประกัน     | มูลค่าหลักประกันหารหนี้ที่คิด USDHN ละ $1  |
| `LTV = D / V` | หนี้ต่อมูลค่าหลักประกัน | ส่วนกลับ CR                                |

ใช้ยอดรวมล่าสุดที่รวมดอกเบี้ย ค่าธรรมเนียม ไถ่ถอน และกระจาย แปลงโทเคนที่แรปเป็นหน่วยหลักประกันสาขาก่อนคำนวณ

## หาราคาชำระบัญชี

เมื่อ `C > 0` และ `D > 0`:

$$
CR = \frac{CP}{D}, \qquad LTV = \frac{D}{CP} = \frac{1}{CR}
$$

ที่ขอบเขต `CR = MCR` คูณหนี้แล้วหารหลักประกัน:

$$
\frac{CP\_{liq}}{D} = MCR
\quad \Longrightarrow \quad
P\_{liq} = \frac{MCR \times D}{C}
$$

เมื่อจำนวนกับหนี้คงที่ `P < P_liq` ให้ `CR < MCR` ซึ่งคือเงื่อนไขชำระบัญชี เท่ากันคือขอบเขต ต้องต่ำกว่าจึงชำระบัญชีได้ สัญญาเปรียบเทียบด้วยจำนวนเต็มปรับสเกล

หากไถ่ถอนหมดหนี้ `D = 0` จะใช้การหารหนี้ไม่ได้ หลักประกันอยู่ใน Trove จนเจ้าของปิดรับคืน

### ห้าการเปลี่ยนจากจุดเดียวกัน

ตัวอย่างใช้ `MCR = 150% = 1.5`, `C = 10`, `P = $2`, `D = 10 USDHN` เงินกู้จริงใช้พารามิเตอร์และหนี้ขั้นต่ำของสาขา

ค่าเริ่ม:

$$
CR = \frac{10 \times 2}{10} = 200%,
\qquad
P\_{liq} = \frac{1.5 \times 10}{10} = $1.50
$$

แต่ละแถวเปลี่ยนจากจุดเริ่มแยกกัน

| เปลี่ยน                                   | CR ใหม่                   | ราคาชำระบัญชีใหม่           | ความหมาย                                             |
| ----------------------------------------- | ------------------------- | --------------------------- | ---------------------------------------------------- |
| ราคาจาก `$2` เป็น `$1.60`                 | `(10 × 1.60) / 10 = 160%` | `$1.50`                     | CR ลด ขอบเขตราคาคงเดิม                               |
| หนี้ `10` เป็น `15`                       | `(10 × 2) / 15 ≈ 133.3%`  | `(1.5 × 15) / 10 = $2.25`   | ขอบเขตสูงขึ้น คำขอกู้นี้ไม่ผ่าน MCR 150% ของตัวอย่าง |
| ชำระหนี้ `10` เหลือ `8`                   | `(10 × 2) / 8 = 250%`     | `(1.5 × 8) / 10 = $1.20`    | CR สูงและขอบเขตลด                                    |
| หลักประกัน `10` เป็น `12.5`               | `(12.5 × 2) / 10 = 250%`  | `(1.5 × 10) / 12.5 = $1.20` | CR สูงและขอบเขตลด                                    |
| ราคา USDHN เปลี่ยน แต่ `C`, `P`, `D` เดิม | `200%`                    | `$1.50`                     | หนี้คิด USDHN ละ $1 ต้นทุนซื้อเพื่อชำระเปลี่ยน       |

ดอกเบี้ยเพิ่ม `D` จึงเพิ่ม `P_liq` แม้ `C` เดิม ราคาเปลี่ยนอย่างเดียวคง `P_liq` ณ ขณะนั้น แต่หนี้ที่สะสมยังเปลี่ยนการคำนวณครั้งถัดไป

## ออราเคิลและการอัปเดตหน้า

สัญญาตรวจแหล่งราคาสาขาขณะทำจริง ราคา spot กับหน้ากู้อาจต่างจากแหล่งหรือเวลาอัปเดต หน้าจอแสดงผลอ่านครั้งหนึ่ง ส่วนธุรกรรมตรวจค่าที่มีขณะทำ

ส่วนเผื่อ CR คือระยะระหว่าง CR กับ MCR ราคาลดหรือหนี้เพิ่มลดระยะ เพิ่มหลักประกันหรือชำระหนี้เพิ่มระยะ ต้องผ่านกฎกู้ถอนทั้งสาขาใน[การกู้และชำระบัญชี](/th/protocol/borrowing-and-liquidation.md) ด้วย

## องค์ประกอบหนี้ปัจจุบัน

$$
D = D\_{recorded} + I\_{accrued} + F\_{batch} + D\_{redistributed}
$$

| ส่วน         | ที่มา                                                                   |
| ------------ | ----------------------------------------------------------------------- |
| หนี้บันทึก   | หนี้ค้างจากรายการล่าสุด รวมค่าธรรมเนียมที่เพิ่มเข้าเงินต้นและยอดใช้แล้ว |
| ดอกเบี้ยสะสม | ดอกเบี้ยหนี้บันทึกตั้งแต่อัปเดตล่าสุด                                   |
| ค่ากลุ่มสะสม | ส่วนค่าจัดการขณะร่วมกลุ่ม เป็นศูนย์สำหรับ Trove นอกกลุ่ม                |
| หนี้กระจาย   | ส่วนหนี้ชำระบัญชีค้างที่พูลหักล้างไม่หมด                                |

เปิดหรือกู้เพิ่มมีค่าล่วงหน้า สำหรับยอดใหม่ `x` และอัตราเฉลี่ยต่อปี `r_avg` ค่าธรรมเนียม 7 วันคือ:

$$
F\_{upfront} = x \times r\_{avg} \times \frac{7}{365}
$$

สัญญาคำนวณ fixed-point integer และปัดลง วอลเล็ตรับจำนวนกู้ที่ขอ ส่วนค่าใช้จ่ายเพิ่มในหนี้ ปรับอัตราภายในช่วงรอ 7 วันอาจเพิ่มค่าล่วงหน้าตามหนี้ที่เปลี่ยนอัตรา

ค่าปรับชำระบัญชีหักจากหลักประกันในเวลาชำระ ลดส่วนคืน เมื่อ Trove ปิด การสะสมดอกเบี้ยทั่วไปสิ้นสุด

## ราคา USDHN กับต้นทุนชำระ

หนี้ `1,000 USDHN` ต้องใช้ `1,000 USDHN` วอลเล็ตที่ยังถือโทเคนกู้ใช้ได้ทันที หากขายหรือใช้ไปต้องหาใหม่

สำหรับหนี้ `1,000 USDHN` โดยแยกดอกเบี้ยเพิ่ม ค่าซื้อขาย และสลิปเพจออก:

| ราคาซื้อ USDHN | ต้นทุนซื้อจำนวนชำระ |
| -------------- | ------------------- |
| `$1.02`        | `$1,020`            |
| `$0.98`        | `$980`              |

ต้นทุนซื้อตามราคา USDHN จำนวนที่ต้องคืนตามบัญชีหนี้ หน้าปิดใช้ยอดชำระล่าสุด

ชำระบางส่วนต้องคงหนี้ขั้นต่ำ ชำระเต็มใช้ธุรกรรมปิดซึ่งคืนหลักประกันและมัดจำ หาก USDHN ขาด แอปมีเส้นทางสวอปกับปิดด้วยหลักประกัน ค่าใช้จ่ายและสลิปเพจมีผลต่อสินทรัพย์คืน

[ไถ่ถอนและความเสี่ยง](/th/protocol/redemptions-and-risk.md) อธิบายการเปลี่ยนจากไถ่ถอน [เปิดเผยความเสี่ยง](/th/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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.hann.finance/th/mechanics/deep-dives/cdp-safety.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
