In order to effectively set up onchain tasks on Galxe Quest, it’s important to first know how the task verification works. Becoming familiar with Galxe’s verification process will help you understand what kinds of tasks can be verified in your quests, and what is needed for task set up. In this part of the course, we will explain task verification. Scroll down to get started.
<aside> <img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/046d56bb-337c-428c-ba45-93717675a29f/44746536-e16d-4400-be7a-0e61592d1c40/Round_Gradient_Background_(1).png" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/046d56bb-337c-428c-ba45-93717675a29f/44746536-e16d-4400-be7a-0e61592d1c40/Round_Gradient_Background_(1).png" width="40px" />
Course Navigation
From the quest participant point of view, an example of onchain task verification on Galxe Quest
From the quest participant point of view, an example of onchain task verification on Galxe Quest
Although Galxe Quest offers a wide variety of task types, from social to onchain, the task verification process works using essentially the same method regardless of the type. No matter the task type, from the quest page, a user clicks the verify button located on the task’s title bar. Once the verify button is pushed, Galxe attempts to verify the task by matching two data points.
What are the two data points involved in Galxe’s task verification process? Let’s take a look.
The first data point being matched in Galxe’s verification process is id data which Galxe users have bound to their Galxe Account. In order to verify tasks, Galxe users bind a variety of ids to their Galxe Accounts, including their Discord, Twitter, and Telegram ids, self-custodial wallet addresses, email, and more. Based on the task type, Galxe chooses the appropriate id to be matched. For example, Discord-related tasks will verify based on the user’s bound Discord id. When users lack the necessary id binding to verify a task, they are prompted to bind the relevant id.
You can think of this first data point, the Galxe Account-bound user data, as representing the identity of a particular user on a particular platform or network. In other words, Galxe knows — to some extent — who a user is. With this information, Galxe determines whether or not the particular user has done a task using a second data point.
The second data point in Galxe’s task verification process is data of who has performed a task, which Galxe pulls from various external sources depending on the task type. For example, when the Galxe Discord Bot is added to a Discord Server, Galxe is able to pull data related to the Discord ids on the server, such as what roles each id has, what channels the ids are in, how often these ids send messages, and more. From this data, we can see what ids on a particular Discord Server have performed the task being verified.
Although the source of the data differs, one thing is true about any task type available on Galxe: In one way or another, Galxe has access to the data of who has done a particular task, and this acts as the second data point in our task verification process.
From the above descriptions, we can see that for any given task type on Galxe Quest, Galxe has access to two data points — one which shows who a particular user is (the id data bound to a Galxe Account) and one which shows who has done a particular task (the data Galxe pulls from external sources). When the user clicks the verification button on a task in a Galxe Quest, Galxe takes the id data from data point one, and looks for a match in data point two. In other words, we ask, has this user done this task? When the answer is yes, meaning a match in the data points can be found, the task verifies successfully. When the answer is no, meaning no match is found, the task verification process fails.
To better illustrate the verification process, let’s take a common Galxe Quest task type, Twitter Follower, as an example. When a user clicks the verify button on a Twitter Follower task, Galxe attempts to verify the task by matching the Twitter id bound to the user’s Galxe Account with the Twitter API data containing the Twitter ids of all followers on a particular Twitter Account. If the user’s Galxe Account-bound Twitter id is found in the Twitter API’s follower data, then the task verifies successfully. If no such match is found, the task verification fails.
Any onchain task verification on Galxe Quest works using essentially the same process as the Twitter Follower task type described previously, just with alternative data points. Rather than comparing a user’s bound Twitter id with Twitter API data, for example, onchain task verification may compare a user’s bound EVM wallet address with wallet address data returned from a Smart Contract query. But despite these differences in what the data points are, the verification’s success or failure will depend, as always, on whether or not a match between two data points can be found.