- Community-driven Token Sales with DelfyAuction
Just now·11 min read
Decentralized finance has proven to liberate users from the shackles of ruthless terms of service, in addition to non-confidentiality and privacy breach. However, this freedom comes with a huge price, most often paid by end-users.
DeFi means developers can set their terms, whether favorable or not to the users. Although, reputable DeFi protocols are majorly user-centric.
So many bad actors are taking advantage of the liberty and permissionless nature of DeFi to scam users of their funds. There have been series of “rug pulls”, as popularly known in Defi communities. Not a few developers have been known to abscond with funds contributed by end-users during presales and ICOs. This is one of the most popular ways developers scam users of their funds.
The repeated occurrence of scam presales takes a toll on both investors and legitimate projects. Legitimate projects trying to solve problems and deliver innovative products in DeFi find it extremely difficult to raise the required funds, because users are shying away from presales.
To protect investors’ funds, and to save legitimate projects from unnecessary hurdles of presales, Delfy Finance offers DelfyAuction, a safe ecosystem where the communities of projects are in total control of the presale processes.
DelfyAuction is decentralized with no intermediaries, where anyone can create an auction for their tokens.
There are many platforms that give developers the ability to carry out presales. The problem with these platforms is that they only help the developers to raise funds without ensuring the safety of investors.
DelfyAuction is decentralized, that is anyone can create auctions for their tokens, and that is the only major action required by the developer. Once an auction is launched, the raised funds are stored in the smart contract, and the community can decide on the movement of the funds, whether to a decentralized exchange or to the developer, depending on the legitimacy of the project. All these are done in a decentralized system, by interacting with the smart contract, without talking to anyone. How all these works are explained later in this article.
DelfyAuction offers a kind of Governance for every auction created, to give every presale participant the ability to decide on the fate of the presale.
As stated earlier, anybody can create an auction, and since it is decentralized, there is no need for communication between parties.
Key features of DelfyAuction are highlighted below, to make this information less cumbersome.
- One Auction Per Token
Only 1 auction can be created for a token, since it isn’t ideal to have multiple presales for the same token. This is to avoid market manipulation by presalers. But anybody can create as many auctions for as many tokens.
- Sales Period
Sales period are set for each auction. Sales period is the maximum duration of an auction, specified when creating an auction. An auction can only close:
1. If the amount of tokens allocated for the presales is sold out.
2. If the sales period elapses.
- Initial Liquidity
At the end of an auction, an initial liquidity is sent to a decentralized exchange, and the liquidity is locked. This function can be called by the developer or any presale participant. The developer deposits tokens for initial liquidity while creating the auction, and the BNB or Ether for the pair is calculated and removed from the raised funds, all done by the smart contract.
- Central Locker for Liquidity Lock
There is a central locker contract that locks the LP tokens for auctions. The initial liquidity is locked for a minimum of 3 months by default, but the developer can specify the lock period while creating the auction, which must not be less than 3 months. The developer can also choose to lock the liquidity forever. In such cases, the LP token is burnt.
- Contributed Funds Release
The raised BNB or Ether can be released from the smart contract in three batches. The withdrawable amount is defined as:
Withdrawable fund = Total raised Fund - Fund used for initial liquidity.
- 20% of withdrawable amount is available for withdrawal 72 hours (3 days) after the sales ends, when the initial liquidity must have been sent to a decentralized exchange.
40% is available for withdrawal after 120 hours (5 days).
And the remaining 40% is available for withdrawal after 168 hours (7 days).
The batch system is in place to protect the presale participants, by ensuring the developer doesn’t run away with the raised funds. This gives the developer enough funds to continue developing the project, and the community enough time to observe, build trust and decide on the fate of the presale.
The withdrawable funds moves in one of the following three directions:
- Released to the auction creator in batches as discussed earlier.
Released to a decentralized exchange as additional liquidity, or for buyback on the exchange, also in batches.
Released back to the presale participants as a refund.
The movement of withdrawable funds in any of these directions depends on the type and success of cases against the auction. Case is explained later in this documentation.
The release function can be called by the auction creator or any presale participant, and the withdrawable amount is released to any of the three directions stated above from the smart contract, regardless of who called the withdrawal function.
- Reserve Tokens
Reserve, which is an additional amount of token deposited to the contract while creating the auction. The reserve token is for additional liquidity. If the community observes a foul play by the developer and there is a tendency of rug, after the presale the community can create a “case” with the smart contract. More on case later. The reserve token is sent to a decentralized exchange in batches with the withdrawable amount of BNB or Ether raised from the presale.
Reserve tokens can be set to any amount, or can be zero.
If the project is legitimate, and there is no case created against the presale, the auction creator can withdraw all the reserve token from the smart contract after 7 days of the presale.
- Address Whitelisting
DeFi is permissionless, but this priceless feature is exploited by many bad actors. Many a time, developers decide on the members of their community that will start the journey of their projects, especially during presales. This process is commonly known as “whitelisting”.
DelfyAuction gives developers the flexibility to whitelist their presale participants. That is, specify the wallet addresses that can participate in their presales, and restrict the presale to these wallets. This is specified while creating an auction.
- Insignificant Fee
To ensure the continuity, maintenance, further development and improvement of the platform, 1% of the raised BNB or Ether is charged. This amount is insignificant compared to what other platforms charge with less features, functions, and no protection for the developers and the investors.
Parameters to be set for an Auction
While creating an auction on DelfyAuction, the parameters below must be set by the auction creator:
- Token Address: which is the contract address of the token for sale.
Sales Period: which is the maximum duration for an auction to be active.
Rate: The amount of token per BNB or Ether, that is, the price in BNB or ETH.
Return On Investment (ROI): To calculate the amount of BNB or Ether to be paired with the initial liquidity token. That is, to determine the initial price of the token in BNB or ETH, when launched on a decentralized exchange. The ROI can be set to any percentage. If the amount of BNB or ETH raised is not enough to add the ROI percentage to the initial liquidity, the initial liquidity will be added at the sales price with the amount of BNB or ETH raised.
Lock Period: The duration for the initial LP token to be locked. It is set to 3 months by default, and cannot be less than 3 months.
The auction creator can also choose to lock the initial liquidity forever or not.
Minimum and Maximum token a presale participant can purchase can also be set, in BNB or ETH value. If it is not set, there is no minimum purchase, and the maximum purchase is set to the total amount of token for sale.
Amount of token for sale is also specified.
The amount of token for initial liquidity.
Reserve token, as explained earlier, is set by the auction creator.
Deflationary Factor is set, if the token has a deflationary function.
The “case” feature is the most exciting part of DelfyAuction. Case is a governance protocol embedded into each auction to protect the investors, making all sales participants the governing bodies. This gives all sales participants an opportunity to decide on the fate of the sales, and the project as a whole.
24 hours after the sales of an auction is completed, a “start case” function can be activated. Case can be created against a presale in 3 stages:
- 24 hours after the end of the sales.
48 hours after the first case.
48 hours after the second case.
The first 24-hour window is to give the community enough time to observe the behavior of the developer. And also protect the project from bad sales participants that instantly want to initiate the failure of the project. Also observe that the case creation stages are before the days the withdrawable amount can be released. Essentially, each stage of case creation is against each batch of withdrawable amount withdrawal.
After the first case is finished, the second case, if applied, can be created 48 hours after the creation of the first case.
Note that the case creations can be done anytime prior to the sales funds withdrawal by the auction creator. Just to know the opinion of the community before the smart contract releases the withdrawable BNB or Ether to the auction creator.
There are two types of case that can be created in batches against an auction:
- Release liquidity case
Release liquidity case
This case decides on two of the movements of the withdrawable amount of BNB or Ether. Release liquidity case created against an auction determines if the withdrawable amount will be released to the auction creator, or released to decentralized exchange as additional liquidity or buyback.
To create a case, you must have “1% of the amount of the token sold” in your wallet. Note that it is not total supply.
The second condition to be eligible to create a case is “you must deposit $5 into the smart contract”. Followed by stating the reason for your case in the field provided, so every user can view it.
To be eligible to react to an active case, you must have “0.1% of the amount of token sold”, and you must deposit $3 to the smart contract.
For a case to pass, 40% of the number of presale participants must react to and sign the case before the case time elapses, else the case is dropped. That is, the total number of contributors must be more than or equal to 40% of the number of sales participants.
All these conditions are in place to protect the projects from bad actors that could try to leverage on the “case” feature to hinder the success of the project. It is irrational and not ideal for a person to create multiple wallets, distribute the tokens to the wallets and deposit $3 from each of the wallets, just to kill a project.
If a case is passed, the reserved token, if available, is calculated and paired up with BNB or Ether from the withdrawable amount (that is, the impending batch of BNB or Ether to be released from the withdrawable amount), and sent to decentralized exchanges as liquidity, based on the current price of the token on the decentralized exchange. The LP token is burnt to lock the liquidity forever. This makes the whole project a community project.
If there is no reserve token, or the reserve token is not enough for the additional liquidity, the impending BNB or Ether to be released is used to buy back the token from the dex, and the token is burnt.
After the first case, the second release liquidity case can be created, which follows the same rule as the first. Ultimately, the last case can also be created if the need arises.
If two or more stages of cases are passed against an auction, the community of the project can decide to burn the LP token of the initial liquidity and lock the initial liquidity forever.
This is a unique case that is in place to protect the sales participants by refunding the available BNB or Ether back to the participants. The amount refunded depends on the available withdrawable amount of BNB or Ether, and each sales participant is refunded an amount based on the percentage they contributed during the sales.
Mathematically, the refundable amount for each participant is defined as:
(Amount of BNB or Ether contributed ÷ Total BNB or Ether Raised) * Available Withdrawable Amount
This case can be created if the token contract is found to be buggy, or the developers can mint more tokens, or any other high risk occurrence that could jeopardize the investments of the sales participant.
Anybody can create the case, but the wallet must contain “at least 1% of the total token sold”, and also make a deposit of $8 to the smart contract. Followed by specifying the reason for the case in the provided text field.
To react and upvote the case, the upvoting wallet must have “at least 0.1% of the total token sold”, and make a deposit of $4 to the smart contract. Upvote can only be done once with a wallet, only when the case is active.
A case becomes inactive when the voting period elapses, that is the time for the impending release of withdrawable amount.
These conditions are meant to protect the auction and the project as a whole from bad actors that could try to exploit the case function.
The fee is a small price to pay to protect your contributed funds to the sales. The fees are added to the withdrawable amount in the smart contract. If the release liquidity case passes, the fees are sent to dex as additional liquidity or buyback as the case may be. The fees are added to the amount contributed and can be reclaimed if the refund case passes.
A Refund case can only pass if the number of unique upvotes is more than or equal to 55% of the total number of sales participants before the voting period elapses.
If a refund case is passed, all other functions in the auction are halted, meaning no liquidity can be released to the dex or auction creator, and the sales participants can claim their refundable amount from the platform.
The refund case is also created in three stages just like the release liquidity case, but requires only one stage for the refund.
That is, if the case passes at the first stage, the total amount of the refundable BNB or Ether can be claimed, and there is no essence of the remaining two stages. But if the case doesn’t pass at the first stage, a case can be created at the second stage, and third if need arises.
Delfy Finance is revamping the DeFi space by creating a fair atmosphere framework for all parties, in a decentralized manner, to bring about transparency.
Offering DelfyAuction, among other products, is a way to make the space SAFU. DelfyAuction ensures presale investors are assured of the safety of their investments. It also motivates developers to be accountable, absolutely transparent and community-driven, leading to the ultimate success of their projects.
- Date of publication:
- Tue, 02/23/2021 - 17:16
Click on the link - it will be copied to clipboard