Getting Started
Company
Create
Cashdrops are produced from quests, so before anything can be collected, someone has to create, and fund at least one (1) quest first, to produce cashdrops. Creating a quest is simple and follow these steps:
1. Set quest parameters
quest name
cashdrop count
claim percentage (optional)
= this option only applies to merchant-linked quests. Claim percentage is the percentage of how much the cashdrop reward will go to the voucher. By default it is 75% and can be adjusted within the range 10%-90%memo
(optional)
2. (Optional) Select a merchant to be linked to your quest
Quests by default are not linked to a merchant and users can link them by selecting the merchant in the quest create form. Linking a quest to a merchant automatically sets:
- quest center to the location of the merchant
- quest name to the merchant name (can still be edited)
3.(Optional) Set it to a fund later quest
Fund later quests automatically sets the quest’s settings to have static value:
- quest radius to 15 km
- quest amount to 0.004 BCH
- cashdrop count to 10
4.Cashdrop generation
Cashdrop locations gets randomly generated within the quest radius. Cashdrop generation follows these rules and regulations:
- Cashdrops cannot be generated on inaccessible or restricted places such as cemeteries, military zones and bodies of water.
- No two active cashdrops can be at the same location.
5.Pay quest
Pay Now
= pay using PurelyPeer wallet to create quest. Users pay to a payment covenantPAY_COV
, which distributes the funds to the cashdrop covenants.Fund Later
= quest immediately gets created and added to fund later waiting list.
6.Quest funds distribution
- more details here
Quest is created and is now visible on the map.
Basic flow of quest creation for
Pay Now
(top) andFund Later
quests (bottom).
Quest Funding
Before a quest can be flagged active and its cashdrops be collect-ready, it must first be funded by a user with the given amount set during creation. Funding differs depending on the payment type — Pay Now
quests are simple where users directly pay to the PAY_COV
, however Fund Later
quests require extra steps prior. A funder does not get to choose which quest he or she will fund, rather, it is randomized by the app depending on which area the user has set.
Fund Later
quest, it gets added to this list that is only visible on the server.- User sets the area where a quest will be randomized. It is a 50 km radius area and adjusting it is similar on how to adjust the quest center during creation.
- After setting the area, the server will randomize a
Fund Later
quest amongst the quests in that area. - Once a quest has been selected, the cashdrops will be generated.
- Payment page will show and the user has three (3) options for payment:
- pay directly using his or her own PurelyPeer wallet
- pay using another PurelyPeer wallet (scans QR code)
- or pay using a third-party wallet such as Paytaca or Bitcoin.com (scans QR code)
- After payment is successful, the quest is funded and quest funds are distributed to the cashdrops.
Quest Funds Distribution
During quest creation payment, the funds the user has sent goes to a smart contract covenant called payment covenant a.k.a. PAY_COV
. From the payment covenant, it is subdivided amongst the cashdrop covenants a.k.a. CD_COVs
, which are the BCH rewards received by collectors.
Ideally it is much simpler to just directly send the user funds to the CD_COV
addresses as recipients on a single transaction, but this method can not be enforced on fund later quests, which users has the possibility to send using external wallets (which we do not have control on how they construct transactions). As a solution, the user only has to pay to a single address, which is the address of the PAY_COV
. From there the PAY_COV
can distribute the funds to the CD_COVs
, but the script size limit of CashScript limits the maximum number of cashdrops per quest to only 8, which is a very small quantity of cashdrops per quest (we want more or less than 100 cashdrops). In order to address this problem, we added an intermediary layer of covenants (DIST_COVs
) to increase the number of cashdrops a quest can handle at max (which is currently 72).
The main quest fund distribution flow. A payment covenant can distribute to 8
DIST_COVs
at max, while oneDIST_COV
can distribute to 9CD_COVs
at max.
Before distribution is done, the values of the needed amount for each covenant is pre-calculated, including the revenue amount and fees for distribution and collection.