All cashdrop locations are hidden and unknown to users, even to the creators of quests, however there is a guide arrow and a distance meter in the app that will indicate in which direction and distance is the closest cashdrop located. A cashdrop can only be collected if a user is within 50 meters of a cashdrop’s radius. Once a user successfully collects a cashdrop, he/she gets a variable BCH reward and a merchant voucher, with the latter reward only available to merchant-linked quests.
Everytime a user moves, the app sends the user’s location to the server and in return, it responds with ten (10) closest active cashdrops, ordered by distance from user. The first cashdrop is the closest to the user and will be locked to that user, until the user switches to another cashdrop.
Once a user enters the collect radius (50 m), the collection process begins.
The collection starts off with the app signing the hashed cashdrop coordinates using the user’s private key.
Server sends the cashdrop coordinates to an oracle server for signature verification from step 3.
If oracle verification has passed, the server calls the cashdrop contract and collects the reward as follows:
Validates if distance between user and cashdrop is within collect radius.
If 5.a is validated, the contract will send:
A key NFT voucher to the collector address (only for merchant-linked quests)
A quest NFT to the quest funder (only for merchant-linked quests)
A Bitcoin Cash (BCH) cashdrop reward to the collector address
A cashdrop at maximum, releases four (4) outputs during collection. The yellow ellipses are only applicable to merchant-linked quests, while the green (BCH reward) is always released, no matter the quest contract type.
After a user has collected, he or she can only collect again after 3 minutes.
Uncollected cashdrops expire 90 days (3 months) after creation and gets refunded to the quest funder