User Funds
Ithaca is a non-custodial protocol: user funds are not held by an exchange, but by smart contracts.
The FundLock Contract
The FundLock contract is a smart contract that manages user funds and collateral balances.
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.
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.
2. Ithaca Collateral Pool
The FundLock contract also holds assets in the Ithaca Collateral Pool to fully collateralize any outstanding positions.
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.
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.
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.
Last updated