# Interfaces

This section provides an overview of the core interfaces used in the vault system. Each interface defines the standard methods for interacting with key components of the architecture.

### Core Interfaces

#### `DepositPipe`

Interface for deposit operations. Each DepositPipe handles deposits for a specific asset type and implements ERC4626 compatibility.

**Use Cases:**

* User deposits from same chain (hub)
* Cross-chain deposits via LayerZero
* Integration with DeFi protocols

***

#### `RedemptionPipe`

Interface for redemption operations. Handles instant and standard redemptions with liquidity management.

**Use Cases:**

* User redemptions on hub chain
* Cross-chain redemptions
* Liquidity provider integrations

***

#### `ShareManager`

Interface for managing vault shares. Tracks total supply on all chains and enforces limits on deposits, supply, and withdrawals.

**Use Cases:**

* Share minting/burning operations
* Limit enforcement
* Cross-chain share transfers
* Security controls

***

#### `NAVOracle`

Interface for Net Asset Value (NAV) management. Tracks the total value of assets in the vault and provides controlled mechanisms for updating it.

**Use Cases:**

* NAV tracking for share pricing
* Deposit/redemption NAV updates
* External valuation integrations

***

### Standard Interfaces

The system also implements standard ERC interfaces:

* **ERC20**: ShareManager implements standard ERC20 for share tokens
* **OFT:** xTokens Share implements the LayerZero OFT standard
* **ERC4626**: DepositPipe and RedemptionPipe implements ERC4626 and ERC7545 vault standard

***

### Decimal Handling

* **Shares**: Always 18 decimals
* **NAV**: Always 18 decimals (normalized internally)
* **Deposit Assets**: Native decimals (USDC = 6, USDT = 6, USDe = 18)
