> 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/id/protocol/zapper.md).

# Zapper

Operasi likuiditas dan Trove gabungan, izin token, izin pengelola, dan penyelesaian flash

Zapper menggabungkan tindakan terkait dalam satu transaksi. Hann Finance memakainya untuk wrap agunan, membuka atau menyesuaikan Trove, menambah likuiditas dan stake LP, serta menyelesaikan leverage berbantuan flash. Persetujuan token dan izin pengelola atau operator diselesaikan terpisah; aplikasi meminta izin yang belum ada lebih dulu.

| Tugas                  | Keluarga kontrak                                | Operasi gabungan                                                              |
| ---------------------- | ----------------------------------------------- | ----------------------------------------------------------------------------- |
| Pinjam dengan KAIA     | `WKAIAZapper`                                   | Wrap KAIA native, jalankan tindakan Trove, unwrap pembayaran.                 |
| Pinjam dengan HNKAIA   | `HNKAIAZapper`                                  | Transfer HNKAIA dan jalankan tindakan Trove.                                  |
| Pinjam dengan earnUSDT | `EarnUSDTZapper`                                | Terima earnUSDT, wrap sebagai wEarnUSDT, jalankan tindakan Trove.             |
| Ubah leverage          | `LeverageWKAIAZapper`, `LeverageEarnUSDTZapper` | Pinjam likuiditas sementara, ubah agunan dan utang, selesaikan operasi flash. |
| Setor dan stake LP     | `StableSwapZapper`                              | Tambah likuiditas USDT dan USDHN lalu stake LP baru.                          |
| Unstake dan tarik LP   | `StableSwapZapper`                              | Unstake, bakar LP, dan kembalikan kedua aset pool.                            |

Konfigurasi mainnet mencakup leverage KAIA dan earnUSDT. Testnet juga mencakup HNKAIA. Pinjaman HNKAIA mainnet memakai tindakan Trove standar.

## Persetujuan dan tanda tangan

Persetujuan ERC-20 mengizinkan kontrak tertentu mentransfer token dari dompet. Permit2 memakai izin bertanda tangan. Periksa token, jumlah, spender, dan masa berlaku. Jika allowance token ke Permit2 kurang, setujui dulu sebelum transfer berbasis tanda tangan.

Aplikasi memilih metode sesuai koneksi dompet dan tindakan. Untuk StableSwap dan LP, dompet browser memakai Permit2, sedangkan mode seluler aplikasi memakai persetujuan ERC-20. Agunan KAIA native dikirim bersama value transaksi tanpa persetujuan ERC-20 agunan.

Dua izin lain memiliki peran tersendiri:

* **Izin pengelola Trove** memungkinkan zapper melakukan tindakan posisi. Jika pengaturan saat ini berbeda, aplikasi meminta pengelola yang sesuai sebelum penyesuaian atau penutupan dengan agunan.
* **Izin operator RewardStaker** memungkinkan StableSwapZapper melakukan stake atau unstake atas nama Anda. Izin ini diberikan terpisah dari izin token.

## Tindakan Trove standar

Trove memegang agunan dan utang USDHN untuk satu cabang. Zapper standar mendukung pembukaan, penambahan atau penarikan agunan, pinjaman, pembayaran USDHN, dan penutupan.

1. Pilih tindakan dan masukkan jumlah agunan atau USDHN.
2. Tinjau agunan, utang, suku bunga tahunan, biaya awal, dan CR hasil tindakan.
3. Selesaikan izin token dan pengelola yang diminta.
4. Konfirmasikan transaksi Trove.
5. Periksa posisi baru dan token yang kembali ke dompet.

Pembukaan memerlukan agunan cabang dan setoran kompensasi gas KAIA. Untuk cabang KAIA, transaksi membawa keduanya dan zapper melakukan wrap sesuai kebutuhan. Cabang ERC-20 memasok kompensasi gas terpisah sebagai KAIA native. Setoran ini terpisah dari biaya jaringan, tetap bersama Trove terbuka, dan kembali saat pemilik berhasil menutup. Penyesuaian biasa memakai setoran pembukaan yang sudah ada.

Penutupan dengan USDHN dompet membayar seluruh utang terkini termasuk bunga dan mengembalikan agunan. Zapper KAIA melakukan unwrap WKAIA menjadi KAIA; zapper earnUSDT mengubah wEarnUSDT kembali menjadi earnUSDT.

## Leverage berbantuan flash

Operasi flash menyediakan likuiditas sementara dan melunasinya dalam transaksi yang sama. Setelah selesai, utang Trove tetap terbuka sedangkan kewajiban flash sudah lunas.

| Operasi                   | Perubahan agunan                          | Perubahan utang USDHN                         |
| ------------------------- | ----------------------------------------- | --------------------------------------------- |
| Buka atau tambah leverage | Tambah eksposur yang diminta.             | Pinjam USDHN untuk penyelesaian.              |
| Kurangi leverage          | Pakai sebagian agunan untuk penyelesaian. | Bayar USDHN memakai likuiditas sementara.     |
| Tutup dengan agunan       | Danai pelunasan penuh dengan agunan.      | Lunasi seluruh utang terkini dan tutup Trove. |

Rute berbeda menurut agunan dan tindakan:

| Rute                        | Penyelesaian                                                                                                                                                                                   |
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| KAIA                        | Pool V3 WKAIA/USDT terkonfigurasi menyediakan agunan atau USDT sementara. Bagian StableSwap USDHN/USDT mendanai penyelesaian atau pembayaran utang.                                            |
| earnUSDT buka atau tambah   | StableSwap mengirim USDT melalui callback output tepat. SuperEarnRouter menyetorkannya menjadi earnUSDT, di-wrap ke wEarnUSDT dan ditambah ke Trove. USDHN pinjaman membayar input StableSwap. |
| earnUSDT kurangi atau tutup | Pool V3 earnUSDT/USDT menyediakan USDT. StableSwap menukarnya ke USDHN untuk pembayaran; agunan earnUSDT yang di-unwrap melunasi operasi V3.                                                   |

Router dan token output mengikuti konfigurasi cabang.

Selama eksekusi, zapper menyerahkan kontrol pengelola Trove yang diperlukan kepada FlashSwapper dan mengembalikan keadaan sebelumnya setelah penyelesaian. Sisa token dikirim ke penerima terkonfigurasi, yaitu dompet pemilik posisi dalam aplikasi.

### Batas eksekusi

Pembukaan dan penyesuaian mengirim batas utang akhir `maxDebt`. Jika hasil utang melebihi batas, transaksi revert. Kontrak juga memeriksa perubahan agunan, pool dan token flash, pool StableSwap, batas biaya flash, serta keadaan pengelola/penerima.

Penutupan dengan agunan memakai utang penuh terkini dan batas biaya penutupan terpisah. Aplikasi menampilkan slippage `100%`; panggilan kontrak tidak memiliki minimum output pilihan pengguna. Nilai bersih yang ditampilkan adalah perkiraan; hasil aktual mengikuti penyelesaian.

Kegagalan transaksi gabungan membalikkan perubahan agunan, utang, dan perpindahan token internalnya. Persetujuan token, operator, atau pengaturan pengelola yang selesai sebelumnya tetap berlaku, dan gas transaksi gagal tetap terpakai.

## Token kembali dan kompensasi gas

* Penutupan standar mengembalikan agunan setelah pelunasan USDHN.
* Penutupan dengan agunan memakai jumlah yang diperlukan untuk flash lalu mengembalikan sisa agunan dan token rute. Zapper KAIA mengubah WKAIA kembali ke KAIA; rute earnUSDT mengembalikan sisa earnUSDT setelah unwrap.
* Setoran kompensasi gas dilepas saat penutupan dan diteruskan lewat aturan pembayaran cabang.
* Zapper LP mengembalikan kelebihan token0, token1, atau LP hasil operasi, diukur terhadap saldo awal.

Jenis aset yang dibayar mengikuti penanganan token cabang.

## Operasi LP gabungan

Di `/earn/usdt`, **Setor dan stake** mengirim kedua aset ke StableSwapZapper. Kontrak memanggil penambahan likuiditas router, memeriksa `minLiquidity`, lalu stake LP melalui RewardStaker. **Unstake dan tarik** melepas LP, menarik likuiditas, memeriksa minimum tiap token, lalu mengirim USDT dan USDHN ke dompet.

Keduanya memeriksa deadline dan izin operator RewardStaker. LP yang di-stake tetap terekspos pada aset pool. Otomatisasi Trove mengikuti aturan CR dan likuidasi cabang.

Lihat [Pertukaran, bridge, dan likuiditas](/id/protocol/stableswap-dex.md) serta [Posisi leverage](/id/protocol/loops.md) untuk langkah aplikasi. [Pinjaman dan likuidasi](/id/protocol/borrowing-and-liquidation.md) menjelaskan utang dan CR Trove.


---

# 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/id/protocol/zapper.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.
