Investors 2.0 (TBA)
Investors is the first blockchain-based and asset-backed staking platform made by Hillstone Finance. In Investors, users can stake cryptocurrency in products (for example, venture capitals) guaranteed by Hillstone Finance and obtain profit. Users can convert cryptocurrencies deposited in Investors to HSF token (Hillstone Finance token) anytime, and extract these HSFs from financial products for sale.
Update from early Investors, The Room(secondary HSF investment) concept has been removed and implemented DAO. It was initially able to join the fund in progress. Now, entering the fund in progress isn't possible, and the remaining share transfers to Hillstone DAO. Hillstone DAO uses the profit from the share for HSF buyback and staking compensation for stakers.
Every component of Investors except KYC/AML Module and Web Interface operates based upon Ethereum. The diagram above briefly illustrates the contract architecture of Investors. Each Module in the diagram has the following functions:
- InvestorRegistry: creates POOL, and passes staking lists to Web Interface for registration.
- InvestorV2: a staking product contract that receives cryptocurrency from users, and enables users to dispose HSF for cash; it is the vital components of Investors service that interacts directly with users. It follows the ERC721 standard.
- USDT (TetherToken): ERC-USDT token; it could be substituted for other stable coins depending on the different products listed on Investors.
- HillstoneFinance: HSF token contract.
- ContractStorage: used for storing contract information. It could be a centralized static server, a decentralized file storage such as IPFS, or a smart contract.
- User: users of Investors; they can deposit or dispose cryptocurrency, and sell the rights to staking products by disposing HSF token.
- Admin: manages products listed on Investors, price of cryptocurrencies deposited in products, the status of Investor contract such as investment contract location.
The following passage explains the lifecycle of a staking product in Investors with a simple example.
An organization with an adequate collateral enters into a mortgage agreement with Hillstone Finance and stores the contract in ContractStorage:
- Name of the collateral: WhaleFund1
- Target Staking Amount: 1,000,000 USD
- Minimum Staking: 700,000 USD
- Interest Rate: 10%
- Product Sale Starts at: 2021-07-14 00:00
- Product Ends at: 2021-08-14 00:00
- Staking Period: 2 years
A product operator(Admin) of the Products passed by voting within the Hillstone DAO will call the function InvestorRegistry.createInvestor("WhaleFund1", 1000000, 5, "https://contract.hillstone.finance/WhaleFund1", …). When createInvestor() function is called, InvestorRegistry will create InvestorV2 and passes the address information to Admin through CREATE2.
Users access to product information and deposit USDT through Investor Web Interface. InvestorV2 will approve the amount of USDT users want to deposit. The function call InvestorV2.deposit (10000 10^18) will deposit 10000 USDT into the product. If users wish to withdraw the deposited money, they can call InvestorV2.withdraw (10000 10^18) to take 10000 USDT back. Admin will set the price of HSF one day before the sale of a staking product, and call HillstoneFinance.approve to let InvestorV2 collect HSF tokens which are disposable any time.
After Product Sale
The sale of a product ends after the end of the product deadline. If the deposited money is below the minimum staking, the product is canceled, and users have to call InvestorV2.withdraw to take their deposited USDT back.
If the deposit exceeds the minimum staking (700,000 USD), The deposited USDT will be sent to Admin, and Admin will deposit the corresponding amount of HSF in InvestorV2. Users can no longer use InvestorV2.withdraw once the deposit is sent to Admin. Users can call InvestorV2.exit to convert their share in the product to HSF token.
If a user chooses to exit from a staking product, the user will receive HSF according to the price set by Admin.
Staking Returns and Liquidation
Admin will deposit USDT in InvestorV2 at the staking repayment deadline. After the deadline, users can not call InvestorV2.exit, but they can call InvestorV2.claim to receive returns. After every user receive their returns and Admin collect deposited HSF, the Investor contract will expire.
If Admin does not deposit USDT in InvestorV2 after the staking deadline, users can use InvestorV2.exit to collect HSF corresponding to their deposited amount, or ask for collateral transfer to Admin.