# pawUSDC — Technical Specification

**Token Type:** ERC-20\
**Symbol:** pawUSDC\
**Backing Asset:** USDC (1:1+ USDC)\
**Exchange Rate:** Variable, accrues yield\
**Primary Role:** Lending pool LP token and settlement asset for UBS system-wide borrowing

### 🧮 Minting Logic

* Users deposit native USDC into the protocol.
* Receive 1:1 pawUSDC at time of mint/depends on the exchange rate.
* Global Exchange Rate starts at 1.00 and increases with net yield.
* Exchange Rate is stored and updated per epoch block.

```
ExchangeRate = TotalBackingUSDC / TotalSupply_pawUSDC
```

### 📈 Yield Accrual & Backing Growth

pawUSDC increases in value as yield flows into its backing pool.

#### Yield Sources:

| Source             | Accrues To      | Description                                              |
| ------------------ | --------------- | -------------------------------------------------------- |
| Borrowing Interest | pawUSDC Backing | 70% of all UBS borrow interest flows here                |
| Liquidation Fees   | pawUSDC Backing | 70% of liquidation fee from vault positions              |
| Redemption Fees    | pawUSDC Backing | 100% of pawUSDC redemption fees (e.g. 0.25%)             |
| Other              | pawUSDC Backing | Partner incentives routed to LP pool or other sources... |

### 🏦 Lending Pool Characteristics

pawUSDC represents shares in a **centralized USDC pool** used across MeowFi UBS.

#### Pool Stats (exposed on UI/on-chain):

* Total Supplied USDC
* Total Borrowed
* Utilization Ratio
* Lending APY (derived from interest flows)
* Exchange Rate (USDC / pawUSDC)

### 🔐 Risk Parameters & Controls

#### LTV Model:

* **Default LTV:** 70%
* **Liquidation Threshold:** 71%
* **Liquidation Penalty:** Defined per vault

#### Collateral Management:

* Collateral accepted: NFT Receipts, LP tokens
* Collateral value derived via Oracle + Vault Yield
* Supports top-up / withdrawal of collateral
* Health Factor updated dynamically per position

### 🧮 Oracle Integration

pawUSDC requires redemption-rate oracle support for integrations and pricing:

* Oracle Format: getExchangeRate() on-chain + REST endpoint
* Supported: Pyth (WIP), Switchboard (simulated or crate-based)
* Oracle Price = ExchangeRate \* 1e18 (scaled)

### 💸 Redemption Logic

* Users may redeem pawUSDC → USDC at current Exchange Rate
* Redemption Fee = 0.25% (configurable)
* Redeemable: USDC\_out = pawUSDC\_amount × ExchangeRate × (1 - 0.0025)
* All redemption fees go to pawUSDC backing

### ⚙️ Withdraw Controls

To prevent liquidity crunches:

* Withdraw limits apply based on Utilization Ratio
* Max withdrawal per txn capped if pool >80% utilized
* Admin override possible for emergency withdrawal disable

### 🔐 Caps & Safeguards

* **Per-Vault Max Borrow Caps** prevent one vault from draining the entire USDC pool
* **Global Borrow Cap** ensures no overexposure
* **Reserve Factor:** Defined per vault/pool, e.g., 5-10% retained for redemptions

### 🔍 Dev Tooling

* Contract: PawUSDC.sol (ERC-20 + custom rate logic)
* View Functions:
  * getExchangeRate()
  * getUtilizationRate()
  * getBackingBalance()
  * getTotalBorrowed()
* Events:
  * Minted(address, amount)
  * Redeemed(address, amount)
  * ExchangeRateUpdated(uint256)

### 🧠 Notes

* pawUSDC is an appreciating asset and not pegged to 1 USDC but starts at 1:1 and **only increases in value**
* There is no rebasing; all value accrual is via exchange rate mechanics
* Lending interest = dynamic; always derivable via protocol performance
* Liquidity providers are never diluted; value tracks real-time earnings


---

# Agent Instructions: 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:

```
GET https://docs.mydiscocats.com/infrastructure/pawusdc/pawusdc-technical-specification.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
