# Table of Contents - [Intro | Aleph](#intro-aleph) - [Restakers | Aleph](#restakers-aleph) - [AVS | Aleph](#avs-aleph) - [User | Aleph](#user-aleph) - [Vault | Aleph](#vault-aleph) - [Operators | Aleph](#operators-aleph) - [Managers | Aleph](#managers-aleph) - [Fees | Aleph](#fees-aleph) - [Series | Aleph](#series-aleph) - [Developer | Aleph](#developer-aleph) - [Flows | Aleph](#flows-aleph) - [Safeguards | Aleph](#safeguards-aleph) - [Deposit | Aleph](#deposit-aleph) - [Framework | Aleph](#framework-aleph) - [Redemption | Aleph](#redemption-aleph) - [Settlement | Aleph](#settlement-aleph) - [alETH | Aleph](#aleth-aleph) - [Legal | Aleph](#legal-aleph) - [Audits | Aleph](#audits-aleph) - [FAQ | Aleph](#faq-aleph) - [Disclaimers | Aleph](#disclaimers-aleph) - [Vault | Aleph](#vault-aleph) - [Smart Contracts | Aleph](#smart-contracts-aleph) - [Privacy Policy | Aleph](#privacy-policy-aleph) - [Vault Factory | Aleph](#vault-factory-aleph) - [AVS | Aleph](#avs-aleph) - [Terms and Conditions | Aleph](#terms-and-conditions-aleph) - [Email Protection | Cloudflare](#email-protection-cloudflare) --- # Intro | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send ![Page cover](https://docs.aleph.finance/~gitbook/image?url=https%3A%2F%2F1770835539-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4PYps3Lc6CSnmOCrLKde%252Fuploads%252FSFNIX5qMom9xJcZFZURs%252Fspaces_73jg0Ql3GYadP1LjhjcF_uploads_1pml07DCerf63RGXoutP_4.webp%3Falt%3Dmedia%26token%3Df4dbb049-9442-4b77-90ab-3a380fa24d7e&width=1248&dpr=4&quality=100&sign=2411e0e9&sv=2) Aleph enables institutional-grade yield for EigenLayer restakers. We build a secure and efficient infrastructure that enables restakers to access diversified yield strategies, while maintaining the core AVS security operations. #### [](https://docs.aleph.finance/#who-is-aleph-for) Who is Aleph for? **Restakers** Stake their Liquid Staking Tokens (LST) in EigenLayer and delegate the collateral to an Operator. Restakers receive alETH tokens representing their proportional share of the vault's ownership. **Operators** Run infrastructure for EigenLayer and allocate the delegated stake to Aleph vaults on behalf of their restakers, enabling access to institutional yield strategies. **Managers** Professional asset managers who execute DeFi strategies to generate yield on LST. [NextVault](https://docs.aleph.finance/product/vault) Last updated 16 days ago Was this helpful? Was this helpful? --- # Restakers | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send Restakers are LST holders who delegate to Operators, who then allocate to Aleph Vaults. They earn yield from Vault strategies while maintaining their EigenLayer security delegation. ### [](https://docs.aleph.finance/product/user/restakers#overview) Overview For Restakers, Aleph enables access to institutional yield opportunities via EigenLayer delegation. Copy ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ Restaker │────▶│ EigenLayer │────▶│ Operator │────▶│ Aleph Vault │ │ (LST) │ │ (Delegate) │ │ (Allocate) │ │ (Yield) │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ ### [](https://docs.aleph.finance/product/user/restakers#key-details) Key Details #### [](https://docs.aleph.finance/product/user/restakers#delegation) Delegation Restakers deposit LST (stETH, rETH, etc.) into EigenLayer strategies and delegate to an Operator. This delegation grants the Operator the ability to allocate that stake - including into Aleph Vaults. The delegation itself is non-custodial. Operators don't hold restaker funds; they direct where the stake is allocated. Restakers retain the ability to undelegate through EigenLayer. #### [](https://docs.aleph.finance/product/user/restakers#receiving-aleth) Receiving alETH When an Operator allocates to an Aleph Vault, the AVS submits alETH to EigenLayer's RewardsCoordinator. Restakers claim their alETH through EigenLayer's standard rewards flow, proportional to their delegated stake at the time of allocation. #### [](https://docs.aleph.finance/product/user/restakers#yield) Yield alETH value grows as the underlying Vault NAV increases. Restakers don't see rebasing or token quantity changes - they hold the same amount of alETH, but each token becomes redeemable for more LST over time. Yield comes from the Manager's DeFi strategies, net of any fees charged by the Vault. #### [](https://docs.aleph.finance/product/user/restakers#redemption) Redemption To exit, restakers use a two-step process: 1. **Request Unallocation**: Call `requestUnallocate()` on the AVS with their alETH amount. This burns the alETH tokens and requests redemption from the Vault. The estimated redemption amount is tracked as pending. 2. **Complete Unallocation**: Once the Vault has processed the redemption request and has redeemable funds available, call `completeUnallocate()` with a signature to complete the redemption. The LST is deposited back into their EigenLayer strategy position. The LST returns to EigenLayer still delegated to their Operator. From there, restakers can reallocate, redelegate, or withdraw entirely through EigenLayer's standard unstaking flow. #### [](https://docs.aleph.finance/product/user/restakers#choosing-an-operator) Choosing an Operator Not all Operators allocate to Aleph Vaults. Restakers should verify that their chosen Operator: * Is registered with the Aleph AVS * Allocates to Vaults with strategies and risk profiles aligned with the restaker's goals Operator selection is the primary decision point for restakers. [PreviousUser](https://docs.aleph.finance/product/user) [NextOperators](https://docs.aleph.finance/product/user/operators) Last updated 16 days ago Was this helpful? * [Overview](https://docs.aleph.finance/product/user/restakers#overview) * [Key Details](https://docs.aleph.finance/product/user/restakers#key-details) Was this helpful? --- # AVS | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good night I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send The AVS serves as an entry point for vault deposits, enables Operators to allocate the delegated LST to Aleph Vaults, and functions as a trustless issuer of proof of redistributed collateral (alETH). The system manages accounting records for all participants, calculates rewards, and streamlines transactions among participants. ![](https://docs.aleph.finance/~gitbook/image?url=https%3A%2F%2F1770835539-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4PYps3Lc6CSnmOCrLKde%252Fuploads%252FMZQJcRIUxxqTHkk2a17O%252Fimage.png%3Falt%3Dmedia%26token%3Db1cd20e2-5e86-4a92-b6e5-87736c9a810c&width=768&dpr=4&quality=100&sign=e5e9a735&sv=2) #### [](https://docs.aleph.finance/product/avs#allocation) Allocation When an Operator allocates to a Vault, the AVS uses EigenLayer's redistribution mechanism to move LST from the Operator's delegation into the Vault. This isn't slashing in the punitive sense — it's a controlled reallocation of capital. The AVS validates that the Vault is factory-deployed, checks that the Operator's split is set to 0% (ensuring 100% of rewards flow to restakers), and confirms the NAV is fresh. If all checks pass, the Vault mints shares and the AVS mints equivalent alETH in a single atomic transaction. #### [](https://docs.aleph.finance/product/avs#aleth) alETH [alETH](https://docs.aleph.finance/learn/framework/aleth) is a proof of redistributed collateral. Each alETH represents one Vault share and maintains EigenLayer delegation properties — restakers keep their security guarantees while their capital works inside a Vault. alETH is fungible regardless of which [series](https://docs.aleph.finance/learn/framework/series) it originated from. Its value grows as the underlying Vault NAV increases. #### [](https://docs.aleph.finance/product/avs#unallocation) Unallocation Any alETH holder can redeem through a two-step process: 1. **Request Unallocation**: Call `requestUnallocate()` on the AVS to burn alETH tokens and request redemption from the Vault. The estimated redemption amount is tracked as pending. 2. **Complete Unallocation**: Once the Vault has processed the redemption request and has redeemable funds available, call `completeUnallocate()` to withdraw the LST and deposit it back into the holder's EigenLayer strategy position. The restaker's stake returns to EigenLayer, still delegated, ready to be reallocated elsewhere or withdrawn. [PreviousVault](https://docs.aleph.finance/product/vault) [NextUser](https://docs.aleph.finance/product/user) Last updated 20 days ago Was this helpful? Was this helpful? --- # User | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send [Restakers](https://docs.aleph.finance/product/user/restakers) [Operators](https://docs.aleph.finance/product/user/operators) [Managers](https://docs.aleph.finance/product/user/managers) [PreviousAVS](https://docs.aleph.finance/product/avs) [NextRestakers](https://docs.aleph.finance/product/user/restakers) Was this helpful? Was this helpful? --- # Vault | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good evening I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send #### [](https://docs.aleph.finance/product/vault#overview) Overview Aleph Vaults are yield-generating containers where restaker capital is actively managed. Each Vault holds LST and is operated by a professional manager who executes DeFi strategies to generate returns on top of base staking yield. Operators allocate delegated stake into Vaults, and the AVS handles the movement of LST from EigenLayer into the Vault. In return, restakers receive [alETH](https://docs.aleph.finance/learn/framework/aleth) - a token representing their proportional ownership of the Vault's position. ### [](https://docs.aleph.finance/product/vault#flow-of-funds) Flow of Funds ![](https://docs.aleph.finance/~gitbook/image?url=https%3A%2F%2F1770835539-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4PYps3Lc6CSnmOCrLKde%252Fuploads%252Fm2Vwhlk4K9h3Ljn6giBk%252Fimage.png%3Falt%3Dmedia%26token%3D9ecb8448-2ba8-4f1d-893b-6e4d1447354c&width=768&dpr=4&quality=100&sign=f161502&sv=2) When an Operator calls `allocate()` on the AVS, the system uses EigenLayer's redistribution mechanism to redistribute LST from the Operator's delegation into the target Vault. This isn't punitive slashing - it's a capital reallocation tool that moves assets while preserving the underlying EigenLayer security delegation. The Vault immediately mints shares based on the current NAV, and the AVS mints an equivalent amount of alETH. This happens atomically in a single transaction. #### [](https://docs.aleph.finance/product/vault#deposits) Deposits Operators allocate to Vaults by calling `allocate()` on the AVS. The system redistributes LST from the Operator's EigenLayer delegation into the Vault, mints shares at the current NAV, and issues alETH in a single atomic transaction. #### [](https://docs.aleph.finance/product/vault#redemptions) Redemptions Restakers redeem through a two-step process: 1. **Request**: Call `requestUnallocate()` on the AVS to burn alETH and request redemption. The Vault receives the redemption request and calculates the estimated amount. 2. **Complete**: Once the Vault has processed the request and has redeemable funds, call `completeUnallocate()` to complete the redemption. The Vault burns shares, returns LST at current NAV, and the AVS deposits it back into the restaker's EigenLayer strategy position. #### [](https://docs.aleph.finance/product/vault#pricing) Pricing Vaults use NAV-based pricing, which represents the total value of Vault assets divided by outstanding shares.Deposits and redemptions execute at the current NAV per share: * **Deposit:** `Shares Minted = LST Amount / NAV per Share` * **Redemption:** `LST Returned = Shares Burned × NAV per Share` [PreviousIntro](https://docs.aleph.finance/) [NextAVS](https://docs.aleph.finance/product/avs) Last updated 17 days ago Was this helpful? Was this helpful? --- # Operators | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send Operators are EigenLayer infrastructure providers who can allocate delegated stake to Aleph vaults on behalf of their restakers. Operators serve as the bridge between restakers and Aleph vaults. Restakers delegate LST to Operators through EigenLayer, and Operators then decide how to deploy that stake - including allocating to Aleph Vaults. When an Operator allocates, their restakers receive alETH proportional to their delegation. ### [](https://docs.aleph.finance/product/user/operators#key-responsibilities) Key Responsibilities #### [](https://docs.aleph.finance/product/user/operators#id-1.-registration) 1\. Registration Operator registers to Aleph AVS operator sets via `AllocationManager.registerForOperatorSets()` Before allocating to Aleph Vaults, an Operator must: 1. Register as an EigenLayer operator 2. Register for Aleph AVS operator sets via `AllocationManager.registerForOperatorSets()` 3. Set AVS split to 0% #### [](https://docs.aleph.finance/product/user/operators#id-2.-vault-selection) 2\. Vault Selection Operators choose which Vaults to allocate to. This decision should consider: * Manager track record and strategy * Risk profile and historical performance * Fee structure (management and performance fees) * Vault capacity and liquidity * Alignment with restaker expectations Operators are accountable to their restakers for these decisions. #### [](https://docs.aleph.finance/product/user/operators#id-3.-allocation-management) 3\. Allocation Operators allocate by calling `allocate()` on the AVS with a target Vault and amount. The AVS validates the request, redistributes LST from the Operator's delegation into the Vault, and mints alETH for distribution to restakers. ### [](https://docs.aleph.finance/product/user/operators#setting-avs-split) Events [PreviousRestakers](https://docs.aleph.finance/product/user/restakers) [NextManagers](https://docs.aleph.finance/product/user/managers) Last updated 16 days ago Was this helpful? * [Key Responsibilities](https://docs.aleph.finance/product/user/operators#key-responsibilities) * [Events](https://docs.aleph.finance/product/user/operators#setting-avs-split) Was this helpful? Copy // Track allocations event AllocatedToAlephVault( address indexed operator, address indexed alephVault, address originalStrategy, address slashedStrategy, uint256 amount, uint256 vaultShares, uint8 classId ) // Track unallocations event UnallocateCompleted( address indexed tokenHolder, address indexed alephVault, address originalStrategy, address slashedStrategy, uint256 amount, uint256 shares, uint8 classId ) --- # Managers | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send #### [](https://docs.aleph.finance/product/user/managers#overview) Overview Managers operate Aleph Vaults and offer yield strategies to Restakers, leveraging proprietary expertise to generate returns. Each Vault has a single Manager responsible for executing yield strategies on the LST held in that Vault. Managers have discretion over how capital is deployed - the Vault infrastructure handles accounting, settlement, and restaker interactions. #### [](https://docs.aleph.finance/product/user/managers#nav-settlement) NAV Settlement The NAV reflects the current value of Vault assets and determines the price at which deposits and redemptions settle. Before [settlement](https://docs.aleph.finance/learn/flows/settlement) , Managers calculate NAV based on the current value of Vault assets. When ready to settle, they submit the NAV to the Oracle, which posts it on-chain with the Manager's signature. This signature attests to the accuracy of the reported value. The Oracle posts NAV updates on-chain to Vault contracts, enabling settlement of deposits and redemptions. The Vault contracts read from the Oracle to determine share pricing for all settlement operations. #### [](https://docs.aleph.finance/product/user/managers#evaluation) Evaluation Managers are identified and whitelisted. Their performance is visible through NAV history, and their signed attestations create an auditable trail. Restakers and Operators can evaluate Managers based on track record before allocating capital. [PreviousOperators](https://docs.aleph.finance/product/user/operators) [NextFlows](https://docs.aleph.finance/learn/flows) Last updated 16 days ago Was this helpful? Was this helpful? --- # Fees | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good afternoon I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send #### [](https://docs.aleph.finance/learn/framework/fees#performance-fee) **Performance Fee** Performance fees apply **only** on gains above the series' HWM. The HWM is the price-per-share (PPS) a series must exceed before any performance fee is applied. This prevents managers from charging a performance fee on gains that a restaker has already paid for, or that occurred before their allocation. **Calculation** The fee is calculated on the value of gains that exceed the HWM for a specific series. Copy Price Per Share = AUM / Total Shares; if (Price Per Share > HWM) { performance fee = (Price Per Share - HWM) * Total Shares * (performanceFeeBps / 10,000); // update HWM } ### [](https://docs.aleph.finance/learn/framework/fees#management-fee) **Management Fee** The Management Fee is a time-based fee calculated on the assets under management (AUM). It is expressed in basis points per year and accrues on a pro-rata basis over time. **Calculation** The fee is calculated and charged based on the duration elapsed since the last fee payment, as a fraction of the total year. This ensures that the fee is fair and reflects the time the assets were managed, regardless of the batch frequency. Copy Management Fee = AUM * ( managementFeeBps / 10,000) * (elapsedTime / ONE_YEAR) [PreviousSeries](https://docs.aleph.finance/learn/framework/series) [NextSafeguards](https://docs.aleph.finance/learn/framework/safeguards) Last updated 17 days ago Was this helpful? Was this helpful? --- # Series | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good afternoon I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send Series are an accounting mechanism that ensures performance fees are only charged on gains a restaker actually experienced. Each series tracks a separate entry point into a Vault's share classc. Series isolate restakers by entry point. Each series has its own high-water mark, set at the NAV when that series was created. Performance fees for that series are calculated against its own baseline, not the Vault-wide high-water mark. **High-Water Mark (HWM)** The High-Water Mark (HWM) is the price-per-share (PPS) threshold that a series must exceed before any performance fee can be charged. If the current PPS is equal to or less than the series' HWM, no performance fee is accrued for that series. **Types of Series** * Lead Series (ID 0): The foundational series for a share class. Over time, other series may be consolidated back into the lead series for operational efficiency. * Outstanding Series (ID ≥ 1): Created to isolate new investors during periods when the lead series PPS is below its HWM. Each additional series begins with its own HWM baseline to ensure new entrants are not charged performance fees on gains they did not participate in. **Creation of New Series** An additional series is automatically created during the settlement process only when all of the following conditions are met: 1. The share class has a non-zero performance fee. 2. The lead series' current PPS is below its HWM. 3. There are new pending deposits to settle in the current cycle. **Consolidation** When a new high watermark is set for lead series and there are outstanding series, all series are consolidated into the lead series 1. User shares are converted proportionally during consolidation to maintain fair value 2. This mechanism ensures proper performance fee calculation while maintaining operational efficiency #### [](https://docs.aleph.finance/learn/framework/series#aleth-fungibility) alETH Fungibility Despite series tracking different entry points internally, alETH remains fungible. All alETH for a given asset-vault combination is the same token. The series mechanism is internal Vault accounting - it doesn't fragment the token itself. [PreviousalETH](https://docs.aleph.finance/learn/framework/aleth) [NextFees](https://docs.aleph.finance/learn/framework/fees) Last updated 17 days ago Was this helpful? Was this helpful? --- # Developer | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send [Vault](https://docs.aleph.finance/learn/developer/vault) [Vault Factory](https://docs.aleph.finance/learn/developer/vault-factory) [AVS](https://docs.aleph.finance/learn/developer/avs) [Smart Contracts](https://docs.aleph.finance/learn/developer/deployments) [PreviousSafeguards](https://docs.aleph.finance/learn/framework/safeguards) [NextVault](https://docs.aleph.finance/learn/developer/vault) Was this helpful? Was this helpful? --- # Flows | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send [Deposit](https://docs.aleph.finance/learn/flows/deposit) [Redemption](https://docs.aleph.finance/learn/flows/redemption) [Settlement](https://docs.aleph.finance/learn/flows/settlement) [PreviousManagers](https://docs.aleph.finance/product/user/managers) [NextDeposit](https://docs.aleph.finance/learn/flows/deposit) Was this helpful? Was this helpful? --- # Safeguards | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send #### [](https://docs.aleph.finance/learn/framework/safeguards#pausing-and-unpausing-flows) Pausing and Unpausing Flows Aleph Vaults are designed with built-in safety mechanisms that allow managers and guardians to pause (disable) or unpause (enable) specific functions. This provides fine-grained control over vault activity and effective resolution of unexpected issues. When a flow is paused, the vault automatically **rejects any transactions** linked to that flow. For example, if the **Request Deposit** flow is paused, investor deposits will not be accepted until the flow is re-enabled. A flow can be paused to isolate issues without halting the entire vault. * **Managers** can pause and unpause flows directly through AlephOS. * **Guardians** have the authority to pause flows as an additional safeguard, ensuring there is always an independent layer of protection. **List of Flows** The following flows can be paused or unpaused independently: * **Request Deposit** – Submitting new deposit requests. * **Request Redeem** – Submitting new redemption requests. * **Settle Deposit** – Finalizing pending deposits during settlement. * **Settle Redeem** – Finalizing pending redemptions during settlement. #### [](https://docs.aleph.finance/learn/framework/safeguards#interface) Interface Copy interface IAlephPausable { // Check if a flow is paused function isFlowPaused(bytes4 _pausableFlow) external view returns (bool); // Pause a specific flow function pause(bytes4 _pausableFlow) external; // Unpause a specific flow function unpause(bytes4 _pausableFlow) external; // Pause all flows (guardian only) function pauseAll() external; } * * * #### [](https://docs.aleph.finance/learn/framework/safeguards#guardian) Guardian Aleph Vaults feature a dedicated guardian role, providing an independent layer of cybersecurity, operated by [Hypernative](https://www.hypernative.io/) . The guardian is an external account assigned to protect the vault in unusual scenarios. By design, the guardian can intervene to reduce risk or stop suspicious activity by actively monitoring and preventing exploits. This system allows for integration with on chain monitoring and exploit prevention services. **Responsibilities and Controls** * The guardian can pause critical flows for security purposes. * Acts as an independent authority to isolate risks and safeguard assets. [PreviousFees](https://docs.aleph.finance/learn/framework/fees) [NextDeveloper](https://docs.aleph.finance/learn/developer) Last updated 16 days ago Was this helpful? Was this helpful? --- # Deposit | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send Deposits move LST from EigenLayer into an Aleph Vault. The Operator initiates the deposit, the AVS handles redistribution, and the restaker receives alETH representing their Vault position. #### [](https://docs.aleph.finance/learn/flows/deposit#flow) Flow 1. Operator calls `allocate()` on the AVS with target Vault and amount 2. AVS redistributes LST from Operator's EigenLayer delegation to the Vault 3. Vault mints shares at current NAV 4. AVS mints equivalent [alETH](https://docs.aleph.finance/learn/framework/aleth) 5. alETH is submitted to EigenLayer's RewardsCoordinator for restaker claims The entire sequence executes atomically in a single transaction. All deposits are processed instantly, meaning the `LST` is converted into a `alETH` position within a single block transaction. * * * ### [](https://docs.aleph.finance/learn/flows/deposit#execution-sequence) Execution Sequence The Operator calls `AlephAVS.allocate(Vault, requestDepositParams)` The following steps are executed atomically within the single transaction initiated by the Operator. Any failure at any point will revert the entire transaction. ![](https://docs.aleph.finance/~gitbook/image?url=https%3A%2F%2F1770835539-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4PYps3Lc6CSnmOCrLKde%252Fuploads%252FXXHhwjUb2duFX45lD8zt%252Fimage.png%3Falt%3Dmedia%26token%3D72253f4f-3597-47ee-849b-1dc101f408ef&width=768&dpr=4&quality=100&sign=d7c963ec&sv=2) #### [](https://docs.aleph.finance/learn/flows/deposit#id-1.-allocation) 1\. Allocation Operator calls `AlephAVS.allocate()` with vault address and deposit parameters. The AVS performs critical safety checks and confirms that the Vault's latest NAV is valid and has not expired (is not stale). The transaction will revert if the NAV is expired, protecting the Operator from depositing at an inaccurate price. #### [](https://docs.aleph.finance/learn/flows/deposit#id-2.-redistribution) **2\. Redistribution** The AVS uses EigenLayer's redistribution mechanism to move LST from the Operator's delegation into the Vault. This isn't punitive - it's a controlled reallocation that transfers assets while preserving the underlying security delegation. The Aleph AVS calls the StrategyManager's `clearBurnOrRedistributableShares()` function, which releases the LST to the AVS contract. The LST is securely transferred to the target vault contract without requiring any manual withdrawal. #### [](https://docs.aleph.finance/learn/flows/deposit#id-3.-deposit-into-vault) 3\. Deposit into Vault The AVS immediately deposits the LST into the selected Vault and receives the corresponding shares. **Vault Deposit** The AVS calls `vault.syncDeposit(stETH Amount)` **Share calculation** Shares are minted at the exchange rate between LST and Vault Shares. **Share Minting** The Vault mints the shares and credits them to Aleph registry on its ledger. For example, If NAV per share is 1.05 and the Operator deposits 100 stETH, the Vault mints approximately 95.24 shares. #### [](https://docs.aleph.finance/learn/flows/deposit#id-4.-mint-aleth) 4\. Mint alETH The Aleph AVS mints an equivalent quantity of `alETH` proportional to the Shares minted. This `alETH` token represents the Restaker fractional ownership of the Vault Shares. The alETH token is specific to the asset and Vault - for example, `alstETH-edge` for stETH deposited into the Edge vault. #### [](https://docs.aleph.finance/learn/flows/deposit#id-5.-immediate-submission) **5\. Immediate Submission** After minting, the AVS submits alETH to EigenLayer's RewardsCoordinator: This ensures restakers can promptly claim the `alETH` tokens via EigenLayer's standard claim flow. Restakers claim their alETH through EigenLayer's standard rewards flow, proportional to their delegation at the time of allocation. The submission uses a retroactive window (2 calculation intervals back) to ensure fair distribution based on delegation state when the deposit occurred. * * * #### [](https://docs.aleph.finance/learn/flows/deposit#parameters) Parameters * `classId`: Which share class to deposit into * `amount`: LST amount to deposit * `authSignature`: Authorization signature for the deposit #### [](https://docs.aleph.finance/learn/flows/deposit#events) Events [PreviousFlows](https://docs.aleph.finance/learn/flows) [NextRedemption](https://docs.aleph.finance/learn/flows/redemption) Last updated 16 days ago Was this helpful? Was this helpful? Copy IERC20(vaultToken).approve(vault, tokenAmount); uint256 shares = IAlephVaultDeposit(vault).syncDeposit(adjustedParams); Copy Shares Minted = LST Amount / NAV per Share Copy IMintableBurnableERC20(slashedToken).mint(address(this), vaultShares); Copy rewardsCoordinator.createOperatorDirectedAVSRewardsSubmission(avsAddress, rewardsSubmissions); Copy struct RequestDepositParams { uint8 classId; uint256 amount; AuthLibrary.AuthSignature authSignature; } Copy event AllocatedToAlephVault( address indexed operator, address indexed alephVault, address originalStrategy, address slashedStrategy, uint256 amount, uint256 vaultShares, uint8 classId ) --- # Framework | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send [alETH](https://docs.aleph.finance/learn/framework/aleth) [Series](https://docs.aleph.finance/learn/framework/series) [Fees](https://docs.aleph.finance/learn/framework/fees) [Safeguards](https://docs.aleph.finance/learn/framework/safeguards) [PreviousSettlement](https://docs.aleph.finance/learn/flows/settlement) [NextalETH](https://docs.aleph.finance/learn/framework/aleth) Was this helpful? Was this helpful? --- # Redemption | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send Redemptions move LST out of an Aleph Vault back to EigenLayer. Any alETH holder can redeem through a two-step process: first requesting unallocation, then completing it once funds are available. #### [](https://docs.aleph.finance/learn/flows/redemption#flow) Flow **Step 1: Request Unallocation** 1. Holder withdraws alETH from the alETHStrategy in EigenLayer 2. Holder calls `requestUnallocate()` on the AVS with alETH amount and target Vault 3. AVS burns the alETH tokens 4. Vault receives a redemption request and calculates estimated amount to redeem 5. Pending unallocation is tracked for the holder **Step 2: Complete Unallocation** 1. Holder checks if unallocation can be completed using `getPendingUnallocateStatus()` 2. Holder calculates expected amount using `calculateCompleteUnallocateAmount()` 3. Holder generates signature for strategy deposit with the expected amount 4. Holder calls `completeUnallocate()` on the AVS 5. Vault withdraws redeemable LST to the AVS 6. AVS deposits LST back into holder's EigenLayer strategy position The two steps are separate transactions. Step 1 can be called immediately, while Step 2 requires waiting for the vault to process the redemption request and have redeemable funds available. * * * ### [](https://docs.aleph.finance/learn/flows/redemption#execution-sequence) Execution Sequence The redemption process consists of two separate transactions. #### [](https://docs.aleph.finance/learn/flows/redemption#step-1-request-unallocation) Step 1: Request Unallocation ![](https://docs.aleph.finance/~gitbook/image?url=https%3A%2F%2F1770835539-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4PYps3Lc6CSnmOCrLKde%252Fuploads%252Faop9iyWMYMP97FKAm1tl%252Fimage.png%3Falt%3Dmedia%26token%3D8675721b-3a60-4c97-9b73-aa359e87b583&width=768&dpr=4&quality=100&sign=6a0502da&sv=2) **1\. Validation and Token Burn** The AVS performs initial checks and burns the alETH tokens from the caller. **Balance Validation** The caller must hold sufficient slashed strategy tokens: **Estimated Amount Calculation** The estimated amount to redeem is calculated based on the current vault price per share: **Redemption Request** The AVS requests redemption from the vault: **Pending Tracking** The estimated amount is stored as pending unallocation: #### [](https://docs.aleph.finance/learn/flows/redemption#step-2-complete-unallocation) Step 2: Complete Unallocation **1\. Check Status** Before completing, check if unallocation can be completed: **2\. Calculate Expected Amount** Calculate the expected amount for signature generation: **3\. Withdraw from Vault** The AVS withdraws the redeemable amount from the vault: **Proportional Distribution** If multiple users have pending unallocations, funds are distributed proportionally: **4\. Deposit to EigenLayer** The AVS deposits the redeemed LST back into the holder's EigenLayer strategy: The holder's stake returns to EigenLayer, still delegated to their Operator. From there they can reallocate, redelegate, or withdraw through EigenLayer's standard unstaking flow. * * * #### [](https://docs.aleph.finance/learn/flows/redemption#parameters) Parameters **Step 1: requestUnallocate** * `_alephVault`: Vault to redeem from * `_tokenAmount`: Amount of slashed strategy tokens to burn **Returns:** * `batchId`: The batch ID for the redeem request * `estAmountToRedeem`: The estimated amount that will be redeemed **Step 2: completeUnallocate** * `_alephVault`: Vault to complete unallocation from * `_strategyDepositExpiry`: Expiry timestamp for the EigenLayer deposit signature * `_strategyDepositSignature`: EIP-712 signature authorizing the deposit back to EigenLayer **Returns:** * `amount`: The amount of tokens redeemed and deposited to the strategy * `shares`: The shares received in the original LST strategy #### [](https://docs.aleph.finance/learn/flows/redemption#events) Events [PreviousDeposit](https://docs.aleph.finance/learn/flows/deposit) [NextSettlement](https://docs.aleph.finance/learn/flows/settlement) Last updated 20 days ago Was this helpful? Was this helpful? Copy AlephVaultManagement.validateAndBurnSlashedTokens( msg.sender, _slashedStrategy, _tokenAmount, address(this) ); Copy estAmountToRedeem = AlephVaultManagement.calculateAmountToRedeem( _classId, _alephVault, address(_slashedStrategy.underlyingToken()), _tokenAmount ); Copy IAlephVaultRedeem.RedeemRequestParams memory _redeemParams = IAlephVaultRedeem.RedeemRequestParams({ classId: _classId, estAmountToRedeem: estAmountToRedeem }); batchId = IAlephVaultRedeem(_alephVault).requestRedeem(_redeemParams); Copy pendingUnallocate[msg.sender][_alephVault] += estAmountToRedeem; totalPendingUnallocate[_alephVault] += estAmountToRedeem; Copy (uint256 userPending, uint256 totalPending, uint256 redeemable, bool canComplete) = alephAVS.getPendingUnallocateStatus(userAddress, vaultAddress); Copy uint256 expectedAmount = alephAVS.calculateCompleteUnallocateAmount( userAddress, vaultAddress ); Copy uint256 _totalRedeemableAmount = UnallocateManagement.withdrawAndCalculateAvailable( _alephVault, _vaultToken, _vaultRedeemableAmount, _withdrawnAmount ); Copy User's Share = (userPendingAmount / totalPendingAmount) × totalRedeemableAmount Copy uint256 shares = AlephVaultManagement.depositToOriginalStrategy( STRATEGY_MANAGER, _originalStrategy, _vaultToken, msg.sender, _amount, _strategyDepositExpiry, _strategyDepositSignature ); Copy function requestUnallocate( address _alephVault, uint256 _tokenAmount ) external returns (uint48 batchId, uint256 estAmountToRedeem) Copy function completeUnallocate( address _alephVault, uint256 _strategyDepositExpiry, bytes calldata _strategyDepositSignature ) external returns (uint256 amount, uint256 shares) Copy event UnallocateRequested( address indexed tokenHolder, address indexed alephVault, address slashedStrategy, uint256 tokenAmount, uint256 estAmountToRedeem, uint48 batchId, uint8 classId ); event UnallocateCompleted( address indexed tokenHolder, address indexed alephVault, address originalStrategy, address slashedStrategy, uint256 amount, uint256 shares, uint8 classId ); --- # Settlement | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send Net Asset Value (NAV) settlement is the process by which deposits and redemptions are priced and executed. All Vault transactions settle against the current NAV per share, ensuring restakers enter and exit at fair value. The Aleph AVS uses a synchronous deposit-and-redeem mechanism, ensuring instant settlement. This is achieved by relying on the Vault's most recently updated NAV per share. #### [](https://docs.aleph.finance/learn/flows/settlement#net-asset-value-nav) Net Asset Value (NAV) Net Asset Value represents the total value of Vault assets divided by outstanding shares. It's the price of one Vault share at a given point in time. The **price per share** increases as the Vault’s underlying NAV grows through successful trading strategies and accrued yield. As the Manager's strategies generate yield, total assets grow while share count stays constant. This increases NAV per share, which is how restakers realize gains. #### [](https://docs.aleph.finance/learn/flows/settlement#nav-update) NAV Update ![](https://docs.aleph.finance/~gitbook/image?url=https%3A%2F%2F1770835539-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F4PYps3Lc6CSnmOCrLKde%252Fuploads%252F0IV09UsCJadcGumKTTqb%252Fimage.png%3Falt%3Dmedia%26token%3D60ada86e-1538-43ee-b38f-55cbc48fb188&width=768&dpr=4&quality=100&sign=6d678bff&sv=2) NAV updates are submitted by the oracle and posted on-chain for an auditable trail. * * * ### [](https://docs.aleph.finance/learn/flows/settlement#the-role-of-nav-in-deposit-redeem-flows) The Role of NAV in Deposit/Redeem flows #### [](https://docs.aleph.finance/learn/flows/settlement#deposit-allocation) **Deposit (Allocation)** When an Operator allocates LST to a Vault, shares are minted based on the current NAV per share: Shares Minted\=LST AmountNAV per Share\\text{Shares Minted} = \\frac{\\text{LST Amount}}{\\text{NAV per Share}}Shares Minted\=NAV per ShareLST Amount​ The AVS then mints equivalent alETH within the same transaction. The restaker's claim on the Vault is proportional to the shares received at their entry NAV. #### [](https://docs.aleph.finance/learn/flows/settlement#redeem-unallocation) **Redeem (Unallocation)** When a restaker redeems alETH, shares are burned and LST is returned based on the current NAV: LST to Redeem\=Shares Burned×NAV per Share\\text{LST to Redeem} = \\text{Shares Burned} \\times \\text{NAV per Share}LST to Redeem\=Shares Burned×NAV per Share The calculated LST is transferred synchronously to the Aleph AVS within the same tansaction, completing the redemption and subsequent return of LST to the Operator's ETHStrategy. * * * #### [](https://docs.aleph.finance/learn/flows/settlement#expiry) Expiry To protect restakers from executing against outdated prices, Each NAV has a validity window measured in blocks. Once expired, the Vault treats the NAV as stale and reverts any settlement attempts. * The Vault's internal function logic includes a check to ensure the last reported NAV update occurred within a specific time window (e.g., last 24 hours). * If the NAV is deemed expired (stale), the synchronous deposit/redeem transaction will revert. This prevents Operators from settling at an outdated price that does not reflect the current performance of the underlying assets. #### [](https://docs.aleph.finance/learn/flows/settlement#synchronous-execution) Synchronous Execution Aleph Vaults use synchronous settlement for AVS-initiated transactions. When an Operator calls `allocate()`, the entire operation - NAV check, share mint, alETH mint, LST transfer - executes atomically in a single transaction. For unallocation, the process is split into two steps: * **Step 1 (**`**requestUnallocate**`**)**: Burns alETH and requests redemption from the Vault synchronously * **Step 2 (**`**completeUnallocate**`**)**: Withdraws redeemable LST and deposits to EigenLayer synchronously once funds are available This two-step approach allows the Vault to process redemption requests asynchronously while maintaining synchronous execution for each individual step. [PreviousRedemption](https://docs.aleph.finance/learn/flows/redemption) [NextFramework](https://docs.aleph.finance/learn/framework) Last updated 20 days ago Was this helpful? Was this helpful? --- # alETH | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send alETH is a yield-bearing representation of redistributed LST that serves as proof of collateral. The alETH amount represents an individual ownership of a specific Vault, fully redeemable at any given time. #### [](https://docs.aleph.finance/learn/framework/aleth#properties) Properties Property Description **Backing** 1:1 with vault shares **Value** Increases with vault NAV **Delegation** Maintains EigenLayer security **Yield** Compounds automatically **Format** al- alETH tokens are scoped to both the underlying asset and the Vault. For example, `alstETH-edge` represents a position where stETH was allocated to the Edge vault. `alrETH-prime` would represent rETH allocated to a vault called Prime. This means alETH is not a single fungible token across the system. Each asset-vault combination has its own alETH token, its own strategy in EigenLayer, and its own pricing tied to that specific Vault's NAV. #### [](https://docs.aleph.finance/learn/framework/aleth#minting) Minting alETH is minted during allocation. When an Operator calls `allocate()`, the AVS: 1. Redistributes LST from the Operator's EigenLayer delegation to the Vault 2. Receives Vault shares in return 3. Mints alETH equal to the shares received 4. Submits the alETH to EigenLayer's RewardsCoordinator for restaker claims Copy IMintableBurnableERC20(slashedToken).mint(address(this), vaultShares); The minting is atomic with the deposit - no intermediate state where shares exist without corresponding alETH. #### [](https://docs.aleph.finance/learn/framework/aleth#burning) Burning alETH is burned during unallocation through a two-step process: **Step 1: Request Unallocation** When a holder calls `requestUnallocate()`, the AVS: 1. Burns the alETH tokens from the holder 2. Requests redemption from the Vault 3. Tracks the estimated redemption amount as pending **Step 2: Complete Unallocation** When a holder calls `completeUnallocate()`, the AVS: 1. Withdraws redeemable LST from the Vault 2. Deposits the returned LST into the holder's EigenLayer strategy position #### [](https://docs.aleph.finance/learn/framework/aleth#value-accrual) Value Accrual alETH does not rebase. The token quantity stays constant, but its redeemable value increases as the underlying Vault's NAV grows. A holder who minted 100 alstETH-edge when NAV was 1.0 and redeems when NAV is 1.15 receives 115 stETH worth of value (minus any applicable fees). [PreviousFramework](https://docs.aleph.finance/learn/framework) [NextSeries](https://docs.aleph.finance/learn/framework/series) Last updated 20 days ago Was this helpful? Was this helpful? Copy IMintableBurnableERC20(slashedToken).burn(address(this), tokenAmount); --- # Legal | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good night I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send [Terms and Conditions](https://docs.aleph.finance/resources/legal/terms-and-conditions) [Privacy Policy](https://docs.aleph.finance/resources/legal/privacy-policy) [Disclaimers](https://docs.aleph.finance/resources/legal/disclaimers) [PreviousAudits](https://docs.aleph.finance/resources/audits) [NextTerms and Conditions](https://docs.aleph.finance/resources/legal/terms-and-conditions) Was this helpful? Was this helpful? --- # Audits | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send 854KB [Sherlock\_Aleph\_v1.pdf](https://1770835539-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4PYps3Lc6CSnmOCrLKde%2Fuploads%2FlEsGgpQtRWHnPUhG9UJE%2FSherlock_Aleph_v1.pdf?alt=media&token=e43496c7-cc78-4701-b568-1941e6f680e0) PDF Download[Open](https://1770835539-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4PYps3Lc6CSnmOCrLKde%2Fuploads%2FlEsGgpQtRWHnPUhG9UJE%2FSherlock_Aleph_v1.pdf?alt=media&token=e43496c7-cc78-4701-b568-1941e6f680e0) [PreviousFAQ](https://docs.aleph.finance/resources/faq) [NextLegal](https://docs.aleph.finance/resources/legal) Last updated 1 month ago Was this helpful? Was this helpful? --- # FAQ | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send **What is Aleph?**[](https://docs.aleph.finance/resources/faq#what-is-aleph) Aleph is yield infrastructure for restaked assets, serves as a trustless portal to professional asset managers running proprietary DeFi strategies. **How is yield generated?**[](https://docs.aleph.finance/resources/faq#how-is-yield-generated) Professional asset managers deploy LST into DeFi strategies — lending, liquidity provision, basis trades, and more. Returns flow back to restakers through increasing alETH value. **What LSTs are supported?**[](https://docs.aleph.finance/resources/faq#what-lsts-are-supported) Aleph supports stETH, rETH, and other whitelisted LSTs. Check the app for the current list of supported assets. **Is there a lock-up period?**[](https://docs.aleph.finance/resources/faq#is-there-a-lock-up-period) No lock-ups beyond EigenLayer's standard withdrawal process. You can redeem alETH for the underlying LST at any time at current NAV. **How do I start earning?**[](https://docs.aleph.finance/resources/faq#how-do-i-start-earning) Delegate your LST to an Operator who allocates to Aleph Vaults. When they allocate, you receive alETH proportional to your delegation. Example: You receive 100 alETH when NAV is 1.00. After six months of yield, NAV rises to 1.08. Your 100 alETH is now redeemable for 108 LST. **What is alETH?**[](https://docs.aleph.finance/resources/faq#what-is-aleth) alETH is a yield-bearing token representing your share of an Aleph Vault. As the Vault's NAV grows, your alETH becomes redeemable for more LST than you deposited. It's also your proof of collateral — redeemable anytime. **How do I receive alETH?**[](https://docs.aleph.finance/resources/faq#how-do-i-receive-aleth) When your Operator allocates to an Aleph Vault, alETH is submitted to EigenLayer's RewardsCoordinator. You claim it through EigenLayer's standard rewards flow. **How do I redeem?**[](https://docs.aleph.finance/resources/faq#how-do-i-redeem) Through the Aleph app. Connect your wallet, select the amount of alETH you wish to redeem, and confirm the transaction. **What fees do I pay?**[](https://docs.aleph.finance/resources/faq#what-fees-do-i-pay) Fees are set by the Vault manager and deducted from NAV. Typical fee structures include a management fee (percentage of AUM) and a performance fee (percentage of profits above the high-water mark). Check each Vault's terms before delegating. **What if my Operator doesn't allocate to Aleph?**[](https://docs.aleph.finance/resources/faq#what-if-my-operator-doesnt-allocate-to-aleph) You have two options: 1. Ask your Operator to register for the Aleph AVS 2. Redelegate to [Aleph Operator](https://app.eigenlayer.xyz/operator/0x2ffaceef3f55fa395dc5f6c1922abefcee5542e5) **What are the risks?**[](https://docs.aleph.finance/resources/faq#what-are-the-risks) Aleph Vaults are actively managed, which introduces strategy risk. Returns depend on manager performance. Smart contract risk exists as with any DeFi protocol. Vaults are audited and monitored by an independent Guardian, but risk is never zero. Only deposit what you can afford to have exposed to DeFi strategies. [PreviousSmart Contracts](https://docs.aleph.finance/learn/developer/deployments) [NextAudits](https://docs.aleph.finance/resources/audits) Last updated 19 days ago Was this helpful? Was this helpful? --- # Disclaimers | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send [](https://docs.aleph.finance/resources/legal/disclaimers#risk-disclaimer) Risk Disclaimer ----------------------------------------------------------------------------------------------- Investing in Managers vault involves risks, and it is essential for investors to understand these before engaging. While Aleph seeks to minimise risks, the following factors are highlighted to investors. Any decision to invest should be based on the consideration of the prospectus as a whole by the investor. **Third-Party Project Risks** Managers may invest collateral assets in third-party DeFi opportunities. These projects introduce risks that are outside the direct control of Aleph. Such risks include the operational, financial, and regulatory risks associated with these third-party platforms. Issues such as failure of a protocol, changes in terms, or operational mismanagement can significantly affect the returns on investments. **Collateral Asset Risks** The collateral assets in Manager vaults are deployed across a range of protocols, each with its own risk profile. Internal factors such as technological failures or operational disruptions within protocols may further impact the stability and value of the collateral. These assets are subject to potential fluctuations in value, liquidity constraints, and changes in market dynamics and other external factors. In particular, collateral assets may lose value in volatile market conditions, affecting the price of the Underlying. Investors should be aware that the risk of asset devaluation could result in a loss of principal, particularly during periods of significant market stress. **Smart Contract Risks** Aleph infrastructure relies on smart contracts to interact with various DeFi protocols. Although Aleph takes measures to mitigate these risks, such as conducting regular audits, implementing security best practices, and selecting reputable protocols, these measures cannot guarantee complete protection. Additionally, smart contracts may rely on external data sources, which introduce further risks of inaccuracy or manipulation. **Market Conditions and Volatility** Investments are susceptible to market conditions and can experience significant volatility. The value of collateral assets and the yields generated by CeFi and DeFi platforms can be impacted by factors such as general market sentiment, regulatory changes, technological advancements, and macroeconomic events. Market downturns, liquidity shocks, or sudden price movements can affect the ability of Managers to maintain desired returns, and may lead to capital losses or the inability to redeem collateral at expected values. Investors should consider their risk tolerance and time horizon when evaluating exposure to market volatility. **Execution Risks** Execution risk arises from the possibility that Managers may not be able to implement its investment strategy or deploy collateral as intended efficiently. This can result from various factors, such as delays in executing trades, network congestion, or technical failures within the CeFi exchanges and DeFi protocols themselves. Additionally, poor timing or errors in transaction execution can lead to suboptimal returns or direct financial losses. While Aleph works to minimize these risks through automation and efficient systems, execution risks are inherent in any investment strategy. **Liquidation Risks** The collateral assets in the Manager vault are exposed to liquidation risks, especially in the case of leveraged positions or falling asset prices. If the value of the underlying collateral falls below a specified threshold, or if a DeFi protocol enforces a liquidation event due to market movements, assets may be liquidated at unfavorable prices, potentially resulting in partial or complete losses. Aleph works to mitigate this risk as market conditions change, but the inherent volatility in digital asset markets means that liquidation events can still occur, especially during periods of significant market stress. **Regulatory Risks** The DeFi space is still relatively new and is subject to evolving regulations. Changes in regulatory frameworks could impact the operations of DeFi protocols, as well as the ability of Managers to continue deploying capital in these ecosystems. Regulatory scrutiny, especially in jurisdictions where DeFi is not fully regulated, could lead to restrictions or bans on certain activities, causing disruptions in the investment strategy and potential losses for investors. **Liquidity Risks** There is a risk of liquidity issues, particularly during times of market stress. DeFi protocols may experience lower liquidity, higher slippage, or reduced ability to redeem assets quickly. If liquidity is constrained, Aleph may not be able to exit positions or redeem collateral at the expected price, potentially leading to significant losses. **Tracking Error** The value of an investment in a Manager vault may not perfectly reflect or track the value of the Underlying. At any time, the price at which any Underlying trades on exchanges, regulated or unregulated markets within the EEA or abroad or any other exchange or market on which they may be quoted or traded may not accurately be reflected in changes to the value or price of the product. **Operational Risks** Aleph success depends on the effective operation of various internal systems and processes. Any failures or inefficiencies in the operational infrastructure, including risk management, compliance, and reporting systems, could lead to financial losses or mismanagement of the investment strategy. Aleph has implemented operational protocols to minimize such risks, but they remain an inherent part of the operation of any financial platform. **Counterparty Risks** Managers may invest in CeFi platforms and DeFi protocols that may have their own counterparties. These counterparties may include other users, liquidity providers, or external organizations involved in the DeFi ecosystem. There is a risk that these counterparties may not fulfill their obligations, fail to meet financial commitments, or experience insolvency, which could affect the performance. In the event of a counterparty default, Manager's investments may be significantly affected, potentially leading to financial losses, reduced liquidity, or the inability to access or redeem invested assets. [](https://docs.aleph.finance/resources/legal/disclaimers#investment-disclaimer) Investment Disclaimer ----------------------------------------------------------------------------------------------------------- _These materials are not an offer of or an invitation by or on behalf of Othentic Labs Ltd. (the Company) or any other person to subscribe for or to purchase any products of the Company. These materials are for background purposes only and do not purport to be complete._ _No reliance may be placed for any purpose on the information contained in these materials or its accuracy or completeness. The information in these materials is subject to change. Charts and graphs are provided for illustrative purposes. Past performance is not indicative of, and does not guarantee future results. Investing in digital assets including crypto assets is not suitable for every investor as there is a substantial risk of loss, and losses in excess of an initial investment may under certain circumstances occur. Engaging in blockchain transactions and with DeFi protocols involves risks. Not for the distribution to any U.S. Person or any person or address in the United States. Aleph DOES NOT sell tokens to U.S._ _The value of an investment in a Vault however may not perfectly reflect or track the value of the Underlying. At any time, the price at which any Underlying trades on exchanges, regulated or unregulated markets within the EEA or abroad or any other exchange or market on which they may be quoted or traded may not accurately be reflected in changes to the value or price of the product._ _Nothing in this document constitutes a representation that any investment strategy or investment is suitable or appropriate to an investor’s individual circumstances or otherwise constitutes a personal recommendation. Investments involve risks (in particular market risks, including volatility and potential counterparty risks), and investors should exercise prudence and their own judgment in making their investment decisions._ _Any statements contained in this document attributed to a third party represent the Companies interpretation of the data, information and/or opinions provided by that third party either publicly or through a subscription service, and such use and interpretation have not been reviewed by the third party._ [PreviousPrivacy Policy](https://docs.aleph.finance/resources/legal/privacy-policy) Last updated 23 days ago Was this helpful? * [Risk Disclaimer](https://docs.aleph.finance/resources/legal/disclaimers#risk-disclaimer) * [Investment Disclaimer](https://docs.aleph.finance/resources/legal/disclaimers#investment-disclaimer) Was this helpful? --- # Vault | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send ### [](https://docs.aleph.finance/learn/developer/vault#interfaces) Interfaces #### [](https://docs.aleph.finance/learn/developer/vault#ialephvault) IAlephVault Copy interface IAlephVault { // Vault metadata function name() external view returns (string memory); function manager() external view returns (address); function underlyingToken() external view returns (address); function custodian() external view returns (address); // Batch tracking function startTimeStamp() external view returns (uint48); function currentBatch() external view returns (uint48); // Share class/series info function shareClasses() external view returns (uint8); function shareSeriesId(uint8 _classId) external view returns (uint32); function lastConsolidatedSeriesId(uint8 _classId) external view returns (uint32); // Assets and shares function totalAssets() external view returns (uint256); function totalAssetsPerClass(uint8 _classId) external view returns (uint256); function totalAssetsPerSeries(uint8 _classId, uint32 _seriesId) external view returns (uint256); function totalSharesPerSeries(uint8 _classId, uint32 _seriesId) external view returns (uint256); // User positions function assetsOf(uint8 _classId, uint32 _seriesId, address _user) external view returns (uint256); function sharesOf(uint8 _classId, uint32 _seriesId, address _user) external view returns (uint256); function assetsPerClassOf(uint8 _classId, address _user) external view returns (uint256); function redeemableAmount(address _user) external view returns (uint256); // Pricing function pricePerShare(uint8 _classId, uint32 _seriesId) external view returns (uint256); function highWaterMark(uint8 _classId, uint32 _seriesId) external view returns (uint256); // Share class parameters function managementFee(uint8 _classId) external view returns (uint32); function performanceFee(uint8 _classId) external view returns (uint32); function noticePeriod(uint8 _classId) external view returns (uint48); function lockInPeriod(uint8 _classId) external view returns (uint48); function minDepositAmount(uint8 _classId) external view returns (uint256); function minUserBalance(uint8 _classId) external view returns (uint256); function maxDepositCap(uint8 _classId) external view returns (uint256); function minRedeemAmount(uint8 _classId) external view returns (uint256); // Request queries function depositRequestOf(uint8 _classId, address _user) external view returns (uint256); function redeemRequestOf(uint8 _classId, address _user) external view returns (uint256); function totalAmountToDeposit(uint8 _classId) external view returns (uint256); } #### [](https://docs.aleph.finance/learn/developer/vault#ialephvaultdeposit) IAlephVaultDeposit #### [](https://docs.aleph.finance/learn/developer/vault#ialephvaultredeem) IAlephVaultRedeem #### [](https://docs.aleph.finance/learn/developer/vault#ialephvaultsettlement) IAlephVaultSettlement #### [](https://docs.aleph.finance/learn/developer/vault#ifeemanager) IFeeManager ### [](https://docs.aleph.finance/learn/developer/vault#data-structures) Data Structures #### [](https://docs.aleph.finance/learn/developer/vault#shareclassparams) ShareClassParams #### [](https://docs.aleph.finance/learn/developer/vault#shareseries) ShareSeries #### [](https://docs.aleph.finance/learn/developer/vault#authsignature) AuthSignature ### [](https://docs.aleph.finance/learn/developer/vault#events) Events #### [](https://docs.aleph.finance/learn/developer/vault#deposit-events) Deposit Events #### [](https://docs.aleph.finance/learn/developer/vault#redemption-events) Redemption Events #### [](https://docs.aleph.finance/learn/developer/vault#series-events) Series Events #### [](https://docs.aleph.finance/learn/developer/vault#fee-events) Fee Events ### [](https://docs.aleph.finance/learn/developer/vault#error-codes) Error Codes #### [](https://docs.aleph.finance/learn/developer/vault#deposit-errors) Deposit Errors Error Description `InsufficientDeposit` Amount below minimum `DepositLessThanMinDepositAmount` Below class minimum `DepositLessThanMinUserBalance` Would leave balance below minimum `DepositExceedsMaxDepositCap` Exceeds vault capacity `OnlyOneRequestPerBatchAllowedForDeposit` Already requested this batch #### [](https://docs.aleph.finance/learn/developer/vault#redemption-errors) Redemption Errors Error Description `RedeemLessThanMinRedeemAmount` Amount below minimum `InsufficientAssetsToRedeem` Not enough shares `RedeemFallBelowMinUserBalance` Would violate minimum balance `OnlyOneRequestPerBatchAllowedForRedeem` Already requested this batch `InsufficientVaultBalance` Vault lacks liquidity #### [](https://docs.aleph.finance/learn/developer/vault#settlement-errors) Settlement Errors Error Description `InvalidNewTotalAssets` Bad NAV data `InvalidToBatchId` Invalid settlement range `NoDepositsToSettle` Nothing to settle `NoRedeemsToSettle` Nothing to settle `InsufficientAssetsToSettle` Vault underfunded ### [](https://docs.aleph.finance/learn/developer/vault#integration-example) Integration Example #### [](https://docs.aleph.finance/learn/developer/vault#checking-user-position) Checking User Position #### [](https://docs.aleph.finance/learn/developer/vault#depositing-async) Deposit #### [](https://docs.aleph.finance/learn/developer/vault#redeeming) Redeem ### [](https://docs.aleph.finance/learn/developer/vault#constants) Constants [PreviousDeveloper](https://docs.aleph.finance/learn/developer) [NextVault Factory](https://docs.aleph.finance/learn/developer/vault-factory) Last updated 16 days ago Was this helpful? * [Interfaces](https://docs.aleph.finance/learn/developer/vault#interfaces) * [Data Structures](https://docs.aleph.finance/learn/developer/vault#data-structures) * [Events](https://docs.aleph.finance/learn/developer/vault#events) * [Error Codes](https://docs.aleph.finance/learn/developer/vault#error-codes) * [Integration Example](https://docs.aleph.finance/learn/developer/vault#integration-example) * [Constants](https://docs.aleph.finance/learn/developer/vault#constants) Was this helpful? Copy interface IAlephVaultDeposit { struct RequestDepositParams { uint8 classId; uint256 amount; AuthLibrary.AuthSignature authSignature; } // Async deposit (batched) function requestDeposit(RequestDepositParams calldata _params) external returns (uint48 _batchId); // Sync deposit (instant) - typically called by AVS function syncDeposit(RequestDepositParams calldata _params) external returns (uint256 shares); // Timelock setters function queueMinDepositAmount(uint8 _classId, uint256 _amount) external; function queueMinUserBalance(uint8 _classId, uint256 _balance) external; function queueMaxDepositCap(uint8 _classId, uint256 _cap) external; function setMinDepositAmount(uint8 _classId) external; function setMinUserBalance(uint8 _classId) external; function setMaxDepositCap(uint8 _classId) external; } Copy interface IAlephVaultRedeem { struct RedeemRequestParams { uint8 classId; uint256 estAmountToRedeem; } // Async redeem (batched) function requestRedeem(RedeemRequestParams calldata _params) external returns (uint48 _batchId); // Sync redeem (instant) - typically called by AVS function syncRedeem(RedeemRequestParams calldata _params) external returns (uint256 amount); // Withdraw settled amounts function withdrawRedeemableAmount() external; function withdrawExcessAssets() external; // Timelock setters function queueNoticePeriod(uint8 _classId, uint48 _period) external; function queueLockInPeriod(uint8 _classId, uint48 _period) external; function queueMinRedeemAmount(uint8 _classId, uint256 _amount) external; function setNoticePeriod(uint8 _classId) external; function setLockInPeriod(uint8 _classId) external; function setMinRedeemAmount(uint8 _classId) external; } Copy interface IAlephVaultSettlement { struct SettlementParams { uint8 classId; uint48 toBatchId; uint256[] newTotalAssets; // Per-series NAV AuthLibrary.AuthSignature authSignature; } // Settle pending requests function settleDeposit(SettlementParams calldata _params) external; function settleRedeem(SettlementParams calldata _params) external; // Emergency redemption function forceRedeem(address _user) external; } Copy interface IFeeManager { // View functions function getManagementFeeShares( uint32 _managementFee, uint48 _batchesElapsed, uint256 _newTotalAssets, uint256 _totalShares ) external view returns (uint256); function getPerformanceFeeShares( uint32 _performanceFee, uint256 _newTotalAssets, uint256 _totalShares, uint256 _highWaterMark ) external pure returns (uint256); // Timelock setters function queueManagementFee(uint8 _classId, uint32 _fee) external; function queuePerformanceFee(uint8 _classId, uint32 _fee) external; function setManagementFee(uint8 _classId) external; function setPerformanceFee(uint8 _classId) external; // Fee operations function accumulateFees( uint8 _classId, uint32 _seriesId, uint48 _currentBatchId, uint48 _lastFeePaidId, uint256 _newTotalAssets, uint256 _totalShares ) external returns (uint256); function collectFees() external returns (uint256 mgmtFees, uint256 perfFees); } Copy struct ShareClassParams { uint32 managementFee; // Basis points per year (e.g., 200 = 2%) uint32 performanceFee; // Basis points on profits (e.g., 2000 = 20%) uint48 noticePeriod; // Batches before redemption effective uint48 lockInPeriod; // Minimum batches before first redemption uint256 minDepositAmount; // Minimum per-deposit amount uint256 minUserBalance; // Minimum balance to maintain uint256 maxDepositCap; // Maximum vault capacity uint256 minRedeemAmount; // Minimum per-redemption amount } Copy struct ShareSeries { uint256 totalAssets; uint256 totalShares; uint256 highWaterMark; EnumerableSet.AddressSet users; mapping(address => uint256) sharesOf; } Copy struct AuthSignature { bytes32 r; bytes32 s; uint8 v; uint256 expiry; bytes32 nonce; } Copy event DepositRequest(uint8 classId, uint48 batchId, address indexed user, uint256 amount); event SettleDeposit( uint8 classId, uint32 seriesId, uint48 indexed fromBatchId, uint48 indexed toBatchId, uint256 amountToSettle, uint256 totalAssets, uint256 totalShares ); event DepositRequestSettled( uint8 classId, uint32 seriesId, uint48 indexed toBatchId, address indexed user, uint256 amount, uint256 sharesToMint ); Copy event RedeemRequest(uint8 classId, uint48 batchId, address indexed user, uint256 estAmountToRedeem); event SettleRedeem(uint8 classId, uint48 indexed fromBatchId, uint48 indexed toBatchId); event RedeemRequestSettled(uint8 classId, uint48 indexed batchId, address indexed user, uint256 amountToRedeem); event RedeemableAmountWithdrawn(address indexed user, uint256 redeemableAmount); event ForceRedeem(uint48 indexed batchId, address indexed user, uint256 totalAssetsToSettle); Copy event NewSeriesCreated(uint8 classId, uint32 seriesId, uint48 toBatchId); event SeriesConsolidated( uint8 classId, uint32 seriesId, uint48 toBatchId, uint256 amountToTransfer, uint256 sharesToTransfer ); event AllSeriesConsolidated( uint8 classId, uint32 fromSeriesId, uint32 toSeriesId, uint48 toBatchId, uint256 totalAmountToTransfer, uint256 totalSharesToTransfer ); Copy event FeesAccumulated( uint8 classId, uint32 seriesId, uint48 lastFeePaidId, uint48 currentBatchId, uint256 newTotalAssets, uint256 newTotalShares, FeesAccumulatedParams feesAccumulatedParams ); event NewHighWaterMarkSet(uint8 classId, uint32 seriesId, uint48 toBatchId, uint256 highWaterMark); event FeesCollected(uint48 currentBatchId, uint256 managementFeesCollected, uint256 performanceFeesCollected); Copy function getUserTotalPosition( address vault, address user ) external view returns (uint256 totalAssets, uint256 pendingDeposits, uint256 redeemable) { IAlephVault v = IAlephVault(vault); uint8 numClasses = v.shareClasses(); for (uint8 classId = 0; classId < numClasses; classId++) { // Settled assets totalAssets += v.assetsPerClassOf(classId, user); // Pending deposits pendingDeposits += v.depositRequestOf(classId, user); } // Redeemable amount redeemable = v.redeemableAmount(user); } Copy function deposit( address vault, uint8 classId, uint256 amount, AuthLibrary.AuthSignature calldata sig ) external returns (uint48 batchId) { IERC20 token = IERC20(IAlephVault(vault).underlyingToken()); // Approve vault to pull tokens token.approve(vault, amount); // Request deposit batchId = IAlephVaultDeposit(vault).requestDeposit( IAlephVaultDeposit.RequestDepositParams({ classId: classId, amount: amount, authSignature: sig }) ); } Copy function redeem( address vault, uint8 classId, uint256 estimatedAmount ) external returns (uint48 batchId) { // Request redemption batchId = IAlephVaultRedeem(vault).requestRedeem( IAlephVaultRedeem.RedeemRequestParams({ classId: classId, estAmountToRedeem: estimatedAmount }) ); } function claimRedemption(address vault) external { IAlephVaultRedeem(vault).withdrawRedeemableAmount(); } Copy // Precision for share calculations uint256 constant TOTAL_SHARE_UNITS = 1e18; // Basis point denominator uint256 constant BPS_DENOMINATOR = 10_000; // Seconds per year (for fee calculations) uint256 constant SECONDS_PER_YEAR = 365.25 days; --- # Smart Contracts | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send [](https://docs.aleph.finance/learn/developer/deployments#ethereum-mainnet-chain-id-1) Ethereum Mainnet (Chain ID: 1) -------------------------------------------------------------------------------------------------------------------------- Name Address **AllocationManager** `0x948a420b8CC1d6BFd0B6087C2E7c344a2CD0bc39` **DelegationManager** `0x39053D51B77DC0d36036Fc1fCc8Cb819df8Ef37A` **StrategyManager** `0x858646372CC42E1A627fcE94aa7A7033e7CF075A` **StrategyFactory** `0x5e4C39Ad7A3E881585e383dB9827EB4811f6F647` **RewardsCoordinator** `0x7750d328b314EfFa365A0402CcfD489B80B0adda` **VaultFactory** `0x7a9aA939261fb51Ddc9491C929224417a8459229` **AVS (Proxy)** `0x90c68BF0cAcA6B2a8ba7edE549C911f907B9eF79` **ERC20Factory** `0xA3ED7a45d3609EC17A5392A56dDff85d2f1D1a19` **Guardian** `0x60EDE74fF53c749970b2B4890E02F7756465d9eC` [PreviousAVS](https://docs.aleph.finance/learn/developer/avs) [NextFAQ](https://docs.aleph.finance/resources/faq) Last updated 16 days ago Was this helpful? Was this helpful? --- # Privacy Policy | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send Othentic Labs ("Aleph", “we”, “us”, “our”) respects your privacy and is committed to protecting your personal data. This Privacy Policy explains how we collect, use, share, and safeguard your personal information when you use our website and services. ‍ This Application collects some Personal Data from its Users. Users may be subject to different protection standards and broader standards may therefore apply to some. In order to learn more about the protection criteria, Users can refer to the applicability section. This document contains a section dedicated to Californian consumers and their privacy rights. This document can be printed for reference by using the print command in the settings of any browser. **Types of Data collected** Among the types of Personal Data that this Application collects, by itself or through third parties, there are: email address; Cookies; Usage Data; Data communicated while using the service. Complete details on each type of Personal Data collected are provided in the dedicated sections of this privacy policy or by specific explanation texts displayed prior to the Data collection. Personal Data may be freely provided by the User, or, in case of Usage Data, collected automatically when using this Application. Unless specified otherwise, all Data requested by this Application is mandatory and failure to provide this Data may make it impossible for this Application to provide its services. In cases where this Application specifically states that some Data is not mandatory, Users are free not to communicate this Data without consequences to the availability or the functioning of the Service. Users who are uncertain about which Personal Data is mandatory are welcome to contact the Owner. Any use of Cookies – or of other tracking tools – by this Application or by the owners of third-party services used by this Application serves the purpose of providing the Service required by the User, in addition to any other purposes described in the present document and in the Cookie Policy, if available. Users are responsible for any third-party Personal Data obtained, published or shared through this Application and confirm that they have the third party's consent to provide the Data to the Owner. **Methods of processing** The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or unauthorized destruction of the Data. The Data processing is carried out using computers and/or IT enabled tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation of this Application (administration, sales, marketing, legal, system administration) or external parties (such as third-party technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any time. **Legal basis of processing** The Owner may process Personal Data relating to Users if one of the following applies:Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of Personal Data is subject to European data protection law;provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual obligations thereof;processing is necessary for compliance with a legal obligation to which the Owner is subject;processing is related to a task that is carried out in the public interest or in the exercise of official authority vested in the Owner;processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party.In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement necessary to enter into a contract. ‍ **Place** The Data is processed at the Owner's operating offices and in any other places where the parties involved in the processing are located. Depending on the User's location, data transfers may involve transferring the User's Data to a country other than their own. To find out more about the place of processing of such transferred Data, Users can check the section containing details about the processing of Personal Data. If broader protection standards are applicable, Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or to any international organization governed by public international law or set up by two or more countries, such as the UN, and about the security measures taken by the Owner to safeguard their Data. If any such transfer takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner using the information provided in the contact section. ‍ **Retention time** Personal Data shall be processed and stored for as long as required by the purpose they have been collected for. Personal Data collected for purposes related to the performance of a contract between the Owner and the User shall be retained until such contract has been fully performed.Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the Owner within the relevant sections of this document or by contacting the Owner.The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data for a longer period whenever required to do so for the performance of a legal obligation or upon order of an authority. Once the retention period expires, Personal Data shall be deleted. Therefore, the right of access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after expiration of the retention period. ‍ **The purposes of processing** The Data concerning the User is collected to allow the Owner to provide its Service, comply with its legal obligations, respond to enforcement requests, protect its rights and interests (or those of its Users or third parties), detect any malicious or fraudulent activity, as well as the following: Managing contacts and sending messages, Infrastructure monitoring, Hosting and backend infrastructure, Analytics, Remarketing and behavioral targeting, Interaction with external social networks and platforms, Interaction with live chat platforms, Information collection, Registration and authentication and Handling payments. For specific information about the Personal Data used for each purpose, the User may refer to the section “Detailed information on the processing of Personal Data”. **Detailed information on the processing of Personal Data** Personal Data is collected for the following purposes and using the following services: **Analytics** The services contained in this section enable the Owner to monitor and analyze web traffic and can be used to keep track of User behavior. **Google Analytics** Google Analytics is a web analysis service provided by Google LLC or by Google Ireland Limited, depending on the location this Application is accessed from, (“Google”). Google utilizes the Data collected to track and examine the use of this Application, to prepare reports on its activities and share them with other Google services. Google may use the Data collected to contextualize and personalize the ads of its own advertising network. Personal Data processed: Cookies; Usage Data. Place of processing: United States – [Privacy Policy](https://policies.google.com/privacy) – [Opt Out](https://tools.google.com/dlpage/gaoptout?hl=en) ; Ireland – [Privacy Policy](https://policies.google.com/privacy) – [Opt Out](https://tools.google.com/dlpage/gaoptout?hl=en) . Category of personal information collected according to CCPA: internet information. This processing constitutes a sale based on the definition under the CCPA. In addition to the information in this clause, the User can find information regarding how to opt out of the sale in the section detailing the rights of Californian consumers. **Hosting and backend infrastructure** This type of service has the purpose of hosting Data and files that enable this Application to run and be distributed as well as to provide a ready-made infrastructure to run specific features or parts of this Application. Some services among those listed below, if any, may work through geographically distributed servers, making it difficult to determine the actual location where the Personal Data are stored. **GitHub Pages (GitHub Inc.)** GitHub Pages is a hosting service provided by GitHub, Inc. Personal Data processed: various types of Data as specified in the privacy policy of the service. Place of processing: United States – [Privacy Policy](https://docs.github.com/en/site-policy/privacy-policies/github-privacy-statement) . Category of personal information collected according to CCPA: internet information. **Infrastructure monitoring** This type of service allows this Application to monitor the use and behavior of its components so its performance, operation, maintenance and troubleshooting can be improved. Which Personal Data are processed depends on the characteristics and mode of implementation of these services, whose function is to filter the activities of this Application. **Interaction with external social networks and platforms** This type of service allows interaction with social networks or other external platforms directly from the pages of this Application. The interaction and information obtained through this Application are always subject to the User’s privacy settings for each social network. This type of service might still collect traffic data for the pages where the service is installed, even when Users do not use it. It is recommended to log out from the respective services in order to make sure that the processed data on this Application isn’t being connected back to the User’s profile. **Managing contacts and sending messages** This type of service makes it possible to manage a database of email contacts, phone contacts or any other contact information to communicate with the User. These services may also collect data concerning the date and time when the message was viewed by the User, as well as when the User interacted with it, such as by clicking on links included in the message. **Registration and authentication** By registering or authenticating, Users allow this Application to identify them and give them access to dedicated services. Depending on what is described below, third parties may provide registration and authentication services. In this case, this Application will be able to access some Data, stored by these third-party services, for registration or identification purposes. Some of the services listed below may also collect Personal Data for targeting and profiling purposes; to find out more, please refer to the description of each service. **Metamask** [https://consensys.net/privacy-policy/](https://consensys.net/privacy-policy/) . **Remarketing and behavioral targeting** This type of service allows this Application and its partners to inform, optimize and serve advertising based on past use of this Application by the User. This activity is facilitated by tracking Usage Data and by using Trackers to collect information which is then transferred to the partners that manage the remarketing and behavioral targeting activity. Some services offer a remarketing option based on email address lists. In addition to any opt-out feature provided by any of the services below, Users may opt out by visiting the Network Advertising Initiative opt-out page. Users may also opt-out of certain advertising features through applicable device settings, such as the device advertising settings for mobile phones or ads settings in general. ‍ **The rights of Users** Users may exercise certain rights regarding their Data processed by the Owner. Users entitled to broader protection standards may exercise any of the rights described below. In all other cases, Users may inquire with the Owner to find out which rights apply to them. In particular, Users have the right to do the following:Withdraw their consent at any time. Users have the right to withdraw consent where they have previously given their consent to the processing of their Personal Data.Object to processing of their Data. Users have the right to object to the processing of their Data if the processing is carried out on a legal basis other than consent. Further details are provided in the dedicated section below.Access their Data. Users have the right to learn if Data is being processed by the Owner, obtain disclosure regarding certain aspects of the processing and obtain a copy of the Data undergoing processing.Verify and seek rectification. Users have the right to verify the accuracy of their Data and ask for it to be updated or corrected.Restrict the processing of their Data. Users have the right, under certain circumstances, to restrict the processing of their Data. In this case, the Owner will not process their Data for any purpose other than storing it.Have their Personal Data deleted or otherwise removed. Users have the right, under certain circumstances, to obtain the erasure of their Data from the Owner.Receive their Data and have it transferred to another controller. Users have the right to receive their Data in a structured, commonly used and machine readable format and, if technically feasible, to have it transmitted to another controller without any hindrance. This provision is applicable provided that the Data is processed by automated means and that the processing is based on the User's consent, on a contract which the User is part of or on pre-contractual obligations thereof.Lodge a complaint. Users have the right to bring a claim before their competent data protection authority. **Details about the right to object to processing** Where Personal Data is processed for a public interest, in the exercise of an official authority vested in the Owner or for the purposes of the legitimate interests pursued by the Owner, Users may object to such processing by providing a ground related to their particular situation to justify the objection. Users must know that, however, should their Personal Data be processed for direct marketing purposes, they can object to that processing at any time without providing any justification. To learn, whether the Owner is processing Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document. **How to exercise these rights** Any requests to exercise User rights can be directed to the Owner through the contact details provided in this document. These requests can be exercised free of charge and will be addressed by the Owner as early as possible and always within one month. **Applicability of broader protection standards** While most provisions of this document concern all Users, some provisions expressly only apply if the processing of Personal Data is subject to broader protection standards. Such broader protection standards apply when the processing:is performed by an Owner based within the EU;concerns the Personal Data of Users who are in the EU and is related to the offering of paid or unpaid goods or services, to such Users;concerns the Personal Data of Users who are in the EU and allows the Owner to monitor such Users’ behavior taking place in the EU. **Cookie Policy** This Application uses Trackers. To learn more, the User may consult the [Cookie Policy](https://www.iubenda.com/privacy-policy/61211749/cookie-policy) . **Additional information about Data collection and processing** The User's Personal Data may be used for legal purposes by the Owner in Court or in the stages leading to possible legal action arising from improper use of this Application or the related Services. The User declares to be aware that the Owner may be required to reveal personal data upon request of public authorities. ‍ **Additional information about User's Personal Data** In addition to the information contained in this privacy policy, this Application may provide the User with additional and contextual information concerning particular Services or the collection and processing of Personal Data upon request. **‍ System logs and maintenance** For operation and maintenance purposes, this Application and any third-party services may collect files that record interaction with this Application (System logs) use other Personal Data (such as the IP Address) for this purpose. **Information not contained in this policy** More details concerning the collection or processing of Personal Data may be requested from the Owner at any time. Please see the contact information at the beginning of this document. **How “Do Not Track” requests are handled** This Application does not support “Do Not Track” requests. To determine whether any of the third-party services it uses honor the “Do Not Track” requests, please read their privacy policies. ‍ **Changes to this privacy policy** The Owner reserves the right to make changes to this privacy policy at any time by notifying its Users on this page and possibly within this Application and/or - as far as technically and legally feasible - sending a notice to Users via any contact information available to the Owner. It is strongly recommended to check this page often, referring to the date of the last modification listed at the bottom. Should the changes affect processing activities performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required. **Information for Californian consumers** This part of the document integrates with and supplements the information contained in the rest of the privacy policy and is provided by the business running this Application and, if the case may be, its parent, subsidiaries and affiliates (for the purposes of this section referred to collectively as “we”, “us”, “our”). The provisions contained in this section apply to all Users who are consumers residing in the state of California, United States of America, according to "The California Consumer Privacy Act of 2018" (Users are referred to below, simply as “you”, “your”, “yours”), and, for such consumers, these provisions supersede any other possibly divergent or conflicting provisions contained in the privacy policy. This part of the document uses the term “personal information“ as it is defined in The California Consumer Privacy Act (CCPA). **Categories of personal information collected, disclosed or sold** In this section we summarize the categories of personal information that we've collected, disclosed or sold and the purposes thereof. You can read about these activities in detail in the section titled “Detailed information on the processing of Personal Data” within this document. **Information we collect: the categories of personal information we collect** We have collected the following categories of personal information about you: identifiers and internet information. We will not collect additional categories of personal information without notifying you. **How we collect information:** We collect the above mentioned categories of personal information, either directly or indirectly, from you when you use this Application. For example, you directly provide your personal information when you submit requests via any forms on this Application. You also provide personal information indirectly when you navigate this Application, as personal information about you is automatically observed and collected. Finally, we may collect your personal information from third parties that work with us in connection with the Service or with the functioning of this Application and features thereof. **How we use the information we collect** We may disclose the personal information we collect about you to a third party for business purposes. In this case, we enter a written agreement with such third party that requires the recipient to both keep the personal information confidential and not use it for any purpose(s) other than those necessary for the performance of the agreement. We may also disclose your personal information to third parties when you explicitly ask or authorize us to do so, in order to provide you with our Service. To find out more about the purposes of processing, please refer to the relevant section of this document. **Sale of your personal information** For our purposes, the word “sale” means any “selling, renting, releasing, disclosing, disseminating, making available, transferring or otherwise communicating orally, in writing, or by electronic means, a consumer's personal information by the business to another business or a third party, for monetary or other valuable consideration”. This means that, for example, a sale can happen whenever an application runs ads, or makes statistical analyses on the traffic or views, or simply because it uses tools such as social network plugins and the like. **Your right to opt out of the sale of personal information** You have the right to opt out of the sale of your personal information. This means that whenever you request us to stop selling your data, we will abide by your request. Such requests can be made freely, at any time, without submitting any verifiable request, simply by following the instructions below. **Instructions to opt out of the sale of personal information** If you’d like to know more, or exercise your right to opt out in regard to all the sales carried out by this Application, both online and offline, you can contact us for further information using the contact details provided in this document. ‍ **What are the purposes for which we use your personal information?** We may use your personal information to allow the operational functioning of this Application and features thereof (“business purposes”). In such cases, your personal information will be processed in a fashion necessary and proportionate to the business purpose for which it was collected, and strictly within the limits of compatible operational purposes. We may also use your personal information for other reasons such as for commercial purposes (as indicated within the section “Detailed information on the processing of Personal Data” within this document), as well as for complying with the law and defending our rights before the competent authorities where our rights and interests are threatened or we suffer an actual damage. We will not use your personal information for different, unrelated, or incompatible purposes without notifying you. ‍**The right to know and to portability** You have the right to request that we disclose to you:the categories and sources of the personal information that we collect about you, the purposes for which we use your information and with whom such information is shared;in case of sale of personal information or disclosure for a business purpose, two separate lists where we disclose:for sales, the personal information categories purchased by each category of recipient; andfor disclosures for a business purpose, the personal information categories obtained by each category of recipient.The disclosure described above will be limited to the personal information collected or used over the past 12 months.The disclosure described above will be limited to the personal information collected or used over the past 12 months. If we deliver our response electronically, the information enclosed will be "portable", i.e. delivered in an easily usable format to enable you to transmit the information to another entity without hindrance – provided that this is technically feasible. **The right to request the deletion of your personal information** You have the right to request that we delete any of your personal information, subject to exceptions set forth by the law (such as, including but not limited to, where the information is used to identify and repair errors on this Application, to detect security incidents and protect against fraudulent or illegal activities, to exercise certain rights etc.). If no legal exception applies, as a result of exercising your right, we will delete your personal information and direct any of our service providers to do so. **How to exercise your rights** To exercise the rights described above, you need to submit your verifiable request to us by contacting us via the details provided in this document. For us to respond to your request, it’s necessary that we know who you are. Therefore, you can only exercise the above rights by making a verifiable request which must:provide sufficient information that allows us to reasonably verify you are the person about whom we collected personal information or an authorized representative;describe your request with sufficient detail that allows us to properly understand, evaluate, and respond to it.We will not respond to any request if we are unable to verify your identity and therefore confirm the personal information in our possession actually relates to you. If you cannot personally submit a verifiable request, you can authorize a person registered with the California Secretary of State to act on your behalf. If you are an adult, you can make a verifiable request on behalf of a minor under your parental authority. You can submit a maximum number of 2 requests over a period of 12 months. ‍ **How and when we are expected to handle your request** We will confirm receipt of your verifiable request within 10 days and provide information about how we will process your request. We will respond to your request within 45 days of its receipt. Should we need more time, we will explain to you the reasons why, and how much more time we need. In this regard, please note that we may take up to 90 days to fulfill your request. Our disclosure(s) will cover the preceding 12 month period. Should we deny your request, we will explain you the reasons behind our denial. We do not charge a fee to process or respond to your verifiable request unless such request is manifestly unfounded or excessive. In such cases, we may charge a reasonable fee, or refuse to act on the request. In either case, we will communicate our choices and explain the reasons behind it. **Definitions and legal references** **Personal Data (or Data)** Any information that directly, indirectly, or in connection with other information — including a personal identification number — allows for the identification or identifiability of a natural person. **Usage Data** Information collected automatically through this Application (or third-party services employed in this Application), which can include: the IP addresses or domain names of the computers utilized by the Users who use this Application, the URI addresses (Uniform Resource Identifier), the time of the request, the method utilized to submit the request to the server, the size of the file received in response, the numerical code indicating the status of the server's answer (successful outcome, error, etc.), the country of origin, the features of the browser and the operating system utilized by the User, the various time details per visit (e.g., the time spent on each page within the Application) and the details about the path followed within the Application with special reference to the sequence of pages visited, and other parameters about the device operating system and/or the User's IT environment. **User** The individual using this Application who, unless otherwise specified, coincides with the Data Subject. **Data Subject** The natural person to whom the Personal Data refers.Data Processor (or Data Supervisor)The natural or legal person, public authority, agency or other body which processes Personal Data on behalf of the Controller, as described in this privacy policy.Data Controller (or Owner)The natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of Personal Data, including the security measures concerning the operation and use of this Application. The Data Controller, unless otherwise specified, is the Owner of this Application.This ApplicationThe means by which the Personal Data of the User is collected and processed.ServiceThe service provided by this Application as described in the relative terms (if available) and on this site/application.European Union (or EU)Unless otherwise specified, all references made within this document to the European Union include all current member states to the European Union and the European Economic Area.CookieCookies are Trackers consisting of small sets of data stored in the User's browser. **Tracker** Tracker indicates any technology - e.g Cookies, unique identifiers, web beacons, embedded scripts, e-tags and fingerprinting - that enables the tracking of Users, for example by accessing or storing information on the User’s device. **Legal information** This privacy statement has been prepared based on provisions of multiple legislations, including Art. 13/14 of Regulation (EU) 2016/679 (General Data Protection Regulation). This privacy policy relates solely to this Application, if not stated otherwise within this document. [PreviousTerms and Conditions](https://docs.aleph.finance/resources/legal/terms-and-conditions) [NextDisclaimers](https://docs.aleph.finance/resources/legal/disclaimers) Last updated 1 month ago Was this helpful? Was this helpful? --- # Vault Factory | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send Technical reference for the Aleph Vault Factory smart contract. ### [](https://docs.aleph.finance/learn/developer/vault-factory#overview) Overview The AlephVaultFactory is responsible for deploying new Aleph Vault instances with consistent configuration and tracking all deployed vaults. ### [](https://docs.aleph.finance/learn/developer/vault-factory#interface) Interface #### [](https://docs.aleph.finance/learn/developer/vault-factory#ialephvaultfactory) IAlephVaultFactory Copy interface IAlephVaultFactory { // View functions function isValidVault(address _vault) external view returns (bool); // Deployment function deployVault( IAlephVault.UserInitializationParams calldata _userInitializationParams ) external returns (address); // Configuration (Operations Multisig only) function setOperationsMultisig(address _operationsMultisig) external; function setOracle(address _oracle) external; function setGuardian(address _guardian) external; function setAuthSigner(address _authSigner) external; function setModuleImplementation(bytes4 _module, address _implementation) external; } ### [](https://docs.aleph.finance/learn/developer/vault-factory#data-structures) Data Structures #### [](https://docs.aleph.finance/learn/developer/vault-factory#initializationparams) InitializationParams Factory-level configuration set during factory deployment: #### [](https://docs.aleph.finance/learn/developer/vault-factory#userinitializationparams) UserInitializationParams Parameters provided by the manager when deploying a vault: #### [](https://docs.aleph.finance/learn/developer/vault-factory#shareclassparams) ShareClassParams Configuration for the default share class: ### [](https://docs.aleph.finance/learn/developer/vault-factory#functions) Functions #### [](https://docs.aleph.finance/learn/developer/vault-factory#deployvault) deployVault Deploys a new Aleph Vault with the specified configuration. #### [](https://docs.aleph.finance/learn/developer/vault-factory#isvalidvault) isValidVault Checks if an address is a vault deployed by this factory. ### [](https://docs.aleph.finance/learn/developer/vault-factory#module-identifiers) Module Identifiers Identifier Module `0x00000001` AlephVaultDeposit `0x00000002` AlephVaultRedeem `0x00000003` AlephVaultSettlement `0x00000004` FeeManager `0x00000005` MigrationManager ### [](https://docs.aleph.finance/learn/developer/vault-factory#events) Events [PreviousVault](https://docs.aleph.finance/learn/developer/vault) [NextAVS](https://docs.aleph.finance/learn/developer/avs) Last updated 16 days ago Was this helpful? * [Overview](https://docs.aleph.finance/learn/developer/vault-factory#overview) * [Interface](https://docs.aleph.finance/learn/developer/vault-factory#interface) * [Data Structures](https://docs.aleph.finance/learn/developer/vault-factory#data-structures) * [Functions](https://docs.aleph.finance/learn/developer/vault-factory#functions) * [Module Identifiers](https://docs.aleph.finance/learn/developer/vault-factory#module-identifiers) * [Events](https://docs.aleph.finance/learn/developer/vault-factory#events) Was this helpful? Copy struct InitializationParams { address beacon; // Vault implementation beacon address operationsMultisig; // System admin address oracle; // NAV oracle address guardian; // Emergency pause address authSigner; // Signature signer address accountant; // Fee collection address alephVaultDepositImplementation; // Deposit module address alephVaultRedeemImplementation; // Redeem module address alephVaultSettlementImplementation; // Settlement module address feeManagerImplementation; // Fee module address migrationManagerImplementation; // Migration module } Copy struct UserInitializationParams { string name; // Vault name string configId; // Configuration identifier address underlyingToken; // Deposit token address custodian; // Where vault funds are held address vaultTreasury; // Where fees are collected ShareClassParams shareClassParams; // Default share class config AuthLibrary.AuthSignature authSignature; // Deployment authorization } Copy struct ShareClassParams { uint32 managementFee; // Basis points per year uint32 performanceFee; // Basis points on profits uint48 noticePeriod; // Batches before redemption uint48 lockInPeriod; // Minimum holding period uint256 minDepositAmount; // Per-deposit minimum uint256 minUserBalance; // Ongoing balance minimum uint256 maxDepositCap; // Vault capacity uint256 minRedeemAmount; // Per-redemption minimum } Copy function deployVault( IAlephVault.UserInitializationParams calldata _userInitializationParams ) external returns (address) Copy function isValidVault(address _vault) external view returns (bool) Copy // Vault deployment event VaultDeployed(address indexed vault, address indexed manager, string name, string configId); // Configuration changes event OperationsMultisigSet(address indexed operationsMultisig); event OracleSet(address indexed oracle); event GuardianSet(address indexed guardian); event AuthSignerSet(address indexed authSigner); event ManagementFeeSet(uint32 indexed managementFee); event PerformanceFeeSet(uint32 indexed performanceFee); event ModuleImplementationSet(bytes4 indexed module, address indexed implementation); --- # AVS | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send [](https://docs.aleph.finance/learn/developer/avs#interface) Interface --------------------------------------------------------------------------- #### [](https://docs.aleph.finance/learn/developer/avs#ialephavs) IAlephAVS Copy interface IAlephAVS is IAVSRegistrar { // View functions function erc20Factory() external view returns (IERC20Factory); function vaultToSlashedStrategy(address vault) external view returns (IStrategy); function vaultToOriginalStrategy(address vault) external view returns (IStrategy); // Vault initialization (owner only) function initializeVault( uint8 _classId, address _vault, IStrategy _lstStrategy ) external returns (IStrategy slashedStrategy); // Allocation (operators only) function allocate( address _alephVault, IAlephVaultDeposit.RequestDepositParams calldata _requestDepositParams ) external; // Unallocation - Step 1: Request (any token holder) function requestUnallocate( address _alephVault, uint256 _tokenAmount ) external returns (uint48 batchId, uint256 estAmountToRedeem); // Unallocation - Step 2: Complete (any token holder) function completeUnallocate( address _alephVault, uint256 _strategyDepositExpiry, bytes calldata _strategyDepositSignature ) external returns (uint256 amount, uint256 shares); // View helpers for unallocation function calculateUnallocateAmount( address _alephVault, uint256 _tokenAmount ) external view returns (uint256 estimatedAmount, IStrategy strategy, IERC20 token); function getPendingUnallocateStatus( address _user, address _alephVault ) external view returns ( uint256 userPendingAmount, uint256 totalPendingAmount, uint256 redeemableAmount, bool canComplete ); function calculateCompleteUnallocateAmount( address _user, address _alephVault ) external view returns (uint256 expectedAmount); } ### [](https://docs.aleph.finance/learn/developer/avs#storage-layout-erc-7201) Storage Layout (ERC-7201) ### [](https://docs.aleph.finance/learn/developer/avs#operator-sets) Operator Sets The AVS maintains one operator set for organizing strategies: Set ID Name Purpose 0 LST\_STRATEGIES\_OPERATOR\_SET Original LST strategies The operator set is configured as a **redistributing operator set**, meaning slashed amounts are sent to the AVS contract rather than being burned. ### [](https://docs.aleph.finance/learn/developer/avs#functions) Functions #### [](https://docs.aleph.finance/learn/developer/avs#initializevault) initializeVault Initializes a vault by creating its slashed token and strategy. **Parameters:** * `_classId`: The share class ID for the vault * `_vault`: The vault address to initialize * `_lstStrategy`: The original LST strategy for the vault's underlying token **Returns:** * `slashedStrategy`: The created slashed strategy address **Events:** #### [](https://docs.aleph.finance/learn/developer/avs#allocate) allocate Allocates delegated stake to a vault by slashing, depositing, and creating rewards. **Parameters:** * `_alephVault`: Target vault address * `_requestDepositParams`: Deposit parameters including classId, amount, and auth signature **Events:** #### [](https://docs.aleph.finance/learn/developer/avs#requestunallocate) requestUnallocate First step of the two-step unallocation process. Requests to redeem slashed tokens from a vault. **Parameters:** * `_alephVault`: Vault to unallocate from * `_tokenAmount`: Amount of slashed strategy tokens to burn **Returns:** * `batchId`: The batch ID for the redeem request * `estAmountToRedeem`: The estimated amount that will be redeemed from the vault **Events:** **Use Case:** This is the first step. After calling this, the user must wait for the vault to process the redemption request before calling `completeUnallocate`. #### [](https://docs.aleph.finance/learn/developer/avs#completeunallocate) completeUnallocate Second step of the two-step unallocation process. Completes the unallocation by withdrawing redeemable amount and depositing back to strategy. **Parameters:** * `_alephVault`: Vault to complete unallocation from * `_strategyDepositExpiry`: Signature expiry timestamp * `_strategyDepositSignature`: EIP-712 signature for strategy deposit **Returns:** * `amount`: The amount of tokens redeemed from the vault and deposited to the strategy * `shares`: The shares received in the original LST strategy **Events:** **Use Case:** Call after `requestUnallocate` once the vault has redeemable amount available. Use `getPendingUnallocateStatus()` to check if this can be called. #### [](https://docs.aleph.finance/learn/developer/avs#calculateunallocateamount) calculateUnallocateAmount View function to estimate redemption amounts for the first step. **Use Case:** Call before `requestUnallocate` to determine the estimated amount that will be redeemed. #### [](https://docs.aleph.finance/learn/developer/avs#getpendingunallocatestatus) getPendingUnallocateStatus View function to check pending unallocation status. **Use Case:** Check if `completeUnallocate` can be called. Returns `canComplete = true` if the user has pending amount and the vault has redeemable amount. #### [](https://docs.aleph.finance/learn/developer/avs#calculatecompleteunallocateamount) calculateCompleteUnallocateAmount View function to calculate the expected amount for `completeUnallocate`. **Use Case:** Call before `completeUnallocate` to get the exact expected amount for signature generation. This ensures the signature matches the amount that will be deposited. ### [](https://docs.aleph.finance/learn/developer/avs#libraries) Libraries #### [](https://docs.aleph.finance/learn/developer/avs#alephslashing) AlephSlashing Handles redistribution calculations and execution. #### [](https://docs.aleph.finance/learn/developer/avs#alephvaultmanagement) AlephVaultManagement Handles vault interactions. #### [](https://docs.aleph.finance/learn/developer/avs#rewardsmanagement) RewardsManagement Handles reward submissions. ### [](https://docs.aleph.finance/learn/developer/avs#events-reference) Events Reference [PreviousVault Factory](https://docs.aleph.finance/learn/developer/vault-factory) [NextSmart Contracts](https://docs.aleph.finance/learn/developer/deployments) Last updated 16 days ago Was this helpful? * [Interface](https://docs.aleph.finance/learn/developer/avs#interface) * [Storage Layout (ERC-7201)](https://docs.aleph.finance/learn/developer/avs#storage-layout-erc-7201) * [Operator Sets](https://docs.aleph.finance/learn/developer/avs#operator-sets) * [Functions](https://docs.aleph.finance/learn/developer/avs#functions) * [Libraries](https://docs.aleph.finance/learn/developer/avs#libraries) * [Events Reference](https://docs.aleph.finance/learn/developer/avs#events-reference) Was this helpful? Copy /// @custom:storage-location erc7201:aleph.avs.storage struct AVSStorage { // ERC20 factory for creating slashed tokens IERC20Factory erc20Factory; // Vault -> Slashed Strategy mapping mapping(address vault => IStrategy slashedStrategy) vaultToSlashedStrategy; // Vault -> Original Strategy mapping mapping(address vault => IStrategy originalStrategy) vaultToOriginalStrategy; // Vault -> Class ID mapping mapping(address vault => uint8 classId) vaultToClassId; // Operator Set -> Strategy existence tracking mapping(uint32 operatorSetId => mapping(address strategy => bool exists)) strategyExists; // User -> Vault -> Pending unallocation amount mapping(address user => mapping(address vault => uint256 estAmountToRedeem)) pendingUnallocate; // Vault -> Total pending unallocation amount mapping(address vault => uint256 totalEstAmount) totalPendingUnallocate; // Vault -> Withdrawn amount (for proportional distribution) mapping(address vault => uint256 withdrawnAmount) vaultWithdrawnAmount; } // Storage slot: keccak256("aleph.avs.storage") - 1 bytes32 constant AVS_STORAGE_LOCATION = 0x032f19bc7820640f5c22e33241af744bedc756ef7c75496e1c948383db604100; Copy function initializeVault( uint8 _classId, address _vault, IStrategy _lstStrategy ) external onlyRole(OWNER) returns (IStrategy slashedStrategy) Copy event VaultInitialized( address indexed vault, uint8 classId, address indexed originalToken, address indexed slashedToken, address slashedStrategy ); Copy function allocate( address _alephVault, IAlephVaultDeposit.RequestDepositParams calldata _requestDepositParams ) external nonReentrant onlyOperator validAmount(_requestDepositParams.amount) Copy event SlashExecuted( address indexed operator, uint32 operatorSetId, address indexed strategy, address indexed underlyingToken, uint256 amount, uint256 slashId ); event AllocatedToAlephVault( address indexed operator, address indexed alephVault, address originalStrategy, address slashedStrategy, uint256 amount, uint256 vaultShares, uint8 classId ); Copy function requestUnallocate( address _alephVault, uint256 _tokenAmount ) external nonReentrant validAmount(_tokenAmount) validVault(_alephVault) returns ( uint48 batchId, uint256 estAmountToRedeem ) Copy event UnallocateRequested( address indexed tokenHolder, address indexed alephVault, address slashedStrategy, uint256 tokenAmount, uint256 estAmountToRedeem, uint48 batchId, uint8 classId ); Copy function completeUnallocate( address _alephVault, uint256 _strategyDepositExpiry, bytes calldata _strategyDepositSignature ) external nonReentrant validVault(_alephVault) returns (uint256 amount, uint256 shares) Copy event UnallocateCompleted( address indexed tokenHolder, address indexed alephVault, address originalStrategy, address slashedStrategy, uint256 amount, uint256 shares, uint8 classId ); Copy function calculateUnallocateAmount( address _alephVault, uint256 _tokenAmount ) external view validVault(_alephVault) returns ( uint256 estimatedAmount, IStrategy strategy, IERC20 token ) Copy function getPendingUnallocateStatus( address _user, address _alephVault ) external view returns ( uint256 userPendingAmount, uint256 totalPendingAmount, uint256 redeemableAmount, bool canComplete ) Copy function calculateCompleteUnallocateAmount( address _user, address _alephVault ) external view returns (uint256 expectedAmount) Copy library AlephSlashing { // Calculate magnitude from token amount function calculateMagnitudeFromAmount( IAllocationManager _allocationManager, address _operator, OperatorSet memory _operatorSet, uint256 _amount, IStrategy _strategy ) internal view returns (uint64 magnitudeToSlash); // Execute slash and return slash ID function executeSlashAndGetId( IAllocationManager _allocationManager, address _avsAddress, address _operator, uint32 _operatorSetId, uint64 _magnitudeToSlash, IStrategy _strategy, string memory _slashDescription ) internal returns (uint256 slashId); // Clear redistributable shares to receive tokens function clearRedistributableShares( IStrategyManager _strategyManager, address _avsAddress, uint32 _operatorSetId, uint256 _slashId, IStrategy _strategy ) internal returns (uint256 tokenAmount); } Copy library AlephVaultManagement { // Get vault token and strategy function getVaultTokenAndStrategy( IAlephVaultFactory _vaultFactory, IStrategyFactory _strategyFactory, address _vault ) internal view returns (IERC20 vaultToken, IStrategy strategy); // Create slashed strategy for vault function createSlashedStrategyForVault( IStrategyFactory _strategyFactory, address _vault, IERC20 _originalToken, mapping(address => IStrategy) storage _vaultToSlashedStrategy, IERC20Factory _erc20Factory, address _minter ) internal returns (IERC20 slashedToken, IStrategy slashedStrategy); // Deposit to vault function depositToAlephVault( address _vault, IAlephVaultDeposit.RequestDepositParams calldata _requestDepositParams, uint256 _tokenAmount ) internal returns (uint256 shares); // Redeem from vault function redeemFromVault( address _vault, uint256 _shares, uint8 _classId ) internal returns (uint256 amount); } Copy library RewardsManagement { // Validate operator split is 0 function validateOperatorSplit( IRewardsCoordinator _rewardsCoordinator, address _operator, address _avsAddress ) internal view; // Submit operator-directed rewards function submitOperatorDirectedRewards( IRewardsCoordinator _rewardsCoordinator, address _avsAddress, address _operator, IStrategy _stakerStrategy, IERC20Eigen _rewardToken, uint256 _rewardAmount, string memory _rewardsDescription ) internal; // Calculate retroactive rewards window function calculateRetroactiveRewardsWindow( IRewardsCoordinator _rewardsCoordinator ) internal view returns (uint32 startTimestamp, uint32 duration); } Copy event OperatorRegistered(address indexed operator, uint32[] operatorSetIds); event OperatorDeregistered(address indexed operator, uint32[] operatorSetIds); event SlashExecuted( address indexed operator, uint32 operatorSetId, address indexed strategy, address indexed underlyingToken, uint256 amount, uint256 slashId ); event AllocatedToAlephVault( address indexed operator, address indexed alephVault, address originalStrategy, address slashedStrategy, uint256 amount, uint256 vaultShares, uint8 classId ); event UnallocateCompleted( address indexed tokenHolder, address indexed alephVault, address originalStrategy, address slashedStrategy, uint256 amount, uint256 shares, uint8 classId ); event VaultInitialized( address indexed vault, uint8 classId, address indexed originalToken, address indexed slashedToken, address slashedStrategy ); event UnallocateRequested( address indexed tokenHolder, address indexed alephVault, address slashedStrategy, uint256 tokenAmount, uint256 estAmountToRedeem, uint48 batchId, uint8 classId ); --- # Terms and Conditions | Aleph GitBook Assistant GitBook Assistant Working...Thinking... GitBook Assistant ##### Good morning I'm here to help you with the docs. What is this page about?What should I read next?Can you give an example? Ctrli AI Based on your context Send (Updated as of October 28, 2025) 1. Introduction These Terms & Conditions, together with any documents and additional terms they expressly incorporate by reference (collectively, these "Terms"), are entered into between Othentic Labs Ltd. ("Aleph," "we," "us" and "our") and you or the company or other legal entity you represent ("you" or "your"), and constitute a binding legal agreement. Please read these Terms carefully, as these Terms govern your use of our Portal and our Services, and expressly cover your rights and obligations, and our disclaimers and limitations of legal liability, relating to such use. By accessing or using the Interface, you signify that you have read, understand, and agree to be bound by and to comply with these Terms, including the mandatory arbitration provision and waiver of the right to bring class action claims in Section 16. If you do not agree to these Terms, you must not access or use our Portal or the Services. You must be able to form a legally binding contract online either on behalf of a company or as an individual. Accordingly, you represent that: (a) if you are agreeing to these Terms on behalf of a company or other legal entity, you have the legal authority to bind the company or other legal entity to these Terms; and (b) you are at least 18 years old (or the age of majority where you reside, whichever is older), can form a legally binding contract online, and have the full, right, power and authority to enter into and to comply with the obligations under these Terms. In addition, you also represent and warrant that you are not a citizen or resident of a state, country, territory or other jurisdiction that is embargoed by the United States or where your use of the Portal or the Services would be illegal or otherwise violate any applicable law. Specifically, you represent that you are not located in, organized in, or a resident of Cuba, Iran, Syria, North Korea, the Crimea region, Venezuela, or any other jurisdiction where Applicable law prohibits you from accessing or using the Services; and you represent that you are not named on the Office of Foreign Asset Control of the U.S. Department of the Treasury’s Specially Designated and Blocked Persons List. * * * 1. Key Definitions For the purpose of these Terms, the following capitalized terms shall have the following meanings: 2.1. "Affiliate" means, with respect to a party to these Terms, any legal entity that, directly or indirectly controls, is controlled by, or is under common control with such party. 2.2. "Applicable Law" means any domestic or foreign law, rule, statute, regulation, by-law, order, protocol, code, decree, or other directive, requirement or guideline, published or in force which applies to or is otherwise intended to govern or regulate any person, property, transaction, activity, event or other matter, including any rule, order, judgment, directive or other requirement or guideline issued by any Governmental Authority having jurisdiction over Aleph, you, the Portal or the Services, or as otherwise duly enacted, enforceable by law, the common law or equity. 2.3. "Ether" means the Ethereum Blockchain utility token that may be used to purchase computational resources to run decentralized applications or perform actions on the Ethereum Blockchain. 2.4. "Ethereum Address" means the unique public key digital asset identifier that points to an Ethereum-compatible wallet to which Ether may be sent or stored. 2.5. "Ethereum Blockchain" means the underlying blockchain infrastructure which the Portal leverages to perform portions of the Services. 2.6. "Fund" means a fund, protocol or other investment vehicle that uses the Portal to provide information about itself. 2.6."Governmental Authority" includes any domestic or foreign federal, provincial or state, municipal, local or other governmental, regulatory, judicial or administrative authority. 2.8. "Portal" means the Aleph site located at https://app.aleph.finance and all associated sites linked thereto by Aleph and its Affiliates, which includes, for certainty, Aleph's decentralized application layer on the Ethereum Blockchain. 2.9. "Protocol" means the decentralized web protocol released by Aleph, which provides Funds with technology tools to receive funds from investors in the Fund and provide certain other on-chain services to such investors. 2.10. "Token" means an "ERC-20" digital asset issued on the Ethereum Blockchain. 2.11. "Services" means the Portal and the Protocol. 2.12. "Third-Party Services" means other services (such as fiat-to-token gateway, or token-to-token swap) provided by third parties services running on Ethereum Blockchain. * * * 1. Fund Requirements Your ability to invest in a Fund will be subject to such Fund’s accreditation and KYC requirements. Any investor screening and accreditation is performed solely by the Funds or their third-party providers. Aleph does not provide accreditation, KYC, sanctions screening, AML/TF or similar services. * * * 1. Modifications to These Terms We reserve the right, in our sole discretion, to modify these Terms from time to time. If we make changes, we will provide you with notice of such changes, such as by sending an email, providing a notice through our Services or updating the date at the top of these Terms. Unless we say otherwise in our notice, any and all such modifications are effective immediately, and your continued use of our Services after we provide such notice will confirm your acceptance of the changes. If you do not agree to the amended Terms, you must stop using our Services. * * * 1. Services 5.1. Services. The Portal provides a bulletin board on which Funds may post information regarding their respective Funds, and through which investors in such Funds may view various information regarding the allocations and performance of their investments. Any use of the Protocols is made solely by the Funds and yourself. Aleph does not use or operate the Protocols. Aleph simply provides the Protocols as a technology tool to be used by you and the Funds. Aleph is NOT a broker-dealer, exchange, investment adviser, commodity trading adviser, money-service business, or custodian. Aleph does NOT custody fiat currency or digital assets and does not execute, clear, or settle any on-chain or off-chain transactions; all transfers occur peer-to-peer via self-executing smart contracts outside Aleph’s control. 5.2. Fees. Use of the Services is currently provided to you at no charge. We may elect to charge fees in the future. Investment in the Funds will be subject to any fees collected by the Funds, as will be communicated to you in the offering documents you sign or accept when electing to invest in a Fund. We may receive fees from the Funds. 5.3. Ethereum Gas Charges. Some Services involve the use of the Ethereum Blockchain, which may require that you pay a fee, commonly known as "Ethereum Gas Charges," for the computational resources required to perform a transaction on the Ethereum Blockchain. You acknowledge and agree that Aleph has no control over: (a) any Ethereum Blockchain transactions; (b) the method of payment of any Ethereum Gas Charges; or (c) any actual payments of Ethereum Gas Charges. Accordingly, you must ensure that you have a sufficient balance of Ether stored at your Ethereum Address to complete any transaction on the Ethereum Blockchain before initiating such Ethereum Blockchain transaction. We will make reasonable efforts to notify you of any Ethereum Gas Charges before initiating any Services that require the use of the Ethereum Blockchain. 5.4. Conditions and Restrictions. We may, at any time and in our sole discretion, restrict your access to, or otherwise impose conditions or restrictions upon your use of, the Services or the Portal, with or without prior notice. 5.5. No Broker, Legal or Fiduciary Relationship. Aleph is not your broker, lawyer, intermediary, agent, or advisor and has no fiduciary relationship or obligation to you regarding any other decisions or activities that you effect when using the Portal or the Services. Neither our communications nor any information that we provide to you is intended as, or shall be considered or construed as, advice. 5.6. Your Responsibilities. As a condition to accessing or using the Services or the Portal, you shall: * only use the Services and the Portal for lawful purposes and in accordance with these Terms; * ensure that, at all times, all information that you provide on the Portal is current, complete and accurate; and * maintain the security and confidentiality of your Ethereum Address. You shall be responsible for payment of all applicable taxes, if any, to which the Services might be subject and any and all other taxes which may apply to you. 5.7. Unacceptable Use or Conduct. As a condition to accessing or using the Portal or the Services, you will not: * violate any Applicable Law, including, without limitation, any relevant and applicable anti-money laundering and anti-terrorist financing laws, such as the Bank Secrecy Act, each as may be amended; * infringe on or misappropriate any contract, intellectual property or other third-party right, or commit a tort while using the Portal or the Services; * use the Services in any manner that could interfere with, disrupt, negatively affect, or inhibit other users from fully enjoying the Services, or that could damage, disable, overburden, or impair the functioning of the Services in any manner; * attempt to circumvent any content filtering techniques or security measures that Aleph employs on the Portal, or attempt to access any service or area of the Portal or the Services that you are not authorized to access; * use the Services to pay for, support, or otherwise engage in any illegal gambling activities, fraud, money-laundering, or terrorist activities, or other illegal activities; * use any robot, spider, crawler, scraper, or other automated means or interface not provided by us, to access the Services or to extract data; * introduce any malware, virus, Trojan horse, worm, logic bomb, drop-dead device, backdoor, shutdown mechanism or other harmful material into the Portal or the Services; * provide false, inaccurate, or misleading information; * post content or communications on the Portal that are, in our sole discretion, libelous, defamatory, profane, obscene, pornographic, sexually explicit, indecent, lewd, vulgar, suggestive, harassing, hateful, threatening, offensive, discriminatory, bigoted, abusive, inflammatory, fraudulent, deceptive or otherwise objectionable; * post content on the Portal containing unsolicited promotions, political campaigning, or commercial messages or any chain messages or user content designed to deceive or trick the user of the Service; * use the Portal or the Services from a jurisdiction that we have, in our sole discretion, or a relevant Governmental Authority has determined is a jurisdiction where the use of the Portal or the Services is prohibited; or * encourage or induce any third party to engage in any of the activities prohibited under this Section 5.7. 5.8. Your Assumption of Risks. You represent and warrant that you: * have the necessary technical expertise and ability to review and evaluate the security, integrity and operation of any transactions that you engage in through the Protocol; * have the knowledge, experience, understanding, professional advice and information to make your own evaluation of the merits, risks and applicable compliance requirements under Applicable Law of engaging in transactions through the Protocol; * acknowledge and understand that electing to invest in a Fund is at your sole risk and responsibility. Aleph is not responsible or liable for any transaction between yourself and any Fund or the operation or acts or omissions of any Fund; * know, understand and accept the risks associated with your Ethereum Address, the Ethereum Blockchain, Ether and Tokens; and * accept the risks associated with lending, borrowing and trading Ether and Tokens, and are responsible for conducting your own independent analysis of the risks specific to any Ether and Tokens lent, borrowed or traded by you and your use of the Services. You hereby assume, and agree that Aleph will have no responsibility or liability for, such risks. You hereby irrevocably waive, release and discharge all claims, whether known or unknown to you, against Aleph, its affiliates and their respective shareholders, members, directors, officers, employees, agents and representatives related to any of the risks set forth herein. 5.10. Your Content. You hereby grant to us a royalty-free, fully paid-up, sublicensable, transferable, perpetual, irrevocable, non-exclusive, worldwide license to use, copy, modify, create derivative works of, display, perform, publish and distribute, in any form, medium or manner, any content that is available to other users via the Aleph Platform as a result of your use of the Portal (collectively, "Your Content") through your use of the Services or the Portal, including, without limitation, for promoting Aleph (or its Affiliates), the Services or the Portal. You represent and warrant that: (a) you own Your Content or have the right to grant the rights and licenses in these Terms; and (b) Your Content and our use of Your Content, as licensed herein, does not and will not violate, misappropriate or infringe on any third party’s rights. * * * 1. Privacy Policy Please refer to our privacy policy for information about how we collect, use, share and otherwise process information about you. 7\. Smart-Contract Interaction; Wallets 7.1. Non-Custodial Nature. The Protocol integrates with smart contracts deployed on public or permissioned blockchains or centralized accounts selected by the User. Users connect third-party, non-custodial wallets (e.g., MetaMask, WalletConnect-enabled wallets, hardware wallets) to sign transactions. Aleph never holds, controls, or has access to your private keys or digital assets. Losing your private key or seed phrase will result in permanent loss of access to your assets and data, and Aleph cannot restore or recover such keys. 7.2. Transaction Irreversibility. Blockchain transactions are final and irreversible once confirmed. You are solely responsible for verifying transaction details, compatible network selection, gas fees, destination addresses, and smart contract logic before signing. Aleph has no ability to cancel, modify, or refund any transaction. 7.3. Third-Party Protocols and Bridges. Any use of decentralized exchanges, staking contracts, yield aggregators, bridges or other third-party protocols is at your own risk and subject to those providers’ terms. Aleph makes no endorsement or warranty regarding third-party protocols or tokens. * * * 8\. Proprietary Rights 8.1. Ownership of Services; License to Services. Excluding any open source software (as further described in Section 8.2) or third-party software that the Portal or the Services incorporates, as between you and Aleph, Aleph owns the Portal and the Services, including all technology, content and other materials used, displayed or provided on the Portal or in connection with the Services (including all intellectual property rights subsisting therein), and hereby grants you a limited, revocable, transferable license to access and use those portions of the Portal and the Services that are proprietary to Aleph. 8.2. Open Source Software License. The Protocol is governed by the most recent version of the Business Source License, commonly known as BUSL 1.1 (https://spdx.org/licenses/BUSL-1.1.html). 8.3. Limitations. Without limiting the foregoing, you may not: (a) resell, lease, lend, share, distribute or otherwise permit any third party to use the Portal or the Services; (b) use the Portal or the Services for time-sharing or service bureau purposes; or (c) otherwise use the Portal or the Services in a manner that violates these Terms or any other software licenses. 8.4. Trademarks. Any of Aleph's product or service names, logos, and other marks used in the Portal or as a part of the Services, including Aleph's name and logo are trademarks owned by Aleph, its Affiliates or its applicable licensors. You may not copy, imitate or use them without Aleph's (or the applicable licensor’s) prior written consent. * * * 9\. No Investment, Tax, or Legal Advice Aleph is not an investment adviser, tax adviser, broker-dealer, commodity trading adviser, or fiduciary. Information displayed through the Portal (including historical performance, allocations, token prices, or risk metrics) is provided for informational purposes only. Nothing on the Portal constitutes, or should be construed as, a solicitation, recommendation, endorsement, or offer to buy or sell any security, commodity, or digital asset, or to engage in any investment strategy. Users should obtain independent professional advice before making investment or tax decisions. All information provided through the Portal is provided by the Funds. Aleph does not independently verify, check or audit the accuracy of any such information. You are solely responsible for verifying any information provided by a Fund prior to investing in the Fund. PAST RESULTS ARE NOT A GUARANTEE OF FUTURE PERFORMANCE. * * * 10\. Blockchain-Specific Risks and Disclaimers You represent, warrant, acknowledge, and agree that: 10.1. Volatility and Speculation. Digital assets and protocols are highly volatile and speculative. The value of tokens can decrease substantially and may reach zero. 10.2. Technology, Security, and Regulatory Risks. The Services may be impacted by code exploits, 51% attacks, flash-loan attacks, network congestion, forks, rollbacks, or cryptographic advances (e.g., quantum computing). Regulatory inquiries or actions may change how or whether the Platform can operate in certain jurisdictions. 10.3. Smart-Contract and Protocol Risk. Smart contracts underlying fund subscriptions or redemptions might contain vulnerabilities, coding errors, or economic exploits. You assume full responsibility for reviewing code, logic, and audit reports (if any). 10.4. Loss of Private Keys. If you lose access to the private key or seed phrase controlling your wallet, you will permanently lose access to assets and data linked to that wallet. Aleph cannot assist in recovery. 10.5. Counterparty and Fraud Risk. Aleph does not verify Customer claims regarding fund strategy, assets under management, or performance. All investment decisions are at your own risk. 10.6. Token Authenticity. Anyone can create tokens, including malicious or spoof tokens mimicking legitimate projects. You must verify token contracts and authenticity independently. 10.7. Tax Treatment. The tax characterization of digital assets is uncertain and may vary by jurisdiction. You are solely responsible for determining, reporting, and paying applicable taxes. You expressly assume all such risks and agree that Aleph shall not be liable for any resulting losses. * * * 11\. Disclosures, Disclaimers Aleph is a developer of software. Aleph does not operate a digital asset exchange platform or execute peer-to-peer transactions through its Protocol and therefore has no oversight, involvement, or control with respect to your transactions, which are executed through the Funds and the Ethereum Blockchain. The Protocol is an autonomous decentralized web protocol deployed to the Ethereum Blockchain that operates in a disintermediated fashion, and, as such, Aleph does not participate in any of these transactions. Any transaction between yourself and any Fund is solely executed between yourself and the applicable Fund. Aleph is not a party to any transaction between yourself and a Fund or any decision by you to invest in a particular Fund. You are responsible for complying with all laws and regulations applicable to your transactions, including, but not limited to, the Commodity Exchange Act and the regulations promulgated thereunder by the U.S. Commodity Futures Trading Commission ("CFTC"), and the federal securities laws and the regulations promulgated thereunder by the U.S. Securities and Exchange Commission ("SEC"). You understand that Aleph is not registered or licensed by the CFTC, SEC, the Financial Crimes Enforcement Network or any financial regulatory authority. No financial regulatory authority has reviewed or approved the use of the Aleph software. This website and the Aleph software do not constitute advice or a recommendation concerning any commodity, security or other asset. Aleph is not acting as an investment adviser or commodity trading adviser to any person. Aleph does not own or control the underlying software protocols that enable the Protocol to function. In general, the underlying protocols are open-source software and anyone can use, copy, modify, and distribute them. Aleph is not responsible for operation of the underlying protocols, and Aleph makes no guarantee of their functionality, security, or availability. To the maximum extent permitted under Applicable Law, the Portal and the Services (and any of their content or functionality) provided by or on behalf of us are provided on an "AS IS" and "AS AVAILABLE" basis, and we expressly disclaim, and you hereby waive, any representations, conditions or warranties of any kind, whether express or implied, legal, statutory or otherwise, including, without limitation, the implied or legal warranties and conditions of merchantability, quality or fitness for a particular purpose, title, security, availability, reliability, accuracy, quiet enjoyment and non-infringement of third-party rights. * * * 1. Limitation of Liability In no event shall we (together with our Affiliates, including our and our Affiliates’ respective shareholders, members, directors, officers, employees, attorneys, agents, representatives, suppliers or contractors) be liable for any incidental, indirect, special, punitive, consequential or similar damages or liabilities whatsoever (including, without limitation, damages for loss of data, information, revenue, goodwill, profits or other business or financial benefit) arising out of or in connection with the Portal and the Services (and any of their content and functionality), any execution or settlement of a transaction, any performance or non-performance of the Services, whether under contract, tort (including negligence), civil liability, statute, strict liability, breach of warranties, or under any other theory of liability, and whether or not we have been advised of, knew of or should have known of the possibility of such damages and notwithstanding any failure of the essential purpose of these Terms or any limited remedy hereunder. In no event shall our aggregate liability (together with our Affiliates, including our and our Affiliates’ respective shareholders, members, directors, officers, employees, attorneys, agents, representatives, suppliers or contractors) arising out of or in connection with the Portal and the Services (and any of their content and functionality), any performance or non-performance of the Services, or any other product, service or other item provided by or on behalf of us, whether under contract, tort (including negligence), civil liability, statute, strict liability or other theory of liability exceed the amount of fees received by us from Funds in respect of your investments, if any, in the twelve (12) month period immediately preceding the event giving rise to the claim for liability. THE FUNDS ARE THIRD PARTIES THAT ARE UNAFILLIATED WITH ALEPH. ALEPH PROVIDES NO REPRESENTATIONS, WARRANTIES, PROMISES OR COMMITMENTS REGARDING ANY FUNDS. ALEPH WILL NOT HAVE ANY LIABILITY WHATSOEVER IN RESPECT OF ANY ACT OR OMISSION OF A FUND OR ANY PERSON OR ENTITY ON THEIR BEHALF. ANY TRANSACTION OR INTERACTION BETWEEN YOURSELF AND A FUND IS SOLELY AT YOUR OWN RISK AND EXPENSE. * * * 13\. Indemnification You will defend, indemnify, and hold harmless us, our Affiliates, and our and our Affiliates’ respective shareholders, members, directors, officers, employees, attorneys, agents, representatives, suppliers and contractors (collectively, "Indemnified Parties") from any claim, demand, lawsuit, action, proceeding, investigation, liability, damage, loss, cost or expense, including without limitation reasonable attorneys’ fees, arising out of or relating to (a) your use of, or conduct in connection with, the Portal, Services or Protocol; (b) Ethereum Blockchain assets associated with your Ethereum Address; (c) any feedback or user content you provide to the Portal, if any; (d) your violation of these Terms; or (e) your infringement or misappropriation of the rights of any other person or entity. If you are obligated to indemnify any Indemnified Party, Aleph (or, at its discretion, the applicable Indemnified Party) will have the right, in its sole discretion, to control any action or proceeding and to determine whether Aleph wishes to settle, and if so, on what terms. * * * 14\. Electronic Notices You consent to receive all communications, agreements, documents, receipts, notices, and disclosures electronically (collectively, our "Communications") that we provide in connection with these Terms or any Services. You agree that we may provide our Communications to you by posting them on the Portal or by emailing them to you at the email address you provide in connection with using the Services, if any. You should maintain copies of our Communications by printing a paper copy or saving an electronic copy. You may also contact our support team to request additional electronic copies of our Communications by filing a support request at [\[email protected\]](https://docs.aleph.finance/cdn-cgi/l/email-protection) . * * * 1. Changes, Suspension and Termination 15.1. Changes to Services. We may, at our sole discretion, from time to time and with or without prior notice to you, modify, suspend or disable, temporarily or permanently, the Services, in whole or in part, for any reason whatsoever, including, but not limited to, as a result of a security incident. 15.2. No Liability. We will not be liable for any losses suffered by you resulting from any modification to any Services or from any suspension or termination, for any reason, of your access to all or any portion of the Portal or the Services. 15.3. Survival. The following sections will survive any termination of your access to the Portal or the Services, regardless of the reasons for its expiration or termination, in addition to any other provision which by law or by its nature should survive: Sections 1, 4, 5, 6.3, and 7-19. * * * 16\. Dispute Resolution and Arbitration Please read the following section carefully because it requires you to arbitrate certain disputes and claims with Aleph and limits the manner in which you can seek relief from us, unless you opt out of arbitration by following the instructions set forth below. In addition, arbitration precludes you from suing in court or having a jury trial. You and Aleph agree that any dispute arising out of or related to these Terms or our Services is personal to you and Aleph and that any dispute will be resolved solely through individual action, and will not be brought as a class arbitration, class action or any other type of representative proceeding. Except for small claims disputes in which you or Aleph seeks to bring an individual action in small claims court located in the county of your billing address or disputes in which you or Aleph seeks injunctive or other equitable relief for the alleged unlawful use of intellectual property, you and Aleph waive your rights to a jury trial and to have any dispute arising out of or related to these Terms or our Services resolved in court. Instead, for any dispute or claim that you have against Aleph or relating in any way to the Services, you agree to first contact Aleph and attempt to resolve the claim informally by sending a written notice of your claim ("Notice") to Aleph by email at [\[email protected\]](https://docs.aleph.finance/cdn-cgi/l/email-protection) or by certified mail addressed to [\[email protected\]](https://docs.aleph.finance/cdn-cgi/l/email-protection) . The Notice must (a) include your name, residence address, email address, and telephone number; (b) describe the nature and basis of the claim; (c) set forth the specific relief sought. If you and Aleph cannot reach an agreement to resolve the claim within thirty (30) days after such Notice is received, then either party may submit the dispute to binding arbitration administered by JAMS. All disputes submitted to JAMS will be resolved through confidential, binding arbitration before one arbitrator. Arbitration proceedings will be held in New York City, New York, in accordance with the JAMS Streamlined Arbitration Rules and Procedures ("JAMS Rules"). You and Aleph agree that these Terms affect interstate commerce and that the enforceability of this Section 16 will be substantively and procedurally governed by the Federal Arbitration Act, 9 U.S.C. § 1, et seq. (the "FAA"), to the maximum extent permitted by applicable law. The arbitrator may conduct only an individual arbitration and may not consolidate more than one individual’s claims, preside over any type of class or representative proceeding or preside over any proceeding involving more than one individual. You and Aleph agree that for any arbitration you initiate, you will pay the filing fee and Aleph will pay the remaining JAMS fees and costs. For any arbitration initiated by Aleph, Aleph will pay all JAMS fees and costs. You and Aleph agree that the state or federal courts of the State of New York and the United States sitting in New York City, New York have exclusive jurisdiction over any appeals and the enforcement of an arbitration award. Any claim arising out of or related to these Terms or our Services must be filed within one year after such claim arose; otherwise, the claim is permanently barred. You have the right to opt out of binding arbitration within 30 days of the date you first accepted this Section 16 by emailing us at [\[email protected\]](https://docs.aleph.finance/cdn-cgi/l/email-protection) . In order to be effective, the opt-out notice must include your full name and address and clearly indicate your intent to opt out of binding arbitration. If any portion of this Section 16 is found to be unenforceable or unlawful for any reason, (a) the unenforceable or unlawful provision shall be severed; (b) severance shall have no impact on the remainder of this Section; and (c) to the extent that any claims must therefore proceed on a class, collective, consolidated, or representative basis, such claims must be litigated in a civil court of competent jurisdiction and not in arbitration. * * * 17\. Governing Law The interpretation and enforcement of these Terms, and any dispute related to these Terms, the Portal or the Services, will be governed by and construed and enforced in accordance with the laws of the State of New York, as applicable, without regard to conflict of law rules or principles (whether of the State of New Yorkor any other jurisdiction) that would cause the application of the laws of any other jurisdiction. You agree that we may initiate a proceeding related to the enforcement or validity of our intellectual property rights in any court having jurisdiction. With respect to any other proceeding that is not subject to arbitration under these Terms, the state and federal courts located in the Southern District of New York, will have exclusive jurisdiction. You waive any objection to venue in any such courts. * * * 1. Miscellaneous Any right or remedy of Aleph set forth in these Terms is in addition to, and not in lieu of, any other right or remedy whether described in these Terms, under Applicable Law, at law or in equity. Our failure or delay in exercising any right, power, or privilege under these Terms shall not operate as a waiver thereof. The invalidity or unenforceability of any of these Terms shall not affect the validity or enforceability of any other of these Terms, all of which shall remain in full force and effect. If any part of these Terms is determined to be invalid or unenforceable under applicable law including, without limitation, the warranty disclaimers and liability limitations stated herein, then the invalid or unenforceable provision(s) will be deemed superseded by a valid, enforceable provision that most closely matches the intent of the original provision, and the remainder of these Terms shall continue in full effect. We will have no responsibility or liability for any failure or delay in performance of the Portal or any of the Services, or any loss or damage that you may incur, due to any circumstance or event beyond our control, including without limitation any flood, extraordinary weather conditions, earthquake, or other act of God, fire, war, insurrection, riot, labor dispute, accident, action of government, communications, power failure, or equipment or software malfunction. You may not assign or transfer any right to use the Portal or the Services, or any of your rights or obligations under these Terms, without our express prior written consent, including by operation of law or in connection with any change of control. We may assign or transfer any or all of our rights or obligations under these Terms, in whole or in part, without notice or obtaining your consent or approval. Headings of sections are for convenience only and shall not be used to limit or construe such sections. These Terms contain the entire agreement and supersede all prior and contemporaneous understandings between the parties regarding the Portal and the Services. In the event of any conflict between these Terms and any other agreement you may have with us, these Terms will control unless the other agreement specifically identifies these Terms and declares that the other agreement supersedes these Terms. * * * By accessing or using the Portal, you acknowledge that you have read, understood, and agree to be bound by these Terms. [PreviousLegal](https://docs.aleph.finance/resources/legal) [NextPrivacy Policy](https://docs.aleph.finance/resources/legal/privacy-policy) Last updated 1 month ago Was this helpful? Was this helpful? --- # Email Protection | Cloudflare Please enable cookies. Email Protection ================ You are unable to access this email address docs.aleph.finance -------------------------------------------------------------- The website from which you got to this page is protected by Cloudflare. Email addresses on that page have been hidden in order to keep them from being accessed by malicious bots. **You must enable Javascript in your browser in order to decode the e-mail address**. If you have a website and are interested in protecting it in a similar way, you can [sign up for Cloudflare](https://www.cloudflare.com/sign-up?utm_source=email_protection) . * [How does Cloudflare protect email addresses on website from spammers?](https://developers.cloudflare.com/waf/tools/scrape-shield/email-address-obfuscation/) * [Can I sign up for Cloudflare?](https://developers.cloudflare.com/fundamentals/setup/account/create-account/) Cloudflare Ray ID: **9b9653acde807223** • Your IP: Click to reveal 54.237.218.47 • Performance & security by [Cloudflare](https://www.cloudflare.com/5xx-error-landing) ---