> ## Documentation Index
> Fetch the complete documentation index at: https://docs.infinifi.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# InfiniFiGatewayV1.sol

> Main gateway for user interactions

**Purpose:** Single entry point for all user-facing protocol operations.

## Description

The Gateway contract serves as the trusted `ENTRY_POINT` role holder and coordinates interactions between users and the protocol's internal contracts.

## Key Functions

### Deposits

```solidity theme={null}
function deposit(uint256 amount) external
```

Deposits USDC and mints iUSD to the caller.

### Redemptions

```solidity theme={null}
function redeem(uint256 amount) external
```

Burns iUSD and returns USDC to the caller. May queue if reserves are insufficient.

### Staking

```solidity theme={null}
function stake(uint256 amount) external
```

Stakes iUSD to receive siUSD.

### Locking

```solidity theme={null}
function lock(uint256 amount, uint256 weeks) external
```

Locks iUSD for the specified number of weeks to receive liUSD-xw.

## Access Control

The Gateway holds the `ENTRY_POINT` role, enabling it to call internal protocol functions on behalf of users.
