# Loan Self-Repayment System

The **Self-Repayment System** allows veDUST holders to automatically use their governance rewards to reduce outstanding debt positions. When enabled, rewards that would normally be claimable to the user’s wallet are redirected to a dedicated **UserVault** contract. The vault swaps these rewards into the relevant debt asset and repays the user’s loan automatically.

The vault swaps these rewards into the debt asset using the API provided by **Clober**, with fallbacks to **KyberSwap** and **Monorail**.

The process is **entirely non-custodial** and can **be enabled or disabled at any time**.

***

### <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2Fa2ljjcfqRsamXtY2kgII%2Fimage.png?alt=media&#x26;token=a5f72fbe-d22f-4bff-9442-aaff3c8ce4d9" alt="" data-size="line">Overview

Self-repayment provides a way for active participants to improve their loan health passively. By routing earned rewards directly into repayment, borrowers maintain lower utilization, reduced liquidation risk, and a smoother compounding experience.

Once enabled, all veDUST enrolled in self-repayment will automatically send their rewards to the user’s vault until the feature is turned off.

***

### <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2Fa2ljjcfqRsamXtY2kgII%2Fimage.png?alt=media&#x26;token=a5f72fbe-d22f-4bff-9442-aaff3c8ce4d9" alt="" data-size="line">How It Works

1. **Enable Self-Repay**\ <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">The user enables self-repayment for their veDUST.\ <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">The system deploys a **UserVault** to that wallet (one vault per user).
2. **Reward Redirection**\ <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">Rewards generated from the veDUST enabled for the self-repay system are sent to the user’s vault instead of their wallet.\ <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">Each veDUST can independently opt in or out of self-repayment.
3. **Automated Execution**

   <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">A protocol executor once per epoch:

   <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FaNXo8MflYApN0aUkGo7i%2Fblank.png?alt=media&#x26;token=86187c30-c333-4a23-b453-ba3d8c9f31e7" alt="" data-size="line"><img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">Claims rewards to the vault

   <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FaNXo8MflYApN0aUkGo7i%2Fblank.png?alt=media&#x26;token=86187c30-c333-4a23-b453-ba3d8c9f31e7" alt="" data-size="line"><img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">Swaps reward tokens into the chosen debt asset

   <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FaNXo8MflYApN0aUkGo7i%2Fblank.png?alt=media&#x26;token=86187c30-c333-4a23-b453-ba3d8c9f31e7" alt="" data-size="line"><img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">Repays the user’s loan on their behalf
4. **Disable at Any Time**

   <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">Disabling self-repay restores the default reward flow directly to the wallet.

   <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">All future rewards bypass the vault until the feature is re-enabled.

***

### <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2Fa2ljjcfqRsamXtY2kgII%2Fimage.png?alt=media&#x26;token=a5f72fbe-d22f-4bff-9442-aaff3c8ce4d9" alt="" data-size="line"> System Architecture

<table><thead><tr><th width="180">Component</th><th>Description</th></tr></thead><tbody><tr><td><strong>RevenueReward</strong></td><td>Routes veDUST rewards to either the owner or their assigned vault.</td></tr><tr><td><strong>UserVaultFactory</strong></td><td>Deploys one vault per user when first enabling self-repay.</td></tr><tr><td><strong>UserVault</strong></td><td>Holds rewards, performs swaps, and repays debt positions.</td></tr><tr><td><strong>UserVaultRegistry</strong></td><td>Controls aggregator whitelists, slippage limits, and executor permissions.</td></tr></tbody></table>

The user retains full ownership of both their **veDUST** and **UserVault** at all times. The executor only has permission to perform the predefined automated functions.

***

### <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2Fa2ljjcfqRsamXtY2kgII%2Fimage.png?alt=media&#x26;token=a5f72fbe-d22f-4bff-9442-aaff3c8ce4d9" alt="" data-size="line"> Security and Safeguards

<img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">**Non-custodial:** Users remain owners of both the veDUST and the vault.\ <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">**Slippage protected:** Swaps use Neverland oracle pricing to verify fair execution.\ <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">**Whitelisted aggregators:** Only approved DEX aggregators are permitted.\ <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">**Auto cleanup:** Self-repay is automatically disabled if the veDUST is transferred or merged.\ <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">**Split inheritance:** If a veDUST is split, both resulting tokens retain self-repay status.\ <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">**Recovery functions:** Users can recover ERC20 or MON from their vault at any time.

***

### <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2Fa2ljjcfqRsamXtY2kgII%2Fimage.png?alt=media&#x26;token=a5f72fbe-d22f-4bff-9442-aaff3c8ce4d9" alt="" data-size="line"> Behavior Summary

<table><thead><tr><th width="286">Action</th><th>Result</th></tr></thead><tbody><tr><td><strong>Enable self-repay</strong></td><td>Rewards are redirected to the user’s vault</td></tr><tr><td><strong>Disable self-repay</strong></td><td>Rewards flow directly to the wallet</td></tr><tr><td><strong>Transfer</strong> veDUST</td><td>Self-repay is disabled automatically</td></tr><tr><td><strong>Split</strong> veDUST</td><td>Both new tokens inherit self-repay</td></tr><tr><td><strong>Merge</strong> veDUST's</td><td>Self-repay is cleared for the merged token</td></tr><tr><td><strong>Executor operation</strong></td><td>Claims rewards, swaps them, and repays debt</td></tr><tr><td><strong>Manual claim (disabled)</strong></td><td>Rewards can still be claimed manually</td></tr></tbody></table>

***

### <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2Fa2ljjcfqRsamXtY2kgII%2Fimage.png?alt=media&#x26;token=a5f72fbe-d22f-4bff-9442-aaff3c8ce4d9" alt="" data-size="line"> Operational Flow

<figure><img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2Fkysr7qHh5i4WS5m4Rdf5%2FDocs%20graphics-7.png?alt=media&#x26;token=2fd99ab4-09e8-49e7-be39-8645192f7cd5" alt="" width="563"><figcaption></figcaption></figure>

***

### <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2Fa2ljjcfqRsamXtY2kgII%2Fimage.png?alt=media&#x26;token=a5f72fbe-d22f-4bff-9442-aaff3c8ce4d9" alt="" data-size="line"> Key Properties

1. **One vault per user** – All enrolled veDUST share the same UserVault.
2. **Non-custodial design** – Ownership of rewards and loans never leaves the user.
3. **Automatic cleanup** – Self-repay is cleared on transfers or merges.
4. **Inherited splits** – New tokens after a split maintain self-repay status.
5. **Verified swaps** – All swaps are validated against oracle prices with capped slippage.
6. **Controlled access** – Only the authorized executor can trigger automation.

***

### <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2Fa2ljjcfqRsamXtY2kgII%2Fimage.png?alt=media&#x26;token=a5f72fbe-d22f-4bff-9442-aaff3c8ce4d9" alt="" data-size="line"> Why It Matters

The Self-Repayment System connects governance rewards and lending behavior into a single automated cycle. It rewards users who actively participate in governance with real financial benefits, while reducing overall protocol risk by improving borrower health.

Self-repay creates a continuous, closed loop:\ <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">Governance rewards are earned by veDUST lockers.\ <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">Those rewards automatically flow into the user’s vault.\ <img src="https://3611561064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWsM8j790KEBUuc1aV7HE%2Fuploads%2FFb6L47sycFrWhsl0Jeiv%2Fimage.png?alt=media&#x26;token=e0e5d2b8-32ae-4f0d-b633-500725ae57f6" alt="" data-size="line">The vault repays debt, improving loan metrics and freeing borrowing capacity.

The result is a sustainable, incentive-aligned mechanism where governance participation strengthens both the individual and the protocol.
