Creating a Genesis Pool
Last updated
Last updated
Create Application - In order to create a Genesis Pool simply navigate to the CompX staking page and select the "Create" button at the top right of the list of available pools. The user will be brought to a screen that introduces the creation application. This setup process is designed to be simple, and to walk the user through the setup and initialization of their staking contract. Each configurable item has a description to clarify the utility of each option.
It's worth clarifying the two modes that Genesis pools can be configured to. The two options are Standard and Drip injection.
Standard injection: This configuration is reminiscent of a common staking pool. When the pool is created, the creator front loads all of the rewards to the application and this large bunch of funds is distributed to stakers according to schedule laid out at inception. These pools run for a finite time, and are then exhausted and cease to pay out when all allocated tokens have been distributed.
Drip injection: This pool type functions like the CompX xUSD and LP staking rewards that are driven by real time interest revenue. The application will be created, without the need to pre-fill it with tokens. Each time that the injection timer tells it to, the contract checks to see if funds have been added. If no funds are present, it waits for another predetermined amount of time and checks again, ad infinitum. If the contract has received rewards it sends all of them in a single distribution, proportional to the stake of each staker. Drip injection pools rely on external infrastructure to function. Tokens will need to be delivered to the contract to continue paying out to stakers. This can be done manually, or scripted simply, and requires only that the relevant tokens are sent to the staking pools address.
Once the creator has configured the application to their liking (choosing token, injection frequency and pool type), they can press the "Create Application button" and sign the necessary transaction. The App ID, which was previously marked as TBC, will now be populated with the App ID for the new pool.
For convenience, a progress bar is provided to roughly guide the user through the creation process. Also a small explanation of each step can be seen above the button that advances the process to the next step.
Fund Initial Contract - Funding the contract allows for the opting in of the necessary assets that need to be accessible to the account. After ensuring that the user has over the minimum required Algos to proceed, they can press the "Fund Initial Contract" button to proceed.
Initialize Application - The next step is to proceed with "Initialize Application". Sign any necessary transactions to proceed to step 4.
Initialize Storage - Step 4 involves setting aside enough Algo to open up a data storage box on chain. The ~11.56 Algo that are sent at this step are to maintain the minimim required balance for saving the necessary contract data on chain. Because this is an MBR, when the staking pool is dismantled, these Algo will be returned to the creating wallet. The Algo deposited here are just a deposit to be refunded. Assuming that enough Algo is available, the user can press the button to send the required Algo and advance to the next step.
Set Reward Parameters - Confirm that the release schedule is configured as desired, click the button and sign the necessary transactions to proceed to the next step.
Pay Fees - The fee structure for the deployment of a staking pool can come in one of two forms. The user can pay a flat fee of 100xUSD tokens by selecting the "Pay 100 xUSD" button. However, as liquidity is also a valuable resource, the fee can be waived if the reward token as greater than $1000 in liquidity paired with the $CompX token. If enough liquidity already exists, the user can click the "Verify $CompX Liquidity" button. The application will check both the Tinyman and Pact exchanges to verify that enough liquidity is available, and if so allow the user to progress to the next step without having to pay the 100xUSD fee.
Send Reward Assets - The next step allows you to send any necessary reward tokens into the contract. The user will need to have enough tokens to cover the calculated necessary reward. If these are in place, the they'll be able to click the "Send Reward Assets" button to progress towards the final step.
Set Contract to Active - After signing the necessary transactions the contract will be live and will soon appear on the CompX Staking page. At this point users will be able to make their deposits, and begin staking with CompX.
After the final step has been completed, the creator can manage their pool through the "Your Genesis Pools" section at the bottom of the creation space.
Manage Pool - This button allows a user to resume building the contract if they were unable to finish the pool in one session.
Change Admin - Use of this option allows the user to relinquish control of the staking pool to another wallet address. This process is irreversible if the user doesn't control the new address, so use caution when using this feature.
Delete Pool - This option allows the user to completely remove pool from the blockchain. As a result, deletion of the pool will refund the MBR deposit that was paid in Algo at the time of creating the pool.