# User Funds

Ithaca is a non-custodial protocol: user funds are not held by an exchange, but by smart contracts.&#x20;

## The FundLock Contract

The FundLock contract is a smart contract that manages user funds and collateral balances.&#x20;

There is no private key associated with the FundLock smart contract. (Normally, a private key is required for the signing process to send transactions, but the smart contract has its own logic that validates the transfers directly.)

There are two types of balances in FundLock.&#x20;

#### 1. User Balances

FundLock user balances are associated with each user's wallet address, giving them control over the funds as long as they are not held as collateral in relation to existing orders or positions.

Once a user places an order, the FundLock contract earmarks the funds related to that order as "live order balances" until the order is executed or canceled. This is to ensure enough funds are available for settlement. The remaining user balances are free to be withdrawn at any time, or to be posted for future orders.&#x20;

#### 2. Ithaca Collateral Pool

The FundLock contract also holds assets in the Ithaca Collateral Pool to [fully collateralize](broken://pages/OUmSHPFbl0r6Y7paMjV6) any outstanding positions.&#x20;

## Deposits

Users can deposit WETH or USDC into FundLock from their own self-custody wallets or other digital asset custodians at any time.

As soon as the cash deposit has settled in the network, the balance in the FundLock account will reflect it, and the funds become available to be used to fund new orders on the protocol.&#x20;

## Withdrawals

Participants can always request a withdrawal of their funds from their FundLock account. However, if the withdrawal would reduce the balance below the amount that is currently marked and locked for live open orders, the withdrawal will be delayed until such orders are automatically canceled, freeing up the amount of cash that the participant attempts to withdraw.&#x20;

## Premium Paid and Collateral Posted

If and when an order is executed and settled as a contract position, any associated premium or collateral related to the new positions is taken out of the user's FundLock balances. The premium gets paid at execution, and any collateral posted goes into the Ithaca Collateral Pool within the FundLock smart contract.


---

# 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.ithacaprotocol.io/docs/architecture/post-match-processing/user-funds.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.
