> For the complete documentation index, see [llms.txt](https://docs.ariaprotocol.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ariaprotocol.xyz/technical-docs/contract-docs/iprwa/vault/fundraise/ivaultfundraiseuser.md).

# IVaultFundraiseUser

Interface for the VaultFundraise User functions.

## Functions

### deposit

Deposits USDC to the vault, only when the vault is Open

```solidity
function deposit(address usdc, uint128 amount) external;
```

**Parameters**

| Name     | Type      | Description                                   |
| -------- | --------- | --------------------------------------------- |
| `usdc`   | `address` | The USDC address to deposit for the fundraise |
| `amount` | `uint128` | The amount of the USDC token to deposit       |

### claimRefund

Claims refund, only when the vault is Canceled

```solidity
function claimRefund(address usdc) external returns (uint128 amount);
```

**Parameters**

| Name   | Type      | Description                                                                   |
| ------ | --------- | ----------------------------------------------------------------------------- |
| `usdc` | `address` | The USDC address to claim refund for, used as payment token for the fundraise |

**Returns**

| Name     | Type      | Description                          |
| -------- | --------- | ------------------------------------ |
| `amount` | `uint128` | The amount of the USDC token claimed |

## Events

### DepositReceived

Emitted when a deposit is received by the vault

```solidity
event DepositReceived(address indexed depositor, address indexed token, uint128 amount);
```

**Parameters**

| Name        | Type      | Description                       |
| ----------- | --------- | --------------------------------- |
| `depositor` | `address` | The address of the depositor      |
| `token`     | `address` | The address of the token received |
| `amount`    | `uint128` | The amount of the token received  |

### RefundClaimed

Emitted when a refund is claimed by the depositor

```solidity
event RefundClaimed(address indexed claimer, address indexed token, uint128 amount);
```

**Parameters**

| Name      | Type      | Description                      |
| --------- | --------- | -------------------------------- |
| `claimer` | `address` | The address of the claimer       |
| `token`   | `address` | The address of the token claimed |
| `amount`  | `uint128` | The amount of the token claimed  |


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ariaprotocol.xyz/technical-docs/contract-docs/iprwa/vault/fundraise/ivaultfundraiseuser.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
