Giveaway Designed For Crypto Communities
Cwallet Giveaway tool automatically verifies tasks across all social platforms, chooses winners in a random draw method for a provably fair outcome and automatically distributes token rewards to the winners! Specially designed for crypto communities to drive user engagement and traffic to successfully grow their business. Make your community stand out with happy users, exciting contests, sweepstakes, competitions and provably-fair giveaways!



Provably Fair And Random Draw
Provably fairness is the process which allows users from all over the world to manually and personally verify the fairness of the giveaway that they participated
Cwallet Giveaway is designed with a provably fair algorithm. Client Seed and Server Seed both are equally essential to generate a fair result.
A series of numbers and letters used to randomly generate the results by Cwallet based on open source randomized algorithm.
We use a blockchain-based algorithm which is unpredictable, once the draw starts, the current ETH block’s hash will be used as Client seed.
An active integer that increases for each participation and is assigned to all participants as their unique PID (Participant ID) for that giveaway.
const Encrypt = (hash, serverSeed) => {
return CryptoJS.HmacSHA256(serverSeed, hash).toString();
}
const Calculate = (hash, lastDigits) => {
let d = new BigNumber(hash, 16).toFixed();
let digits = lastDigits;
if (digits < 8) digits = 8;
else if (digits > 16) digits = 16;
return d.slice(-digits);
}
const LotterySingle = (
clientSeedJoinUid,
serverSeed,
lastDigits
) => {
let hash = Encrypt(clientSeedJoinUid, serverSeed);
return Calculate(hash, lastDigits);
}
const instantDrawWinner = (
probabilityValue,
clientSeedJoinUid,
serverSeed,
lastDigits = 8) => {
let res = new Decimal(LotterySingle(clientSeedJoinUid, serverSeed, lastDigits));
let lastDigitsMaxNumber = new Decimal(10).pow(lastDigits);
const probabilityRes = lastDigitsMaxNumber.mul(probabilityValue);
if (res.greaterThanOrEqualTo(probabilityRes)) return false;
return true;
}
const notInstantDrawWinner = (
ethBlockHash,
serverSeed,
min = 0,
max,
winnerNum
) => {
const hash = Encrypt(ethBlockHash, serverSeed);
return CalculateWinnersV2(hash, min, max, winnerNum);
}
class LCG {
constructor(seed) {
this.modulus = 2 << 30;
this.multiplier = 1103515245;
this.increment = 12345;
this.seed = seed;
}
IntN = function (min, max) {
this.seed = new BigNumber(this.multiplier, 10)
.multipliedBy(this.seed)
.plus(this.increment)
.mod(this.modulus);
return +this.seed.toNumber() % (max - min) + min;
}
}
const CalculateWinnersV2 = (
hash,
min,
max,
winnerNum) => {
let res = [];
if (max < winnerNum) {
for (let i = min; i < max - 1; i++) {
res.push(i);
}
return res;
}
const sourceArr = Array.from(new Array((max)).keys())
let d = new BigNumber(hash, 16).toFixed();
let digit10NumberString = d.slice(0, 10);
let di = parseInt(digit10NumberString);
let lcg = new LCG(di);
for (let i = 0; i < winnerNum; i++) {
let ri = lcg.IntN(i, sourceArr.length);
[sourceArr[i], sourceArr[ri]] = [sourceArr[ri], sourceArr[i]]
}
return sourceArr.slice(0, winnerNum);
}
Random Draw Process
Random numbers (for draw results) are generated using server seed, client seed, and nonce. The server seed is hashed and displayed before the draw begins. This ensures that the draw results can not be modified during the draw process.
About The Algorithm
This algorithm selects a specific number of winners among all participants based on the ETH blockHash and the server seed. As per the linear congruential generator, we use the glibc parameter as the parameter of the algorithm, and the ETH blockHash as the secret key, use HmacSHA256 Generator to encrypt the ServerSeed in order to obtain an hash value, and converts this hash value into an integer. Then take the last 8 digits of this integer as the initial seed. By doing so we will randomly select a winner from each participant, until all are selected. If the number of participants is less than or equal to the number of winners, then each participant will win the prize without algorithm calculations.

Automated Task Verification Across Trending Social Platforms
We verify each task as soon as the user participates on each social platform, which saves your time and gives you real user engagement to strategize your social marketing plan and attract high-quality traffic in your giveaway!



Participant Filter Allows Only Qualified Users To Join
With the help of our unique participant filter, you can now focus on high-quality engaging users, offer them rewards and gather effective user feedback to boost your marketing strategy.

Twitter User Filter
Setting up minimum Twitter account age and followers will effectively help you get qualified participants.
Onchain Verification
Collect user’s wallet address, verify their assets holdings(NFT Owner or a specific token), on-chain history transactions, on-chain transaction behaviour, etc. 50+ networks supported.
How To Prevent Participants Cheating?
No more fake participants, pre-designed scripts or repetitive participation in your giveaway. With Cwallet Giveaway, you can ensure that every giveaway you created is fair and only the real participants are rewarded for completing tasks.

Task Validation
By monitoring the IP addresses of giveaway participants, we can determine if there are PID-different participants from the same IP address participating in one Cwallet Giveaway.

Anti Bot
We examine the activity and reliability of participants' accounts on social platforms using machine learning algorithms to detect spam accounts and bots.

Email Verification
Participants of Cwallet Giveaway are mandated to submit a valid email address. With a reliable verification and filtering mechanism, we can accurately avoid attacks from spammers.
Auto-Distribution Of Token Prize Made It Easy
With our automatic token prize distribution feature, you can be stress-free about the fair and instant distribution of token prize directly into the winners' crypto wallets! It's safe, convenient and free for the creator as well as the winners.
Unlike other giveaway tools, we save your time for sending token rewards automatically. Just set the reward levels and amount, Cwallet takes care of the rest. Currently supporting 800+ tokens across 50+ networks, which allows a variety of choices.

And of course, you can always manually send prizes like:





Our rating and contact system will make sure the best efficiency and trust when it comes to the delivery of rewards
Various Draw Methods Ensure The Effectiveness And Fun For Your Giveaways
Having an effective giveaway will help you gain leads and more reach for your content. Your drawing method is critical to reaching your marketing goals.

Timed Draw
All winners will be drawn at the draw time you setup

Instant Draw
Participants will be able to draw a prize after completing all tasks

Goal-Triggered Draw
Establish a goal for fun or business growth, when the goal is achieved, the winners will be picked immediately.
Real Giveaway Use Cases
Use the customized-looking giveaway for business growth, fans feedback, traffic gain, fun, etc to easily share it on the internet, and with easy-to-access giveaways, users can participate in the giveaway anywhere and anytime.
20 BNB Giveaway For 20 Active Discord Invitors
Invite your friends to our Discord server to get a share of 20 BNB reward. Anyone that invites more than 5 people will be able to join the final lucky draw. End in 72 hours, go for it now!
Simply Create a Giveaway Within 3 Steps
Create your giveaway in minutes and customize your promotion the way you want. Easily launch a giveaway, contest, sweepstake, or lucky draw that is specifically tailored to your needs.

Step 1
Describe your project and giveaway: · Add information of your project · Give your giveaway a title, description, banner and video · Select a draw method

Step 2
Configure user tasks across different platforms. By completing the task, users will be able to participate successfully

Step 3
Determine the rewards for the giveaway and number of winners Add contact information of giveaway sponsor and the notes for winners
How We Stand Out From Other Giveaway Tools
Designed for the crypto communities, projects and KOLs with auto-distributed token rewards system.
Provably fair draw results, transparent to all participants, no one can manipulate the results.
Various tasks across different platforms and tasks’ automatic verification to gain real user engagement.
Mainstream social platforms supported, especially for the crypto community.
Multiple draw methods, such as timed, instant, manual,and goal-triggered draw, there is always one that can satisfy your needs.
Customized and beautiful widgets that ensure the giveaway page’s UI is brand-friendly and user-friendly What’s more:

Unable to meet multiple needs of the crypto community to reach business growth.
Can not prove the fairness and the winner list can be manually manipulated the backstage by the creator.
Can not verify assigned tasks which will cause fake entries to share the rewards.
Few platforms are supported and are not specially designed for crypto communities.
Single-timed draw method with whose draw date can be edited after the giveaway gets online is neither fun nor fair.
Boring and tedious widgets with simple UI design, are not attractive to participants.

What’s more: Cwallet Giveaway is combining Web2.0 and Web3.0 to provide a giveaway tool, and it serves both centralized and decentralized community engagement.
Download Cwallet For Various Crypto Tools
Cwallet: 50+ networks and 800+ cryptos supported with a fast swap that offers the best exchange rate. Cwallet Tools: tip box for receiving crypto tips and payments, airdrop games for fun and engaging games, a giveaway for increasing community growth, or other marketing needs. Cwallet Bots: crypto transaction through social platforms and more advanced settings to gain traffic or monetize your community with our exclusive bot features.

FAQ
Login to Cwallet using the same account you used to participate in the giveaway, and you will be able to view the token reward you have received in the Cwallet transaction record.
To verify that a task has been completed, click Check Task Status in the task box.
If you have won a giveaway, click claim reward to view the sponsor’s contact information and messages to assist you with claiming your reward.
Cwallet Giveaway runs a provably fair algorithm to generate results. Each result must be calculated with both a ServerSeed and a ClientSeed. With this method, the draw results are unpredictable and provably fair; no one can manipulate the results. See details here.(https://doc.cwallet.com/cwallet-tools/giveaway/how-to-verify-fairness)
Giveaway creators can set up tasks on multiple social platforms to accomplish the crypto business goals. These tasks do not require manual verification by the creator, and are automatically verified whether users have completed the task, which is convenient and time-saving.
As soon as you have completed the giveaway creation and during the giveaway process, you can edit the giveaway content, such as changing the description, adding banners or videos, changing the reward and tasks. However, it is important to note that the token selected in Cwallet for the Token Reward can be altered.
When creating a goal-triggered giveaway, you will need to specify the latest time for the draw. The purpose of setting this time is to automatically draw your giveaway when the predetermined goal has not been reached and the latest draw time has expired. So even if the goal is not reached, when the set time arrives, the giveaway will be automatically drawn.
How do you feel about Cwallet Giveaway?
We deeply care about how our users feel and think when using our products, and with your great ideas and feedback, we will continuously improve our products to better serve you.

