# Introduction

The [Cadmos Protocol](https://docs.cadmos.finance/start-here/www.cadmos.finance) bridges legacy asset management to the blockchain.

The documentation is divided into three parts:

* [General Concepts:](/general-concepts/permissionless-investment-pools) Provides a high-level overview of the Protocol and its stakeholders.
* [Investor Portal](/investor-portal/introduction): How-to interact with the Protocol from an investor's perspective: select a pool, deposit, withdraw ...
* [Administration Platform](/administration-platform/introduction): A user-guide on launching and Administrating an Investment Pool from our dedicated front-end.


# FAQ

Frequently asked questions about Cadmos

## **What is Cadmos?**&#x20;

Cadmos is a fintech company utilizing blockchain technology to innovate within capital markets and facilitate cross-border payments, aiming to democratize financial accessibility worldwide. It specializes in removing intermediaries from financial transactions, providing a direct and efficient route for financial activities through its platforms: Cadmos.Finance, Cadmos.Pay, and Cadmos.IO.

## **What is the Cadmos Finance Tokenization Platform?**&#x20;

The Cadmos Finance Tokenization Platform ([www.cadmos.finance](http://www.cadmos.finance)) is a blockchain-based infrastructure designed to digitalize private markets, asset management, and fundraising. It leverages smart contracts and tokenization to automate transactions, maintain secure shareholder registries, and enhance the liquidity of traditionally illiquid assets by converting them into digital tokens.

## **How does it work?**&#x20;

Cadmos' platform converts traditional financial assets into digital tokens on the blockchain, representing ownership or stakes in the underlying assets. This process enables global investor access, streamlines capital raising, and investment processes. The use of Ethereum Virtual Machine (EVM)-compatible blockchains ensures interoperability across different blockchain environments, while smart contracts automate fund management and compliance tasks.

## **What are the features?**&#x20;

Key features include flexible deployment across EVM-compatible blockchains, instant transactions for subscriptions and redemptions, automated administration tasks through smart contracts, enhanced distribution capabilities, direct investor engagement via blockchain, customizable and white-label solutions for brand consistency, and programmable compliance with built-in mechanisms for KYC, electronic signatures, and investor whitelists.

## **Who is it for?**&#x20;

The Cadmos platform serves a wide audience in the financial ecosystem, including fund managers seeking to modernize fund administration, crowdfunding platforms, fundraising initiatives looking to utilize tokenization, investors desiring innovative and liquid investment opportunities, financial institutions integrating blockchain into their strategies, and ICOs or utility token offerings seeking a structured and compliant platform.


# Permissionless Investment Pools

Your investment token

With **Investment Pool**, [Cadmos ](https://www.cadmos.finance/)bridges traditional Asset Management techniques and processes to the blockchain.

#### What is an Investment Pool?

* A **smart contract** where investors pool their money to buy a portfolio of different assets such as tokens or real world assets like stocks, bonds, and other securities.
* Managed by a professional **Strategist** who makes investment decisions on behalf of the investors.

#### Benefits of Investing in an Investment Pool

* **Diversification**: Spreading your investment across different assets helps reduce risk and increase potential for higher returns.
* **Expert management**: With a strategist's expertise, you can rest assured that your investments are in good hands.
* **Reduced Barrier to Entry**: High transaction fees and complexity no more; investors benefit from the pooling of funds and may invest from a low transaction fee chain. For instance you can invest into Ethereum protocols from BSC.
* **Configurability**: Investment Pools may be configured to be fully trustless or fully custodial - you call the shots.
* **Liquidity**: the Investment Pool token complies with ERC-20 standards and may be exchanged on the secondary market.
* **Audit-trail**: The Blockchain logs everything forever.

#### How to Deposit in an Investment Pool

* **Flexible and easy**: You can buy or sell tokens of the Pool at any time, and there's no minimum investment requirement.
* Token price is calculated based on the Pool's latest net asset value (**NAV**)

#### The Role of a Pool Administrator

* Handles critical tasks such as overseeing the Strategists and computing its performance. Investment Pool Administration may be fully **trustless** with oracles and keeper jobs or partly **delegated** to third party entities
* Enables you to focus on the big picture of your investment.

#### Risks and Expenses to Consider

* **Market risk**: The value of the assets held by the fund can decline due to changes in the market.
* Management **rewards** and other expenses can eat into your returns.


# Overview

Or How I Learned to Stop Worrying and Love Finance

There are Three Roles in an Investment Pool:

* The **Investors** who have tokens to invest.
* The **Strategists** who create the investment strategy.
* The **Administrators** who oversee the Strategists and certify their Performance. Investment Pool Administration may be fully trustless with oracles and keeper jobs or partly delegated to third party entities.

### **In a nutshell:**

1. **Investors** can buy or sell their **Asset** to/from the **Investment Pool** in exchange of **Investment Pool** **tokens.**  The exchange rate depends on the Pool **Net Asset Value** and deposits and withdrawals are handled together during regular **Batch-Settlements**.
2. The **Strategist** endeavours to increase the **Pool Net Asset Value** according to a chosen investment strategy.
3. **Investment Pool Token**s can always be freely bought and sold on the **secondary market.**

### Main Concepts

* **Asset** or **Base Currency**: the token you deposit in the Pool and in which Pool value is labelled.
* **Investment Pool Token**: the token received once a deposit has been confirmed. **Investment Pool tokens** are always exchanged against **the Base Currency** at **Net Asset Value** on the **Primary Market**.
* **Pool TVL**: The total Value Locked within the Pool: the value of all the Pool assets.
* **Net Asset Value (NAV)**: The Intrinsic Value of Each Pool Token; NAV = Pool TVL/Pool Total Supply.
* **Primary Market**: The Contracts in which you can deposit Assets to obtain freshly minted Investment Pool Tokens at NAV or withdraw your invested Assets by burning the Investment Pool Tokens at NAV. The pending deposits and withdrawals are settled in batches during **Batch-Settlement** events. Batch-Settlement may not be instantaneous because liquidity may have to be bridged back to the Pool in case of large withdrawals.&#x20;
* **Batch-Settlement**: The transaction which settles pending deposits and withdrawal at current **NAV.**
* **Secondary Market**: PoolTokens may always be freely bought and sold on the market.  Arbitrage should ensure that the secondary market price stays in a reasonable range  around NAV. E.g.: if the token is cheaper than NAV on the secondary market then by buying it on the secondary market and exchanging it at NAV on the primary market you can pocket riskless profits.
* **Benchmark**: A basic strategy compared to which the Pool Performance is evaluated. A pool actively buying and selling bitcoins to time the market may for instance have as benchmark the simple bitcoin 'hodl' strategy.

<figure><img src="/files/qNkjSK0AvJSadgfQZYZD" alt=""><figcaption><p>Investment Pool summary architecture</p></figcaption></figure>


# Rewards

Sharing is Caring

[Cadmos](https://www.cadmos.finance/) implement a reward system to align interests between all Investment Pool stakeholders.

Rewards are automatically computed and paid out by the Protocol smart contracts. Five types of rewards are supported:

## Overview

### **Administration Rewards**

An annual percentage of the Pool TVL is granted to the Pool Administrator.

Administration Rewards can be paid out in cash or by minting new Pool tokens.

### **Management Rewards**

An annual percentage of the Pool TVL is granted to the Pool Strategist.

Management Rewards can be paid out in cash or by minting new Pool tokens.

### Performance Rewards

A percentage of the overperformance of the Pool NAV relative to its Benchmark is granted to the Pool Strategist. The Performance (or Incentive) Reward structure can be adjusted with two further parameters:

* **Crystallization Period**: This is the minimum time period between two Performance Reward claims. For instance, if the Crystallization Period is of one quarter then the Performance Reward can be computed and paid out at most once per quarter.
* **Soft Hurdle Rate**: This is the threshold rate of return in excess of the Benchmark that the Pool must achieve before Performance Rewards are paid out. The Hurdle Rate is 'soft' in the sense that full Performance Rewards in excess of the Benchmark are paid out once the threshold is crossed.
* **Hard Hurdle rate**: This is the threshold rate of return in excess of the Benchmark that the Pool must achieve before Performance Rewards are paid out. The Hurdle Rate is 'hard' in the sense that only Performance Rewards in excess of the Benchmark and hard hurdle are paid out.

Performance Rewards can be paid out in cash or by minting new Pool tokens.

### Burn Rewards

At Withdrawal, a reward may be granted to remaining investors or to the Strategist. Burn rewards are always settled in cash.

### Mint Rewards

At Deposit, a reward may be granted to existing investors, to the Strategist or to a Referrer. Mint rewards are always settled in cash.

### Protocol Rewards

In the future, we plan to redistribute 10% of the Administration, Management and Performance Rewards of all Pools to [Cadmos](https://www.cadmos.finance/) token holders.

## Computation

### Administration and Management Rewards

The administration and management reward rates are fixed at the Pool level by the Pool Administrator there is a hard cap at 2% (resp. 10%) p.a. in the smart contract for the administration (resp. the management) reward.

These rewards are periodically settled using the below formula:

$$
M = TVL\times \frac{t-\tau}{Y}\times r\_M
$$

With:

* $$M$$: the due administration/management reward
* $$TVL$$: the current vault Total Value Locked
* $$t$$: the current timestamp&#x20;
* $$\tau$$: the last timestamp streaming fees were paid
* $$Y$$: A year
* $$r\_M$$: the annual Reward rate

### Performance Rewards

The performance reward rate is fixed at the Pool level by the Pool Administrator (hard cap at 50% in the smart contract)

The performance reward is periodically settled using the below formula:

$$
P = \left(TVL-HW\right)^+\times r\_p
$$

With:

* $$P$$: the due performance reward
* $$TVL$$: the current vault Total Value Locked
* $$HW$$: the Pool **High Watermark**
* $$r\_P$$: the performance reward rate

The **High Watermark** is then updated:  $$HW = max \left( HW,TVL\right)$$ &#x20;

The minimum period between two performance fee claims is configurable and called **Crystallization Period** &#x20;

Performance Rewards are only paid if the Soft Hurdle threshold is crossed, i.e.

$$
TVL > HW+ I\_ {SH}
$$

With  $$I\_{SH}$$  the Soft Hurdle Index, which grows at an annual rate specified by the Pool Soft Hurdle rate.

Further Note that the High Watermark is updated to take benchmark returns into account.

### Burn Rewards

The burn reward rate is fixed at the Pool level by the Pool Administrator (hard cap at 20% in the smart contract)

The burn reward is levied at each withdrawal by materialising a discount to NAV at redemption:

$$
NAV\_{withdrawal}=NAV\times(1-BurnRewardRate)
$$

**Note:** Burn rewards may be granted to the Strategist and/or to the Pool, in the latter case they are redistributed to all remaining Pool investors; they exist to compensate long-term investors of the inefficiencies caused by frequent withdrawals.

**Note:** Under current implementation, the Pool Strategist is not subject to burn rewards for direct withdrawals.

### Mint Rewards

Mint Rewards are created by the Pool Administrator for a specific Referrer. All deposits originating from a referral link will result into a Mint Reward for the referrer. In case no referral id is specified, a default Mint Reward may be applied.

The mint reward is levied upon deposit by materialising a premium to NAV at suscription:

$$
NAV\_{deposit}=NAV\times(1+MintRewardRate)
$$


# Administration

Heaven is above all yet; there sits a judge, That no king can corrupt.

## Administration

Pool Administration has the task of managing the Pool's interactions with the Pool Strategist and with Pool token holders.

Note that all tasks may be made maximally trustless and decentralised by delegating Pool Administration to an adequately built smart contract. Cadmos Investment Pools are self-contained and do not depend on specific external implementations.

**​Important Note**: the exact powers of the Pool Administrator are Pool-specific as they depend on the specific implementation of the used Pool Administration contract.

**Note**: With SimpleAdministrator, we provide a simple Administration contract, which powers may be easily restricted. More on this [here](/administration-platform/pool-management/administrator-privileges).​

Pool Administration can perform the following administrative actions:

## Core actions

### Batch-Settlement

At **Batch-Settlement**, all pending deposits within the **Primary Market** are converted to new **Pool tokens** at **NAV** and all pending withdrawals are handled.

Pool Administration accordingly has to communicate with the **Pool Strategist** to ensure sufficient liquidity is available in the Pool during **Batch-Settlement** to handle withdrawal requests.

### Total Asset updates

Pool Administration ensures the Pool TVL is up-to-date within the InvestmentPoolCore contract.

This is necessary to adequately evaluate **NAV** for **primary market** operations as well as for **reward computation**.

### Transfers to the Pool Treasury <a href="#transfers-to-the-pool-treasury" id="transfers-to-the-pool-treasury"></a>

Transfer of Funds present in the Pool Contract to the **Pool Treasury** for management by the **Strategist** may only be ordered by the Pool Administrator

### Payment of Performance and Management Rewards <a href="#payment-of-performance-and-management-rewards" id="payment-of-performance-and-management-rewards"></a>

Payment of Rewards accrued to the **Pool Strategist and Administrator** are ordered by the Pool Administration.

### Snapshot

The Administrator can snapshot current supply and balances.

### Liquidation Start <a href="#liquidation-start" id="liquidation-start"></a>

Pool Administration start the process of Pool liquidation.

## Optional Rights <a href="#optional-rights" id="optional-rights"></a>

### Change of State Variables: <a href="#change-of-state-variables" id="change-of-state-variables"></a>

Pool Administration may be granted the right to change the following variables:

* **Rewards**: Administration Reward, Burn Reward, Management Reward, Performance Reward, Soft Hurdle Rate and Crystallization Period
* **Management**: Pool Strategist and Pool Treasury Address
* **Primary Market addresses**
* **Primary Market CoolDown**
* **Pause/unPause In/OutFlowPools**
* **Set Minimal/Maximum Deposit and Withdraw Limits**
* **Define Mint and Referral rewards**

### Distributions <a href="#direct-deposit-withdrawal" id="direct-deposit-withdrawal"></a>

Pool Administration may be granted the right to distribute Pool assets to its tokenholders&#x20;

### Direct Deposit/Withdrawal <a href="#direct-deposit-withdrawal" id="direct-deposit-withdrawal"></a>

Pool Administration may be granted the right to circumvent the Primary Market contract to directly settle deposits and withdrawals for some addresses. Pool **Burn Rewards** may also optionally be waived in such cases.

### GasToken withdrawal <a href="#gastoken-withdrawal" id="gastoken-withdrawal"></a>

Pool Administration may be granted the right to withdraw gasToken from the InvestmentPool in order to cover the gas costs associated with their administrative tasks. The Base variable used to compute the said gas costs (sstore e.g.) may also be modifiable.

### Token Freeze <a href="#token-freeze" id="token-freeze"></a>

Pool Administration may be granted the right to freeze some token holders' balances, effectively preventing them from doing any transfer.

### Whitelist and Transfer Restrictions <a href="#whitelist" id="whitelist"></a>

Pool Administration may be granted the right to restrict investment or peer-to-peer transfers to a whitelist of addresses.

Pool Administration may also be granted the right to make the token untransferable so that it can only be bought or sold via the primary market.

### Mint  <a href="#mint" id="mint"></a>

Pool Administration may be granted the right to arbitrarily mint Vault tokens.

### Asset Payments

Pool Administration may be granted the right to make an arbitrary payment out of the Pool assets. A typical use case would be to settle a service provider invoice.

### **Forced Transfers** <a href="#forced-transfers" id="forced-transfers"></a>

Pool Administration may be granted the right to force the transfer Pool tokens between users.Example use-cases include:

* Compliance with *security tokens* standards
* Safeguard against token losses
* Application of Court/DAO decisions

## Protocol Oversight <a href="#protocol-oversight" id="protocol-oversight"></a>

The [Cadmos ](https://www.cadmos.finance/)Protocol can be granted the right to forcefully change a Pool's Administrator. This right is deactivated by default; once it has been granted, it can only be waived by the Protocol.


# Introduction

The [Cadmos Investor Portal](https://docs.cadmos.finance/investor-portal/www.app.cadmos.finance) is your gateway into decentralized investment and savings.

From there you can:

* [Consult ](/investor-portal/the-pool-list)a list of Investment Pools and take your pick
* [Focus ](/investor-portal/the-pool-page)on the detailed characteristics of a single Pool and check your Investment status
* [Deposit](/investor-portal/deposit), [WIthdraw ](/investor-portal/withdraw)or [Collect ](/investor-portal/collect-rewards)pending rewards


# The Pool List

The Pool List is the homepage of the Cadmos.Finance dApp.&#x20;

<figure><img src="/files/x26HNY7mJe7oBciOemRT" alt=""><figcaption><p>Cadmos Investment Pool List</p></figcaption></figure>

From there you can parse the list of Cadmos Pools on all blockchains and at a glance focus on a single Pool and learn:

* Its **name** and **symbol.**
* The **Blockchain** it is deployed on.
* Its **Strategist** and **Administrator.**
* The **Type of Investments** made and the **key benefits** of choosing this Pool.
* Its **Base Currency** and **TVL.**
* Its **Reward levels.**
* Its **launch date** and **performance.**


# The Pool Page

Zeroing in on a single Investment Pool

The Pool Page focuses on a single Cadmos Investment Pool,&#x20;

<figure><img src="/files/WccJRFcvpQhIjv9kjAlZ" alt=""><figcaption><p>The Cadmos Pool Page</p></figcaption></figure>

The Page is structured along eight segments:

1. **Name and symbol.**
2. Its **Strategist**, **Administrator** and communicated **Risk Level**.
3. Its Latest **NAV** and its **Total return.**
4. Wallet Panel: gives an overview of the **user holdings**.
5. interaction buttons to either **add the Pool token to Metamask** or **download the pool factsheet** as a pdf.
6. **Historical Pool Performance** and **investment case highlights** from the Strategist.
7. **Key Facts** sourced from the smart contract such as TVL and reward levels.
8. Pool action buttons: to **deposit**, **withdraw** or **claim rewards**.


# Deposit

How to Invest in a Cadmos Pool

Investment Pool deposits are handled in the Pool chosen Base Currency. Deposits are by default permissionless and the Pool Administrator can configure the following restrictions:

* Minimum and maximum deposit limits
* Investor Whitelist

If you qualify to invest in the Pool, you will be able to click on the "Deposit" Button at the bottom right of the [Pool Page.](/investor-portal/the-pool-page)

## Deposit Workflow

### Approval

The First Step is to approve the Investment Pool deposit smart contract for the base currency.

<figure><img src="/files/VpsLhBVMomMmMMGZXhKA" alt=""><figcaption><p>Deposit: Approval</p></figcaption></figure>

There are two options:

* **Approve Exact**: Approve the contract for the exact amount you intend to deposit.
* **Approve Max**: Approve the contract for any deposit amount. By selecting this option you will be able to deposit in the future in one step instead of two, hence saving on gas costs.

### Deposit

Once the contract has been approved you will be able to deposit the intended amount.

<figure><img src="/files/3FsP32y6jLTX08JO5EL4" alt=""><figcaption><p>Deposit</p></figcaption></figure>

After depositing into the smart contract, you will be queued with other depositors into the subscription smart contract. Your deposit will only effectively be converted into new Investment Pool shares upon the Administrator's order, during **batch-settlement**.

While your deposit is in queue, you will see an amount under the *Processing Deposit* section of the [Pool Page](/investor-portal/the-pool-page) Wallet Panel.

### Cancelling a Deposit

You may cancel an in-process deposit by clicking on the "Cancel Deposit" button at the bottom right of the [Pool Page](/investor-portal/the-pool-page).

**Note:** The Administrator may configure a *Deposit Cooldown* period, which is a minimum waiting time before a pending deposit can be cancelled.

### Collecting your tokens

Once the deposit is processed, you can collect your freshly minted Investment Pool tokens by using the *Collect* button at the bottom right of the [Pool Page](/investor-portal/the-pool-page).

You can easily add the Investmen tPool token to Metamask by clicking on the dedicated button at the top right of the [Pool Page](/investor-portal/the-pool-page).


# Withdraw

How to withdraw from a Cadmos Pool.

Investment Pool withdrawals are handled in the Pool chosen Base Currency. Withdrawals are by default permissionless and the Pool Administrator can configure the following restrictions:

* Minimum and maximum withdrawal limits
* Investor Whitelist

If you qualify to withdraw from the Pool, you will be able to click on the "Withdraw" Button at the bottom right of the [Pool Page.](/investor-portal/the-pool-page)

## Withdrawal Workflow

### Approval

The First Step is to approve the Investment Pool withdrawal smart contract for the Investment Pool token.

<figure><img src="/files/hhgN7lH9MHGGZcXqPWe7" alt=""><figcaption><p>Withdrawal: Approval</p></figcaption></figure>

There are two options:

* **Approve Exact**: Approve the contract for the exact amount you intend to withdraw.
* **Approve Max**: Approve the contract for any withdrawal amount. By selecting this option you will be able to withdraw in the future in one step instead of two, hence saving on gas costs.

### Withdrawal

Once the contract has been approved you will be able to withdraw the intended amount.

<figure><img src="/files/avl2YdaoSmdCl65q0szs" alt=""><figcaption><p>Withdrawal</p></figcaption></figure>

After depositing your Investment Pool tokens into the smart contract, you will be queued with other withdrawers into the redemption smart contract. Your withdrawal will only effectively be converted into Base Currency tokens upon the Administrator's order, during **batch-settlement**.

While your withdrawal is in queue, you will see an amount under the *Processing Withdrawal* section of the [Pool Page](/investor-portal/the-pool-page) Wallet Panel.

### Cancelling a Withdrawal

You may cancel an in-process withdrawal by clicking on the "Cancel Withdrawal" button at the bottom right of the [Pool Page](/investor-portal/the-pool-page).

**Note:** The Administrator may configure a *Withdrawal Cooldown* period, which is a minimum waiting time after which a withdrawal may be cancelled.

### Collecting your tokens

Once the withdrawal is processed, you can collect your tokens by using the dedicated button at the bottom right of the [Pool Page](/investor-portal/the-pool-page).


# Collect Rewards

Cadmos Investment Pools may distribute rewards to their tokenholders. These rewards are always paid in the Pool Base Currency.

When distributed rewards are available to be collected, you will see a *Collect Reward* button appear at the bottom right of the [Pool Page](/investor-portal/the-pool-page):

<figure><img src="/files/HIFmhMHGUq0hY5BUGOdB" alt=""><figcaption><p>'Collect Rewards' Button on the Pool Page</p></figcaption></figure>

This will open a new window, indicating the current Reward Period as well as how much you are entitled to:

<figure><img src="/files/2h4VsNcpKHVMUDaP2hi8" alt=""><figcaption><p>Collectable Rewards</p></figcaption></figure>


# Introduction

The Cadmos Administration Platform is your command centre as a Pool Administrator.

From there you can:

* [Create ](/administration-platform/user-management)new users for your organisation
* [Launch ](/administration-platform/launching-an-investment-pool)a new Investment Pool
* [Modify ](/administration-platform/pool-front-end)the information displayed on the Pool front-end
* [Manage ](/administration-platform/pool-management)the Pool smart contract


# User Management

Cadmos Administration Platform users always belong to a 'Company', which is either an **Investment Pool Administrator** or a **Strategist.** Within a company there exist base users and administrators.

### Companies

Companies are created on the Platform by the Cadmos team an they are defined by their name, visual identity, website and a contact email address.

The Name, logo and website appear on the Investment Pool front-end for the information of prospective investors.

When launching an Investment Pool, a verification email is sent to the assigned Strategist and Administrator, the Pool will only be displayed on the Investor Portal when both the Administrator and Strategist have validated the assignment.

### Company Users

Company Users are defined by their name, email, wallet address and role. The wallet address will be used by the newly created user to log into the Platform.

Users may be created as base users or administrators. The privilege of Company Administrators is to manage the Company Users on the Platform and to delete the Company Investment Pool front-end pages.

<figure><img src="/files/n7FCBuaCMsrVcuIeQdLw" alt=""><figcaption><p>The User List</p></figcaption></figure>

<figure><img src="/files/aq7kkFU5ebn0H3mk7Ktx" alt=""><figcaption><p>New User Form</p></figcaption></figure>


# Launching an Investment Pool

The Workflow to launch an Investment Pool is accessible at *Investment Pools* / *Create Pool*

## Phase I:  Deploying the Smart Contracts

<figure><img src="/files/uMwdO8eZpOGIJ3DyTeRK" alt=""><figcaption><p>Launching a New Investment Pool: phase I</p></figcaption></figure>

The first phase is to deploy the Pool contracts onto the blockchain, the form is structured along nine elements:

1. **The Blockchain**: Cadmos Investment Pools can be launched on all EVM compatible chains. [Contact us](https://www.cadmos.finance/contact-us) if the chain you would like to deploy on is not listed in this form.
2. **The Pool Base Currency or Asset**:  The address of the underlying token used for the Pool for accounting, depositing, and withdrawing. Token can be any standard ERC20 - some of the most popular choices are already listed on the Platform. \ <mark style="color:red;">**Warning**</mark>: DO NOT USE deflationary tokens or non standard ERC20.
3. **The Pool Strategist Address**:  The Strategist Wallet Address to which management and performance rewards are paid.
4. **The Pool Treasury Address**: The address to which Asset is sent for investment by the Strategist. Typically a purpose-built smart contract or multisignature wallet.
5. **The Pool Token Name:** The name of the Pool ERC20 Token.
6. **The Pool Token Symbol:** The symbol of the Pool ERC20 Token.
7. **Whitelist:** The address of the whitelist policy associated to the Pool. If None is specified then a new [Whitelist ](broken://pages/E0fLkWFvIv6YluC3nWnU)is deployed.
8. **Launch Pool Button:** click on the Button to deploy and configure the Investment Pool with its dependencies
9. **Skip**: Use If you already deployed a Pool (e.g. by directly interacting with the [Factory](broken://pages/fv6aIlEQD9kBl0wx8wdd)) and only want to configure the front-end

## Phase II:  Creating the Pool front-end

<figure><img src="/files/kPes0BuWs8yw7qYW7RPC" alt=""><figcaption><p>Launching a New Investment Pool: phase II</p></figcaption></figure>

Once the smart contracts have been deployed to the blockchain, the next step is to configure the Pool front-end on the Investor Portal. The form to this effect is structured along 13 elements:

1. **Pool Name**: Sets the Pool Name on the front-end, by default identical to the token name. Note that although the Pool Name can be changed on the front-end, the token name is immutable.
2. **The Pool Launch Date:** Configure the official Pool launch date which appears on the front-end. By default equal to the smart contract creation date.
3. **The Pool Token**: Address of the Pool smart contract. Should only be modified if you skipped phase I.
4. **Chain**: The Blockchain the Pool is deployed on.
5. **Running Yield**: Display  a Running Yield figure. Tick or untick the box for the figure to be shown or not.
6. **Risk Level:** Select a risk level for the Pool (1 to 7). Choice of the Risk level must be made following a holistic evaluation. By means of reference [here ](https://www.esma.europa.eu/sites/default/files/library/2015/11/09_1026_final_kid_srri_methodology_for_publication.pdf)is a summary guideline for traditional investment funds.
7. **Administrator**: Select the Company, which will be highlighted as Administrator on the Pool front-end. The selected company will need to verify this attribution via a verification link for the Pool to be displayed on the front-end.
8. **Strategist**: Select the Company, which will be highlighted as Strategist on the Pool front-end. The selected company will need to verify this attribution via a verification link for the Pool to be displayed on the front-end.
9. **Type**: Select the category to which the Pool belongs: e.g. long-short, real assets ....
10. **Key Benefits**: Highlight the top benefits of investing into this particular Pool.
11. **Objectives**: The Pool Investment Objectives.
12. **How it works**: Describe the Investment methodology and how the Strategist works behind the scenes.
13. **Create Pool:** Creates the Pool front-end.

#### Phase III: Optional Information

Once the Pool front-end has been created you may optionally add some more colour for the Pool investors by adding data on underlying tokens, protocols and the Pool Treasury addresses. These steps can be skipped.

<figure><img src="/files/3Pm2owO5l3SykxCEsw1C" alt=""><figcaption><p>Adding information on the Pool underlying tokens</p></figcaption></figure>

<figure><img src="/files/W66Vp6kiFp7PKnGhMujj" alt=""><figcaption><p>Adding information on the protocols the Pool is exposed to</p></figcaption></figure>

<figure><img src="/files/59AELWkiGqOnroJVt1h5" alt=""><figcaption><p>Adding multiple Pool treasury addresses</p></figcaption></figure>


# Pool Front-End

The Pool Front-End may be configured by clicking on the 'modify Pool front-end' button in the Pool list

<figure><img src="/files/IbLNPo42cDXpYbR6gPbW" alt=""><figcaption><p>Access the Pool front-end configuration page</p></figcaption></figure>

## The Investment Pool front-end configuration page

<figure><img src="/files/KVYOKlqxLPDRtdF7Vr9T" alt=""><figcaption><p>The Pool front-end configuration page</p></figcaption></figure>

The Pool front-end configuration menu is made out of four parts:

* **A - Investment Pool**: This is the main panel, which contains most of the data displayed to the investment portal users.
* **B - Underlyings**: From here you can add data on the Pool underlyings.
* **C - Protocols**: From here you can add data on the protocols the Pool is exposed to.
* **D - Treasuries**: From here you add treasury addresses to be displayed on the Pool front-end.

&#x20;Focusing on A, the form is made out of 13 elements:

1. **Pool Name**: Sets the Pool Name on the front-end, by default identical to the token name. Note that although the Pool Name can be changed on the front-end, the token name is immutable.
2. **The Pool Launch Date:** Configure the official Pool launch date which appears on the front-end. By default equal to the smart contract creation date.
3. **The Pool Token**: Address of the Pool smart contract. Should only be modified if you skipped phase I.
4. **Chain**: The Blockchain the Pool is deployed on.
5. **Running Yield**: Display  a Running Yield figure. Tick or untick the box for the figure to be shown or not.
6. **Risk Level:** Select a risk level for the Pool (1 to 7). Choice of the Risk level must be made following a holistic evaluation. By means of reference [here ](https://www.esma.europa.eu/sites/default/files/library/2015/11/09_1026_final_kid_srri_methodology_for_publication.pdf)is a summary guideline for traditional investment funds.
7. **Administrator**: Select the Company, which will be highlighted as Administrator on the Pool front-end. The selected company will need to verify this attribution via a verification link for the Pool to be displayed on the front-end.
8. **Strategist**: Select the Company, which will be highlighted as Strategist on the Pool front-end. The selected company will need to verify this attribution via a verification link for the Pool to be displayed on the front-end.
9. **Type**: Select the category to which the Pool belongs: e.g. long-short, real assets ....
10. **Key Benefits**: Highlight the top benefits of investing into this particular Pool.
11. **Objectives**: The Pool Investment Objectives.
12. **How it works**: Describe the Investment methodology and how the Strategist works behind the scenes.
13. **Edit Pool:** Confirms the Pool front-end modifications.


# Pool Management

The Investment Pool management panel is accessible by clicking on the 'manage Investment Pool' button in the Pool list.

<figure><img src="/files/KVlZlCEzy52iNbY1kar8" alt=""><figcaption><p>Access the Pool management panel</p></figcaption></figure>

From There you can:

* [Get an Overview of the Pool current status](/administration-platform/pool-management/overview)
* [Update NAV and Benchmark values](/administration-platform/pool-management/nav-and-benchmark-updates)
* [Manage in- and outflows](/administration-platform/pool-management/inflows-and-outflows)
* [Set Deposit Referral rewards](/administration-platform/pool-management/referral-reward)
* [Set and pay Strategist and Administrator Rewards](/administration-platform/pool-management/rewards)
* [Distribute Assets to tokenholders or make an Asset payment](/administration-platform/pool-management/distributions-and-payments)
* [Manage the Whitelist](/administration-platform/pool-management/whitelist-management)
* [Configure the Administrator Privileges](/administration-platform/pool-management/administrator-privileges)
* [Claim accrued gas costs](/administration-platform/pool-management/claim-gas-costs)


# Overview

The Pool Management Dashboard is composed as follows:

<figure><img src="/files/t4de6Av24MUrtRptH2AK" alt=""><figcaption><p>The Pool Management Dashboard</p></figcaption></figure>

1. A top **navigation panel**
2. **Pool addresses:** The list of the significant blockchain addresses that make out the Investment Pool, such as the main contract address, the inflowPool address.... It is also from here that you may elect to give an override right to the Protocol ('Protocol Oversight'). When the box is ticked, the Protocol may change the Pool Administrator.

Values with a little tick box at their right may be changed: <img src="/files/dsDm85GsaBWRDApMjp8E" alt="" data-size="line">

3. **Pool Values:** Check the contract Asset Balance, current NAV, total supply... You can also check from here the amount of due rewards and have them paid
4. **Pool Rewards:** Check and configure the current Pool rewards. More on this [here](/administration-platform/pool-management/rewards).
5. **Pool Treasury**:  Check the balance of the Investment Pool in its Base Currency and either
   1. Transfer it to the Treasury for management by the Strategist
   2. Make a distribution to token holders
   3. Make an arbitrary payment
6. **Pool Admin**: Here you can check the administration gas costs and claim a reimbursement. More on this [here](/administration-platform/pool-management/claim-gas-costs).
7. **Pool Status:** Here you can check the pending in- and outflows and configure deposit and withdrawal minimum/maximum as well as cooldown times. More on this [here](/administration-platform/pool-management/inflows-and-outflows).
8. **Update NAV Chart**: Update the Investor Portal Pool NAV chart. This data is automatically updated on a periodic basis and you might want to manually force an update.


# NAV and Benchmark updates

Total Pool Asset and Benchmark values need to be updated by the Administrator to ensure a proper computation of the Pool NAV  and of rewards.

Total Assets and Benchmark may manually be updated from the Pool Dashboard or in the first step of the batch settlement process. The Administrator need only input the global value of all Pool assets, the reward and per share computations are taken care of by the smart contract.

<figure><img src="/files/G9V6jJGa8qgpxhEnJkfz" alt=""><figcaption><p>Updating NAV and Benchmark Value</p></figcaption></figure>

**Note:** To be eligible to update total assets and benchmark value, the caller must hold the *FLAG\_UPDATE\_TOTALASSETS* privilege.


# Inflows and Outflows

## Checking pending In- and Outflows

Pending In- and Outflows may be checked from the **batch settlement** panel or within the Pool Dashboard.

<figure><img src="/files/V2FJc8y5PBZ5eTy9XFYR" alt=""><figcaption><p>Checking Pool pending flows</p></figcaption></figure>

From the Pool Status component, you may also take the following actions:

* **Configuring Pool Cooldown**: Configure a time (in seconds) during which requested deposits or withdrawals may not be cancelled. Typical use-case is to smooth out cash management and prevent grieving attacks whereby the net expected flows are made highly unstable by users hoping in and out. Maximum value is one month and the caller needs to be cleared for the *FLAG\_POOL\_COOLDOWN\_CHANGE* privilege.
* **Set Deposit and Withdraw limits**: Configure minimum and maximum deposit or withdraw limits. To have no maximum limit, set it to zero. Caller needs to be cleared for the *FLAG\_DEPOSITLIMIT\_CHANGE* or *FLAG\_WITHDRAWLIMIT\_CHANGE* privilege.
* **Pause Pools:** When ticked, prevents new inflows (resp. outflows) requests. Caller needs to be cleared for the *FLAG\_PAUSE\_INFLOWPOOL* or *FLAG\_PAUSE\_OUTFLOWPOOL* privilege.

## Handling In- and Outflows

To handle in- and outflows, go the batch settlement panel.

1. You will first be asked to [update Total Asset and Benchmark Values.](/administration-platform/pool-management/nav-and-benchmark-updates)
2. You will then see a projection of net expected flows as of latest NAV and be given the choices of settling inflows, outflows or both. Note that outflows may only be handled if current inflows and the Pool cash balance cover the expected cash outflow.


# Referral Reward

## Referral Reward set-up

The configuration of Referral Rewards may be accessed from the dedicated panel in the pool management navigation bar.

<figure><img src="/files/uo5NFAuoyDahy29UOyvC" alt=""><figcaption><p>Referral Reward configuration page</p></figcaption></figure>

From here you can:

### Referral Reward Rate set-up:

Input the Referrer ID, the Referral Reward Rate (in %) and the payment address.

* **Note**:  a single ID cannot be re-used for two different payment addresses.
* **Note**: if the reward rate is increased then there is a ten minutes timelock and the `updateMintReward`function needs to be called with at  least a ten minute delay to register the change. Reward rate decreases are  immediately set up.
* **Note**: Caller needs to be cleared for the *FLAG\_MINTREWARD\_CHANGE* privilege.

### Check a Referrer status

Input the Referral ID you would like checked and click on the 'Check Referral ID' box. Current and queued Referral Reward Rates will be displayed. A button will appear if the Referral Reward Rate is updatable.

### Delete a Referrer

Input the Referral ID you would like checked and click on the 'Delete Referrer' box.

* **Note**: A deleted ID cannot be reused.
* **Note**: A deleted Referrer can still claim pending rewards.
* **Note**: If a user tries to deposit a second time while using a deleted referral ID and having a deposit in queue then his first deposit is cancelled.
* **Note**: Caller needs to be cleared for the *FLAG\_MINTREWARD\_CHANGE* privilege.


# Rewards

Rewards can be set-up from the appropriate panel in the Pool management dashboard.

More information on the reward computation can be found [here](/general-concepts/rewards).

<figure><img src="/files/0qAAInIK6oufOuuXZ645" alt=""><figcaption><p>Setting up Pool Rewards</p></figcaption></figure>

From here you can set-up:

### The Management Reward Rate

* The value is capped at 10%p.a.&#x20;
* If increased, pays due rewards to avoid retroactive billing (Decrease can be retroactive).
* Caller needs to be cleared for the *FLAG\_REWARD\_CHANGE* privilege.

### The Performance Reward Rate

* The value is capped at 50%.
* If increased, pays due rewards to avoid retroactive billing and resets the crystallization period (Decrease can be retroactive).
* Caller needs to be cleared for the *FLAG\_REWARD\_CHANGE* privilege.

### The Soft Hurdle Rate

* If decreased, pays due rewards to avoid retroactive billing and resets the crystallization period.
* Caller needs to be cleared for the *FLAG\_REWARD\_CHANGE* privilege.

### The Performance Reward Crystallization Period

* Note that a decrease will only be effective at the start of the next Crystallization Period.
* Caller needs to be cleared for the FLAG\_CRYSTALLIZATIONPERIOD\_CHANGE privilege.

### Strategist and Investor Burn Rewards

* Both are capped at 20%
* If increased when the Pool already has investors, there is a one-month timelock and the the function needs to be called twice with the same parameters.
* Caller needs to be cleared for the *FLAG\_REWARD\_CHANGE* privilege.

### The Administration Reward Rate

* The value is capped at 2%p.a.&#x20;
* If increased, pays due rewards to avoid retroactive billing (Decrease can be retroactive).
* Caller needs to be cleared for the *FLAG\_ADMINREWARD\_CHANGE* privilege.

### The Protocol Reward Share

You may check what is the Protocol Reward share on Strategist and Administrator rewards.

### The Reward Payment Method

You may elect to have rewards paid into newly minted Pool tokens or in the Pool Base Currency

Caller needs to be cleared for the *FLAG\_REWARD\_PAYMENTMETHOD* privilege.


# Distributions and Payments

The Assets into the Pool Smart Contract can be managed from the appropriate panel in the Pool Dashboard.

<figure><img src="/files/XmIqoXFZBPdkblvX60iq" alt=""><figcaption><p>Managing the assets in the Pool Core Smart Contract</p></figcaption></figure>

From here you can:

### Transfer Assets to the Pool Treasury&#x20;

Transfers Assets to the Pool Treasury for management by the Strategist.

**Note**: Cannot be called while the Pool is in liquidation.

**Note**: Caller needs to be cleared for the *FLAG\_TRANSFER\_TREASURY* privilege.

### Distribute Assets to Token Holders.

Does a Snapshot and disburses the chosen amount to the [Distributor ](broken://pages/YoXzHixXsbiXeVH4YyQz)smart contract.

Token holders will then be able to claim their reward pro rata their pool holdings at the time the snapshot was made.

**Note**: Cannot be cancelled/reversed.

**Note**: Token holders unable to claim their rewards from the Distributor smart contract will lose them. Pay special attention to tokens locked in e.g. liquidity pools.&#x20;

**Note**: Caller needs to be cleared for the *FLAG\_DISTRIBUTE\_ASSET* privilege.

### Make a Payment

Make an arbitrary payment out of the Pool coffins. Typically used to settle e.g. an invoice.

**Note**: Caller needs to be cleared for the *FLAG\_ASSET\_PAYMENT* privilege.


# Whitelist Management

The configuration of Whitelist parameters may be accessed from the dedicated panel in the pool management navigation bar.

<figure><img src="/files/d9NuRv0tXwd9HmaBilfC" alt=""><figcaption><p>Whitelist parameters configuration page</p></figcaption></figure>

From here you can:

### 1 - Check and set-up the Whitelist Contract address

The [Whitelist ](broken://pages/E0fLkWFvIv6YluC3nWnU)smart contract stores on-chain the whitelisted user data. Several pool may share the same Whitelist.

**Note:** Caller needs to be cleared for the *FLAG\_WHITELIST\_CHANGE* privilege.

### 2 - Check and modify your Whitelist privileges

There are three possible whitelist management privileges:

* **Can Whitelist Addresses**: Role holder can add/remove an address to/from the Whitelist.
* **Can Freeze Addresses**: Role holder can freeze/unfreeze Addresses
* **Can Whitelist Addresses off-chain**: Role holder can construct an off-chain signature allowing a user to add himself to the Whitelist. This is used to pass whitelisting gas costs to the user

You can elevate another address to the privilege you have by clicking on the 'delegate' button ![](/files/nqICnz2xJfuhYYKYBTYE) and renounce a privilege you have by clicking on the 'renounce privilege' button ![](/files/Ton0M29llCNloJxJHzAg).

### **3 - Set Investment Pool Token Transfer restrictions**

Cadmos Investment Pools support three types of transfer restrictions:

* **Primary Market Whitelist**: Investor needs to be whitelisted to access the primary market
* **Peer to Peer Transfer Whitelist**: Peer to Peer transfers are only allowed between whitelisted addresses
* **No Peer-to-Peer Transfers**: Peer to Peer transfers are disabled. This can be used to force secondary market transactions through a specific proxy (so as e.g. to implement secondary market transfer fees)

**Note:** Caller needs to be cleared for the *FLAG\_TRANSFERRESTRICTION* privilege.

### 4 - Check an Address

Checks if a given address is whitelisted or frozen

### 5 - Whitelist or Freeze and Address

Here you can:

* Add a given address to the whitelist if you have the appropriate privilege.
* Freeze a given address if you have the appropriate privilege.

### 6 - Cancel Investor Deposit

Used to eject an investor from the InflowPool. Typically used if you wish to freeze/unWhitelist a user who is already queued into the InflowPool.

**Note:** Caller needs to be cleared for the *FLAG\_CANCEL\_DEPOSIT* privilege.


# Administrator Privileges

The configuration of administrator privileges may be accessed from the dedicated panel in the pool management navigation bar.

<figure><img src="/files/UC2fnjycARXvYfxXEm7i" alt=""><figcaption><p>Administrator privilege configuration page</p></figcaption></figure>

From here you can:

### 1 - Check your current privileges

Administrator Privileges can be of two types:

* **Normal Privileges**, displayed in the bottom left panel, which can be renounced
* **Critical Privileges**, displayed in the bottom right panel, which can be transfered but not renounced.

Each privilege is identified by a unique number, or flag, which is a power of 2 so that ach Administrator rights can be summed up in a single number, displayed above.

### 2 - Accept a privilege right transfer

Privilege transfers are done in two steps for security reasons, first the transferor inputs the right to transfer and the transferee address, then the transferee must confirm by inputting the transferor address. This button is used to accept a privilege transfer from a transferor.

### 3 - Renounce privileges

You can renounce privileges by selecting them in the bottom left panel and clicking on 'Renounce Admin Right'. Note that Critical Admin Rights cannot be renounced.

### 4 - Give privileges

You can give privilege to another address by selecting them in the bottom panels, inputting the address and clicking on 'Give Admin Right'.&#x20;

**Note**: Caller needs to be cleared for the *FLAG\_DELEGATOR* privilege.

### 5 - Restrict privileges

You can restrict the privileges of another address by selecting them in the bottom left panels inputting the address and clicking on 'Restrict Admin Right'.&#x20;

**Note**: Caller needs to be cleared for the *FLAG\_RESTRICTOR* privilege.

### 6 - Transfer Admin Rights

You can transfer your privileges of another address by inputting the address and clicking on 'Transfer Admin Right'.&#x20;

Note that privilege transfers are done in two steps for security reasons, first the transferor inputs the right to transfer and the transferee address, then the transferee must confirm by inputting the transferor address. The transfer will only be effective once confirmed by the transferee.

**Note**: Caller needs to be cleared for the *FLAG\_DELEGATOR* privilege.

### 7 - Restrict Critical privileges

You can restrict the critical privileges of another address by selecting them in the bottom right panels, inputting both the address to restrict and another address which still holds the right and clicking on 'Restrict Admin Right'.&#x20;

**Note**: Critical Privilege can only be restricted if you prove that another address has the privileges you are restricting. This ensures that each critical right is always at least held by one address.

**Note**: Caller needs to be cleared for the *FLAG\_RESTRICTOR* privilege.


# Claim Gas costs

You can check your gas expenses and claim reimbursement from the Investment Pool in the Pool dashboard.

<figure><img src="/files/BF79ZX1TisEz5a32QGtV" alt=""><figcaption><p>Claiming gas cost reimbursement</p></figcaption></figure>

### Checking gas expenses and setting gas computation parameters

Gas Expenses are accounted in the 'Pool Admin' panel. The parameters used to compute these expenses can be seen and modified by clicking on 'Gas Cost Values'

<figure><img src="/files/Mj0ASRVFJ1SFIGTNY99Y" alt=""><figcaption><p>Gas Cost Parameters</p></figcaption></figure>

Gas Cost computation depends on three parameters:

* **The Base Gas Cost**: The minimum gas cost of any transaction, by default 21'000
* **The Call Data Gas Cost**: The gas cost for a non-zero byte of calldata, by default 16
* **SStore Gas Cost**: the gas cost of the SSTORE operation, by default 5'000

These Values can be changed if the caller has the *FLAG\_GASCOST\_UPDATE* privilege.

### Claiming Gas Reimbursement

You can claim gas expense reimbursement with the 'Claim Gas Compensation' button. Note that you must have the FLAG\_GAS\_REIMBURSEMENT privilege to do so and that gas expense accounting is done individually for each administrator (you can not claim the expenses of another user).


# Liquidation

The Pool End-of-life

**Liquidation** is used to close down Pool operations in an orderly fashion and allow investors to directly withdraw their investment.

## Entering liquidation

The Pool can be placed in liquidation at any time  via the **'Other Actions'** panel.

**Note**: Caller needs to be cleared for the FLAG\_LIQUIDATION privilege.

**Note**: This cannot be reversed.

## Consequences of liquidation

When in liquidation:

* The Pool cannot accept any new deposit
* No transfer can be made anymore to the **PoolTreasury**.
* All rewards are set to 0, including the burn reward.
* Investors may directly withdraw from the Pool at NAV by calling the `liquidate()` method

## Withdrawing during liquidation

Any investor may directly withdraw from the Pool when it is in liquidation. This can be done by calling `liquidate()` on the relevant [InvestmentPoolCore ](broken://pages/KvY7HAbcQYp9KIU4dMLV)smart contract.

**Note:** When in Liquidation, the [OutflowPool ](broken://pages/3a7s62TEXYMWARyiN5p2)contract cannot be used to withdraw anymore.


# Smart Contracts

A look under the hood

The  [Cadmos ](https://www.cadmos.finance/)**InvestmentPool** is composed of one core smart contract:

* **InvestmentPoolCore**: which is the main contract of the Cadmos Investment Pool solution. It contains all the logic relative to the Investment Pool Liability Management.

as well as of six satellites:

* **InflowPool**: which is used to pool investor deposits while waiting for the next **Batch-Settlement**.
* **OutflowPool**: which is used to pool investor withdrawals while waiting for the next **Batch-Settlement**.
* **SimpleAdministrator**: an Investment Pool Administration contract which includes an Administrator right restriction system.
* **Distributor**: which is used to store and distribute rewards to the Investment Pool tokenholders.
* **RewardManager**: which handles the logic of reward computation and payment.
* **Whitelist**: which is used to store a list of whitelisted agents.

Global protocol variables are defined within the **ProtocolRegistry**.

\--> InvestmentPool **Deployment** is handled via the **InvestmentPoolFactory** smart contract.

**Hint**: Take a look at our [Github repo](https://github.com/Cadmos-finance/Vault).

The **InvestmentPool** is designed to be highly modulable and functionalities such as oracle-based **NAV** evaluation or trustless strategies may be incorporated by setting up **Investment Pool Administration** or the **Treasury** as purpose-built smart contracts.


# Upgrade Patterns

Cadmos Investment Pools can opt-in smart contract upgrades through an UUPS proxy pattern. Each contract administrator may call the `upgrade()` function, which will request the new implementation contract from the **Protocolregistry**. A 15 minute timelock is enforced by the **ProtocolRegistry** to alleviate front-running concerns.


# Deployment Addresses


# Security and Audits

Audits for Cadmos Contracts

## V 1.0 Audits

## V 0.9 Audits

| Auditor                                                                                          | Date       |
| ------------------------------------------------------------------------------------------------ | ---------- |
| [PashovKrum](https://github.com/pashov/audits/blob/master/solo/CadmosFinance-security-review.md) | 03-01-2023 |


