# API methods Source: https://docs.claimr.io/api-guide/api-methods A conceptual guide to Claimr's API methods, organized by category. For exact parameters, request bodies, and live testing, use the API Playground. This page groups Claimr's API methods by what they're used for. For the full request/response schema of any method and to try it live, open its page in the **API Playground** tab, or follow the links below. ## Webhooks Manage real-time event updates by subscribing to specific user activities through webhooks. * [Set Webhook](/api-reference/webhooks/set-webhook) - register a webhook URL to receive notifications when specific user events occur on the platform. * [Remove Webhook](/api-reference/webhooks/remove-webhook) - unregister an existing webhook to stop receiving notifications for a given scope and hook ID. ## User token Generate a permanent token to authenticate users in the Claimr widget. * [Get User Token](/api-reference/user-token/get-user-token) - create or retrieve a user token. If the user doesn't exist, they'll be registered automatically. Usage: * **Production**: Add the token to the `data-user-token` attribute in the embed script. * **Development**: Append it as a `user_token` query parameter in the widget preview URL. ## User Manage referral data, activity, and rewards. * [Get Referral ID](/api-reference/user/get-referral-id) - fetch a user's referral ID and create a referral link if it doesn't already exist. * [Set Referrer ID](/api-reference/user/set-referrer-id) - set a user's referral ID to track who referred them. * [Set Referrer](/api-reference/user/set-referrer) - manually set the referrer of a user using the referrer's account information. * [Get User Activity](/api-reference/user/get-user-activity) - fetch a full list of completed items by a user, including tasks, quests, rewards, and XP earned. * [Get User Progress](/api-reference/user/get-user-progress) - get a full overview of a user's progress, including both completed and pending tasks and quests. * [Get Referral Data](/api-reference/user/get-referral-data) - return a list of users referred by a specific user and their referral impact. * [Get XP Balance](/api-reference/user/get-xp-balance) - check a user's current XP balance, including XP from tasks, referrals, and UGC. * [Award XP Reward](/api-reference/user/award-xp-reward) - reward a user for an off-platform action (e.g. within your app) by adding XP to their balance. * [Withdraw User Points](/api-reference/user/withdraw-user-points) - deduct XP points from a user's balance (e.g. to revoke a reward). All information about the points for each user can be checked in Analytics. To find out more, read our article [User information](/data-analytics/user-information). ## Tasks Trigger specific actions and reward users by defining task types and their completion criteria within a campaign. * [Set Task Value](/api-reference/tasks/set-task-value) - set or update a numeric attribute of a user's action (e.g., likes, followers). Used with [API Number Value tasks](/tasks/api-tasks). * [Push Stream Value](/api-reference/tasks/push-stream-value) - accumulate numeric attributes associated with user actions (e.g., total transactions) across all matching stream tasks in a campaign. Used with [API Stream Value tasks](/tasks/api-tasks). ## Events Track custom user actions by pushing event data to Claimr. Events can be used to trigger task completions based on user behavior. * [Push Custom Event](/api-reference/events/push-custom-event) - create a custom event record associated with a user for tracking and triggering downstream processes, with optional categorization and a custom data payload. * [Get Custom Events](/api-reference/events/get-custom-events) - retrieve all custom events associated with a user, filterable by category and name. ### Connecting events to tasks When you create a task in Claimr with the type Events, Claimr listens for `POST /event` calls matching the criteria you define. * **Events count task**: For an "Events count" task, Claimr tracks how many times an event with a specific category and name occurs. For example, if you set up a task to reward users after they achieve 10 likes, Claimr counts each incoming like event via `POST /event`. Once the count reaches 10, the reward is automatically triggered. * **User identification**: Claimr identifies the user associated with the event using the `account` and `platform` fields in the payload. For example, if a user logs in with Web3 (using their wallet), Claimr uses the wallet address to link the event to the correct user. This ensures that points and completions are attributed accurately. For more information about configuration, read our article on Events tasks. ## Campaign Access campaign-level data, including task structure, season progress, and participation statistics. Useful for both live and development environments. * [Get Campaign Info](/api-reference/campaign/get-campaign-info) - returns detailed campaign information including all tasks and quests, for both published and development environments. * [Get Campaign Points](/api-reference/campaign/get-campaign-points) - returns campaign points and season information, calculating season progression based on configured thresholds. * [Get Campaign Stats](/api-reference/campaign/get-campaign-stats) - returns comprehensive campaign statistics including points awarded and participation metrics. ## Invite codes Control access to your campaign by issuing, assigning, and managing invite codes linked to user identifiers. * [Get Invite Code Status](/api-reference/invite-codes/get-invite-code-status) - retrieve information about an invite code, including which users have used it. * [Use Invite Code](/api-reference/invite-codes/use-invite-code) - assign an invite code to a user (identified by wallet address). This also handles user registration if the address is new, creates campaign entries, and marks the code as used. * [Release Invite Code](/api-reference/invite-codes/release-invite-code) - release an invite code that was previously assigned to a user, making it available again. ## Wallets Use these endpoints to award or withdraw XP and manage invite codes based on user wallet addresses. This is especially useful for blockchain-based campaigns where users interact via Web3 wallets. * [Get Wallet Invite Code](/api-reference/wallets/get-wallet-invite-code) - returns the invite code used by a specific wallet. * [Get Wallet Referral ID](/api-reference/wallets/get-wallet-referral-id) - returns a wallet's referral ID for a specific campaign. * [Award Wallet XP](/api-reference/wallets/award-wallet-xp) - award an XP reward to a wallet for actions performed outside Claimr. * [Withdraw Wallet Points](/api-reference/wallets/withdraw-wallet-points) - withdraw XP points from a wallet's balance. ## Leaderboard Track user performance and rank participants based on the points they've earned in your campaign. The leaderboard helps you highlight top contributors, motivate engagement, and display rankings in real time. * [Get Leaderboard](/api-reference/leaderboard/get-leaderboard) - retrieve leaderboard data for a specific campaign. Supports both the v1 format (a basic version available for all campaigns, returning a ranked list of up to 100-150 users) and the v2 format (an advanced, unlimited version available with selected packages). ## Custom API methods and integrations Claimr offers extensive flexibility beyond its standard API methods, allowing for seamless integration with your proprietary systems. If your project requires unique data handling or custom API endpoints tailored to your specific needs, we can create these custom API methods upon request. Contact our support team to enable this advanced feature. # API token Source: https://docs.claimr.io/api-guide/api-token Generate your organization's API token and use it to authorize requests to the Claimr API. All API requests to the Claimr system require authorization to ensure secure access and protect your organization's data. This authorization is handled through the use of an API token. * The Claimr API token acts as your organization's key to access the API. It is associated with your organization as a whole, not with individual users. * Keep your API token confidential and store it securely. Any API requests made without a valid API token will be rejected as unauthorized. ## Generate and authorize your API token Navigate to the API section within the Claimr admin panel. API section in Claimr Click **Generate Token**. A pop-up window will appear displaying your unique API token. Copy this token and store it in a secure location. Once you close the pop-up, you will not be able to retrieve this token again. Open the [API Playground](/api-reference/user-token/get-user-token) and click **Authorize**. A dialog box will appear, prompting you to enter your API token. Paste your copied API token into the designated field and click **Authorize** to complete the authorization process. For troubleshooting or support, reach our Claimr support team or email us at [support@claimr.io](mailto:support@claimr.io). # API Source: https://docs.claimr.io/api-guide/overview See what you can do with the Claimr API - retrieve user information, check balances, monitor activity, and subscribe to webhooks. By understanding the Claimr API and utilizing your API token correctly, you can integrate Claimr's functionalities into your system and unlock new possibilities for data analysis. **What can you do with the Claimr API?** * **Retrieve user information**: Access data about users who have interacted with your Claimr campaigns, such as their progress, rewards earned, and participation history. * **Check balances**: Retrieve information about user point balances tracked within your campaigns, including total points (sum of all points), referral points, and user-generated content (UGC) points. * **Monitor user activity**: Track user actions and engagement within your Claimr campaigns, providing valuable insights into user behavior and campaign performance. * **Subscribe to webhooks**: Receive real-time updates on events happening within your campaigns, such as task completions, reward claims, or new user registrations. This allows your system to react dynamically to user actions and provide a more personalized experience. Generate and authorize the token that secures every request to the Claimr API. Browse the full set of endpoints for webhooks, users, tasks, campaigns, and more. Link your users' accounts on your platform to their Claimr profiles. Read campaign and user statistics directly from your frontend. # Public API Source: https://docs.claimr.io/api-guide/public-api Generate a Public token to read campaign and user statistics directly from your frontend with read-only GET endpoints. Use the Public API to read campaign and user statistics directly from your frontend. It uses a separate **Public token** that you can generate in the dashboard. ## Generate and manage your Public token Go to **Settings → Public API**. If no token exists, select **Generate token**. Generate a Public API token Copy the value shown under **Public token** and use it in your requests. To immediately invalidate the token, select **Revoke token**. You can generate a new token at any time. Revoke a Public API token The Public token only allows read access to the endpoints listed below. It cannot modify data. ### Authentication and request format All Public API endpoints are **GET** requests. Provide the token and context using query parameters: * `pid` - Campaign ID (string or number). * `account` - A unique identifier for the user within your system (for example, user ID or email hash). * `platform` - A short name representing your organization or platform. * `pub` - Your Public token. Base URL: use your assigned environment base (for example, `https://{base}/public/api/...`). Paths below are shown without host for clarity. ## API methods ### GET /public/api/user Get basic user info and stats for an account in a campaign. Example request: ```json theme={"dark"} { "pid": "string", "account": "string", "platform": "string", "pub": "string" } ``` Field explanations: * `pid`: The campaign ID. * `account`: The user's ID. * `platform`: The user's platform. * `pub`: Your Public token. Example response: ```json theme={"dark"} { "id": "string", "name": "string", "ref_id": "string", "ref_xp": 0, "ugc_xp": 0, "xp": 0, "xp_mul": 0, "rank": 0 } ``` ### GET /public/api/user/refs Get user info plus the user's referrals. Example request: ```json theme={"dark"} { "pid": "string", "account": "string", "platform": "string", "pub": "string" } ``` Field explanations: * `pid`: The campaign ID. * `account`: The user's ID. * `platform`: The user's platform. * `pub`: Your Public token. Example response: ```json theme={"dark"} { "id": "string", "name": "string", "ref_id": "string", "ref_xp": 0, "ugc_xp": 0, "xp": 0, "xp_mul": 0, "rank": 0, "referrals": [ { "id": "string", "name": "string", "valid": true, "ref_xp": 0, "xp": 0, "cts": "2024-01-01T00:00:00Z" } ] } ``` ### GET /public/api/entries/count Get the number of entries for the provided context. Example request: ```json theme={"dark"} { "pid": "string", "platform": "string", "pub": "string" } ``` Field explanations: * `pid`: The campaign ID. * `platform`: The user's platform. * `pub`: Your Public token. Example response: ```json theme={"dark"} { "count": 0 } ``` ### GET /public/api/campaign/stats Get aggregated statistics for a campaign. Example request: ```json theme={"dark"} { "pid": "string", "platform": "string", "pub": "string" } ``` Field explanations: * `pid`: The campaign ID. * `platform`: The user's platform. * `pub`: Your Public token. Example response: ```json theme={"dark"} { "participants": 0, "tasks_completed": 0, "quests_completed": 0, "xp": 0 } ``` ### Security notes * The Public token is safe to use on the frontend for the endpoints listed here, but treat it as a secret for your organization. Rotate it by using **Revoke token** and **Generate token** if it is exposed. * Do not use the Public API for any sensitive queries. Use the server-side API for those cases. ## Troubleshooting * **401/403**: Verify `pub` is present and correct. If you revoked the token, generate a new one and update your site. * **429**: Reduce frequency of calls or cache responses on the client. * **CORS**: Ensure you are calling the correct base domain for your environment. For troubleshooting or support, contact Claimr support at [support@claimr.io](mailto:support@claimr.io). # User token Source: https://docs.claimr.io/api-guide/user-token Integrate user tokens to seamlessly track user progress within your campaigns without asking users to log in separately. ## Understanding user tokens User tokens are like digital keys that link your users' accounts on your platform to their Claimr profiles. This connection allows for a smoother, more personalized experience within your campaigns. ### How it works Your users already have accounts on your platform - whether it's a mobile app, a website, or a crypto exchange. They've signed up, verified their identity, and are ready to engage with your Claimr campaigns. Instead of asking them to create another account or log in separately for Claimr, user tokens let you seamlessly connect their existing account with their Claimr activity. ### Behind the scenes * Your application sends a special request to the Claimr server to generate a unique token for each user. * This token is then included in the Claimr widget that you embed on your platform. * When a user opens the widget, Claimr uses the token to identify them and personalize their experience. ### Benefits of user tokens * **No extra logins**: Users enjoy a frictionless experience without having to remember separate credentials. * **Personalized content**: You can tailor the Claimr experience to each user's preferences and progress. * **Seamless cross-device experience**: Users can access their Claimr profile and progress from any device, as long as they're logged in to your platform. ## Generate user token To generate a user token, follow these steps: ### Initiate token request Send a GET request to the `/token` endpoint from your server. Include the following required parameters in your request: * **Account**: A unique identifier for the user within your system (e.g., user ID, email address). * **Platform**: A short name representing your organization or platform. * **Authorization**: Include your organization's secret API token as a Bearer authorization header in the request. This authenticates your application's access to the token generation endpoint. ### Response Upon successful request, a unique user token will be generated and returned in the response. This token is permanent and does not expire. You can store it securely to avoid repeated generation. ### Integrate user token with your application Once you have generated the user token, you need to integrate it with your web or native application. This allows Claimr to recognize and associate the authenticated user with their activities. 1. **Pass the token**: Transmit the generated user token from your server to your web or application. 2. **Set the token value**: For SDK integration with Claimr, you have 2 options: * Via the `data-user-token` attribute in the embed script. * Using the SDK method with `window.claimr.set_user_token`. For troubleshooting or support, reach our Claimr support team or email us at [support@claimr.io](mailto:support@claimr.io). # Get Campaign Info Source: https://docs.claimr.io/api-reference/campaign/get-campaign-info /openapi.yaml get /campaign/info Retrieves comprehensive campaign data including all tasks, quests, their properties, dependencies, and reward structures. Supports both published and development environments. # Get Campaign Points Source: https://docs.claimr.io/api-reference/campaign/get-campaign-points /openapi.yaml get /campaign/points Retrieves campaign statistics including total points earned, current season points, season index, and current season details. Calculates season progression based on configured season thresholds. # Get Campaign Stats Source: https://docs.claimr.io/api-reference/campaign/get-campaign-stats /openapi.yaml get /campaign/stats Retrieves detailed campaign statistics including total points awarded, user participation metrics, and complete stats object for analytics and reporting purposes. # Get Custom Events Source: https://docs.claimr.io/api-reference/events/get-custom-events /openapi.yaml get /events Get custom events associated with a user for tracking and triggering downstream processes. Events are stored with optional categorization and custom data payload. Results can be filtered by category and name. # Push Custom Event Source: https://docs.claimr.io/api-reference/events/push-custom-event /openapi.yaml post /event Creates a custom event record associated with a user for tracking, and triggering downstream processes. Events are stored with optional categorization and custom data payload. # Get Invite Code Status Source: https://docs.claimr.io/api-reference/invite-codes/get-invite-code-status /openapi.yaml get /code Retrieves information about an invite code including which users have used it. # Release Invite Code Source: https://docs.claimr.io/api-reference/invite-codes/release-invite-code /openapi.yaml delete /code Releases an invite code that was previously assigned to a user, making it available for use again. The used_by parameter is optional and can be used to specify which user to release the code from. # Use Invite Code Source: https://docs.claimr.io/api-reference/invite-codes/use-invite-code /openapi.yaml post /code Assigns an invite code to a user (identified by wallet address). This endpoint handles user registration if the address is new, creates campaign entries, and marks the invite code as used. # Get Leaderboard Source: https://docs.claimr.io/api-reference/leaderboard/get-leaderboard /openapi.yaml get /leaderboard Retrieves leaderboard data for a specific campaign. Supports both v1 and v2 leaderboard formats based on campaign type. # Push Stream Value Source: https://docs.claimr.io/api-reference/tasks/push-stream-value /openapi.yaml post /stream/value Pushes a value to all API stream tasks within a campaign that match the specified stream name. Automatically finds and triggers all quests/tasks configured for the given stream across all campaign schemes and groups. # Set Task Value Source: https://docs.claimr.io/api-reference/tasks/set-task-value /openapi.yaml post /action/value Records an task with a specific value for a user within a campaign quest. Validates user login, campaign bundle, and quest group before executing the task. # Get User Token Source: https://docs.claimr.io/api-reference/user-token/get-user-token /openapi.yaml get /token Creates or retrieves a user token for authentication. The user will be registered if they don't exist. Platform 'claimr' is not allowed. # Award XP Reward Source: https://docs.claimr.io/api-reference/user/award-xp-reward /openapi.yaml post /user/reward Creates an API-type reward for a user, adds the specified XP, and triggers XP processing. If the user doesn't exist in the campaign and uses a valid web3 address, a new entry will be created. Prevents duplicate rewards with the same ID. # Get Referral Data Source: https://docs.claimr.io/api-reference/user/get-referral-data /openapi.yaml get /user/referrals Returns the users a user has referred in a campaign, along with the referrer's own campaign statistics. # Get Referral ID Source: https://docs.claimr.io/api-reference/user/get-referral-id /openapi.yaml get /user/ref_id Gets or creates a referral ID for a user in a specific campaign. If the user doesn't have a campaign entry, one will be created. If no referral link exists, a new one will be generated. # Get User Activity Source: https://docs.claimr.io/api-reference/user/get-user-activity /openapi.yaml get /user/activity Returns everything a user has completed in a campaign: tasks, quests, and rewards, with a breakdown of the XP earned. # Get User Profiles Source: https://docs.claimr.io/api-reference/user/get-user-profiles /openapi.yaml get /user/profiles Returns a user's XP balance in a campaign together with every account linked to the user, each as an account and platform pair. # Get User Progress Source: https://docs.claimr.io/api-reference/user/get-user-progress /openapi.yaml get /user/progress Returns a user's progress across the whole campaign: every task and quest, with its completion status for this user. # Get XP Balance Source: https://docs.claimr.io/api-reference/user/get-xp-balance /openapi.yaml get /user/balance Returns a user's XP balance in a campaign, including XP earned from referrals and user-generated content, and the number of referrals. # Set Referrer Source: https://docs.claimr.io/api-reference/user/set-referrer /openapi.yaml post /user/referrer Creates a referral relationship between a referrer and a referral user in a specific campaign. Both users will be registered if they don't exist, and campaign entries will be created as needed. The referral user must not have an existing referrer or completed tasks. # Set Referrer ID Source: https://docs.claimr.io/api-reference/user/set-referrer-id /openapi.yaml post /user/ref_id Associates a user with a referrer in a specific campaign. Creates campaign entry if needed. Only works if the user has no existing referrer and no completed tasks. The referral link must exist and not be self-referential. # Update User Profile Source: https://docs.claimr.io/api-reference/user/update-user-profile /openapi.yaml post /user Updates user's name / alias / team. Creates campaign entry if needed. # Withdraw User Points Source: https://docs.claimr.io/api-reference/user/withdraw-user-points /openapi.yaml post /user/withdraw Creates a withdrawal record for a user's earned points in a specific campaign. Validates user existence, campaign bundle, and optionally checks balance before processing. # Award Wallet XP Source: https://docs.claimr.io/api-reference/wallets/award-wallet-xp /openapi.yaml post /wallet/reward Awards XP points to a wallet address for a campaign. This endpoint handles user registration if the address is new, creates campaign entries, validates reward uniqueness, and processes XP calculations. Also triggers webhook notifications for the reward event. # Get Wallet Invite Code Source: https://docs.claimr.io/api-reference/wallets/get-wallet-invite-code /openapi.yaml get /wallet/code Retrieves the invite code that was used by a wallet address for a specific campaign. Returns an empty string if no invite code was used or if the wallet/campaign combination is not found. # Get Wallet Referral ID Source: https://docs.claimr.io/api-reference/wallets/get-wallet-referral-id /openapi.yaml get /wallet/ref_id Retrieves the referral ID associated with a wallet address for a given campaign. Returns an error if the wallet is not found or has no referral ID for the specified campaign. # Withdraw Wallet Points Source: https://docs.claimr.io/api-reference/wallets/withdraw-wallet-points /openapi.yaml post /wallet/withdraw Withdraws XP points from a wallet address for a campaign. This endpoint handles user registration if the address is new, creates campaign entries, validates withdrawal uniqueness, and optionally verifies sufficient balance before withdrawal. Processes XP calculations after withdrawal. # Remove Webhook Source: https://docs.claimr.io/api-reference/webhooks/remove-webhook /openapi.yaml delete /hook Removes a webhook registered for a scope. Pass the same hook_id used when the webhook was set, or omit it to remove the default 'prod' hook. # Set Webhook Source: https://docs.claimr.io/api-reference/webhooks/set-webhook /openapi.yaml post /hook Registers a webhook URL that receives notifications for one scope: user_activity, user_reward, or referral. Pass a secret to have each notification signed, and a hook_id to keep more than one webhook per scope. # Billing Source: https://docs.claimr.io/billing See the details of your active subscription, understand Claimr's credits-based pricing model, and review your history of past subscriptions. The Billing section shows the details of your active subscription and a history of past subscriptions if available. If you don't have any active subscription, you won't be able to create or run new campaigns. The page will display a message that a subscription is not available. ## Subscriptions Claimr uses a credits-based subscription model: * **Credits**: Your plan includes a set number of credits. Credits are used when your users complete tasks. If credits go beyond the included limit, additional charges apply. ### Credit-based subscriptions * **Subscription Type**: Credits * **Subscription Plan**: The selected plan. * **Subscription Period**: The start and end date of the subscription. * **Days Left**: The number of days until the subscription period ends. * **Credits Limit**: The total number of credits available within the subscription. * **Tasks Executed**: The total number of tasks your users completed during the subscription period. * **Credits Used**: The number of credits already used. * **Credits Over Plan**: The number of credits used beyond the subscription limit. These generate additional charges. * **Price per Credit**: The cost of a single credit. * **Additional Cost**: The cost of credits used beyond the subscription limit. ### Past subscriptions The Billing section also contains a history of past subscriptions, including subscription type, plan, period, and usage. ### Renewal Your subscription automatically renews for the same term as the current period. To prevent renewal, you need to inform our team and cancel at least 5 days before the subscription expires. # Campaign sign-in options Source: https://docs.claimr.io/campaigns/campaign-sign-in-options Configure login requirements, wallet behavior, sign-in services, and supported chains for your campaign. To ensure the Claimr widget works correctly with your dApp, make sure to configure the campaign settings accordingly. To access these settings: 1. Log in to your Claimr account. 2. Select the **Campaign** you want to apply settings to. 3. Navigate to the campaign's **Settings** section. 4. Select **Sign-in options** from the settings menu. Campaign access rules settings ### Require login to start a task Ensure that users must log in (e.g. via wallet) before they can begin any task. This is necessary for Claimr to associate actions with an authenticated wallet address. ### Require token to start campaign If enabled, this would require a specific token to access the campaign. ### Wallet change is disabled Prevent users from switching wallets mid-session. ### Disable users merge Disables automatic merging of user identities across sign-in methods. ### Select sign-in services Choose the platforms users can log in with (e.g., Twitter, Telegram, Discord). You can enable one or multiple options. ### Chains Select the blockchain networks supported by your campaign (e.g., Ethereum). These define where wallet-based actions will be validated. ### Wallet message field Enter a custom message that will be shown to users during wallet signature to identify the purpose of signing. # Create new campaign Source: https://docs.claimr.io/campaigns/create-new-campaign Launch your first campaign in minutes and start engaging your community with rewards, quests, and gamified experiences. ## Before you start Make sure you have: * A Claimr account with access to the admin panel * An organization set up (or create one during this process) * A clear idea of what you want your campaign to achieve ## Create your campaign Open your web browser and navigate to the login page: [panel.claimr.io](https://panel.claimr.io/). Enter your email and password to sign in. Choose the organization for which you'd like to create a campaign. Click on the organization's tile and you'll be taken to its page. Click **Create new campaign**. You'll be guided through the new campaign creation flow. Create new campaign button Configure the fundamental settings for your campaign: Create new campaign stage * Choose a clear and recognizable name. * Customize how points are referred to (e.g., "Points", "XP", "Tickets"). * Select the platforms your users will use to join the campaign (e.g., Twitter, Telegram, Discord). Click **Continue** when you're ready. Campaign templates stage * **Empty** - Start with a blank canvas. You'll set everything up manually. Best for experienced users or unique campaign structures. * **X Basic** - Pre-configured Twitter/X tasks including follow, like, and retweet tasks. Launch a social campaign in minutes. * **Discord Basic** - Discord-focused task templates with join server and verify role tasks. Perfect for community-building. * **Telegram Basic** - Telegram task templates with channel join and bot interaction tasks. Great for Web3 projects. * **Referral Basic** - Referral program template with multi-level tracking pre-configured. Start your viral loop immediately. Click your preferred template to select it, then click **Continue**. Select the visual theme for your campaign widget - this is your final customization before creating the campaign. Campaign style selection * **Claimr theme** (Default) - The standard Claimr branded design. Professional and polished, works great for most campaigns. * **Mini theme** - Compact, space-efficient layout. Perfect for mobile-first campaigns with a clean and minimalist look. * **Flat app** - Modern, flat design aesthetic with a streamlined appearance. Great for sleek, contemporary brands. Click your preferred style, then click **Create campaign** to finalize. Congratulations! You've successfully created your first Claimr campaign. It's now visible on your organization's dashboard. After creating your campaign, you'll be redirected to the **Quest group settings** page. From there, you can begin setting up your campaign in detail. ## What to do next Now that your campaign exists, configure it to match your goals: 1. [Set up general settings](/campaigns/general-campaign-settings): configure your campaign's core parameters. 2. [Create quests](/quests/overview): build the user journey. 3. [Add tasks](/tasks/overview): define the actions users complete. 4. [Configure rewards](/rewards/overview): set up your reward system. 5. [Customize your widget](/widget/widget-configurations): brand your campaign experience. Start with general settings to establish your campaign's foundation, then move to quests and tasks to build the user experience. ## Common questions **Can I change my campaign style after creation?** Yes, you can update your widget style in the Widget settings at any time. **What if I'm not sure which template to choose?** Start with "Empty" for full control, or choose a platform-specific template if you're focusing on one channel. You can always add or remove tasks later. **Can I add more login platforms after creating the campaign?** Yes, you can modify login platforms in your General Settings. # General campaign settings Source: https://docs.claimr.io/campaigns/general-campaign-settings Configure campaign identity, points, time limits, campaign flow, languages, integrations, block options, notifications, and the Public API. To access these settings: 1. Log in to your Claimr account. 2. Select the **Campaign** you want to apply settings to. 3. Navigate to the campaign's **Settings** section. 4. Select **General settings** from the settings menu. ## General settings This section is where you'll set the basic parameters for your campaign. Choose a name, logo, and icons that resonate with your target audience and align with your campaign's theme. This will help create a cohesive and engaging experience for your users. General settings section ### Campaign ID A unique, auto-generated identifier for internal reference. You won't need to change or use this unless working with the API or internal tools. ### Campaign name This is the name users will see. It should clearly reflect the theme or goal of your campaign. Keep it short, engaging, and specific. Just type it into the field. ### Campaign logo Your campaign's visual brand. This image appears prominently throughout the widget and admin panel. Click **Edit** to upload or update the logo. ### Description A clear and appealing description helps users understand the campaign's value. Explain the goals, rewards, and what users should do next. You can use the rich-text editor to apply styles, add links, and insert images. Keep it concise but inspiring - this is the first impression your campaign makes. Campaign description rich-text editor ### Campaign description tags Tags allow dynamic personalization of your description. When inserted, they're automatically replaced with data relevant to each user, making the experience feel more custom and engaging. Campaign description tags editor To see all available tags, visit the [Descriptions: creation, usage, tags](/descriptions-creation-usage-tags) article. Make sure all tags are correctly formatted so they are recognized and processed by Claimr. ### Animation type Choose how your description appears in the widget. You can apply visual effects such as typing animation to add a bit of flair and draw attention. Just select an option from the dropdown. ### Collapse description This toggle helps control visual clutter. When turned on, the description is shown in a compact view with a "Show more" link. When off, the full description is visible by default. Use this to keep your widget clean while still offering full campaign details. ### Policies This field allows you to add a link to your company's own Terms, Privacy Policy, or any other external documentation. When provided, Claimr's widget displays both the default Claimr Terms and the custom policy link. This is useful for meeting internal compliance or offering campaign-specific terms to users. ## Points This section is where you configure the reward system of your campaign. You can edit the default point type (e.g., XP) and create additional point types. Points section ### Campaign points name This is the name of the reward system you're using. It could be "Points," "XP," "Tokens," or anything else. Choose a term that fits your community's voice. This label appears across all user-facing components. ### Campaign points format Define how points are displayed (e.g., 10,000). Use a format that matches your campaign's design and readability needs. ### Process points based on past events toggle When enabled, this toggle automatically recalculates users' point totals if you change the point value of a task after it's already been completed. This is helpful when correcting task values or adjusting campaign dynamics. For example, if a task was worth 100 points and you later reduce it to 50, Claimr will recalculate and apply the new value retroactively. ### Points icon An image that represents the reward system. Use something simple and memorable. Click **Edit** to upload or replace the icon. ### Additional points You can create new point types alongside the default one. Click **Add Point** to add a new block with the following fields: * **Point ID** - must be entered manually and uniquely identifies the point. This ID can be used for description tags. This tag will display the total balance of that specific point for the user. To find out more about tags, visit [Descriptions: creation, usage, tags](/descriptions-creation-usage-tags). * **Name** - the display name of the new point. * **Image** - upload an icon for the new point. You can add as many additional points as needed. ### Completion logic After you create new points, they become available in all relevant reward and reporting sections: * **Quests**: in the *Completion* reward field, you can assign values for each configured point type. * **Tasks**: in the *Completion* reward field, you can assign values for each configured point type. * **Activity**: the activity table displays totals for all point types in separate columns (*Total: Point 1, Total: Point 2*, etc.). * **Export**: exports include the new columns for each configured point type. * **Tournaments**: when configuring a tournament, you can select which point type is used to build the leaderboard. ## Constraints Time limits section ### Campaign is locked Use this toggle to prevent users from participating in the campaign, even if it's visible. This is helpful when preparing or finalizing content before launch. ### Limit campaign time Set a campaign start and end time to control when participation opens and closes. Enable the toggle for "Limit campaign time" and set specific start and end dates. The time format is 24-hour (e.g., 14:00), and all settings follow your local time zone. Set clear time limits to create a sense of urgency for your audience and drive more engagement. ## Campaign flow This section is where you design the path your users take through your campaign. Use the flow to guide your users through a well-structured experience, encouraging them to complete quests and earn rewards along the way. Campaign flow section * **Set initial points**: The number of points each user receives immediately upon joining the campaign, before completing any tasks. This is useful for campaigns restarting in a new season or continuing from a previous phase - allowing you to preload users with some progress. For example, setting this to 50 means every participant will automatically get 50 points added to their balance at the start. * **Assign an Intro quest**: the first quest a user sees when joining. * **Select Highlighted quests**: quests you want to showcase, such as special challenges or limited-time rewards. * **Choose an Intro pop-up**: Optional messages or a complete onboarding flow to greet new users. Learn more in the [Intro pop-up](/pop-ups/into-pop-up) article. The order of your quests in the campaign flow impacts the user experience. Arrange your quests in a logical progression, starting with the easiest or most enticing and gradually increasing in difficulty or complexity. ## Languages Add languages to localize your campaign. The primary language is shown by default, and you can add others to reach more users. Languages section ## Integrations Input a Telegram bot ID to link your campaign with a Telegram bot. This is optional and used in campaigns that feature [Telegram-based tasks](/tasks/telegram-tasks). Integrations section Make sure your bot is set up correctly in Telegram before linking it here to avoid errors during campaign participation. ## Block options Protect your campaign by managing access with advanced restrictions. This section lets you block disqualified users, specific IP addresses, and traffic from selected countries. Block options section ### Block disqualified users When enabled, this prevents users marked as disqualified (via referral settings or quest conditions) from accessing your campaign. ### IP block list Enter one or more IP addresses to block access from known malicious sources or bot farms. ### Country limitations Choose whether to block or allow access based on a user's country. Select specific countries to block or to allow exclusive access for targeted regions. Combine IP and country restrictions to safeguard your campaign from fraud and unwanted traffic while maintaining access for real users. ## Widget notifications Customize the system messages your users see during interactions with the campaign widget. Widget notifications section | Notification | When it's shown | | - | - | | **Delay (seconds)** | How long a notification should stay visible. | | **Task complete** | Shown when a task is successfully finished. | | **Task updated** | Appears when task progress or status is refreshed. | | **Task pending** | Lets users know when a task is processing or being reviewed. | | **Task failed** | Displayed when the user's attempt fails. You can encourage retries here. | | **Reward earned** | Shown when the user earns points. You can use variables like `{reward}` to reflect the exact amount. | | **Failed login / verification** | Used to prompt users to try logging in or verifying again if it didn't go through. | | **Text copied** | Confirmation that the copied action (like wallet or code) was successful. | Make your notifications friendly and on-brand to keep the user experience consistent and delightful. ## Public API Once you've updated your campaign settings, a Public API section will appear at the heading of the page. This section allows you to generate a token that can be used to integrate your campaign with external systems. Generate Public API token To create the token, click **Generate token**. Once generated, the token will be displayed in a masked format for security reasons. You can click the eye icon to reveal it. Public API token revealed By clicking **Revoke token** you immediately disable access for any system using it. # Leaderboard Source: https://docs.claimr.io/campaigns/leaderboard Set up a public leaderboard to showcase top-performing participants and boost engagement with a competitive element. This section lets you set up a public leaderboard to showcase top-performing participants in your campaign. It helps boost engagement by adding a competitive element. To access these settings: 1. Log in to your Claimr account. 2. Select the **Campaign** you want to apply settings to. 3. Navigate to the campaign's **Settings** section. 4. Select **Leaderboard** from the settings menu. Leaderboard settings panel To customize its settings, click the edit (pencil) icon in the corner. This will open a settings window. Leaderboard settings edit window ### Max. entries Define the maximum number of users to be displayed on the leaderboard. For example, setting this to 100 will show the top 100 participants. ### Page size Set how many users are shown per page. This controls pagination and helps manage large leaderboards by breaking them into smaller chunks. ### Task dependencies Select which tasks contribute to the leaderboard score. Only points earned from the selected tasks will be counted. This allows you to filter out low-effort or irrelevant tasks and focus the leaderboard on meaningful contributions. # Campaigns Source: https://docs.claimr.io/campaigns/overview See what you can do with Claimr campaigns and find your way into general settings, referrals, leaderboards, sign-in options, and test users. Campaigns are the foundation of your engagement strategy in Claimr. Use them to build interactive experiences that captivate your audience and drive the actions that matter to your business. A campaign is your structured container for growth. It holds quests, tasks, and rewards - all working together to achieve your specific goals. ## What you can do with Claimr campaigns **Integrate across channels**: Connect your campaigns with email, social media, your website, and more. Create a seamless experience that reaches users wherever they are. **Test and optimize**: Experiment with different messaging, rewards, or designs. Discover which strategies drive the best performance and double down on what works. **Set clear goals and track results**: Define what success looks like for each campaign and measure your progress. Use real data to understand what's working and optimize your strategy. **Target the right users**: Create tailored experiences for specific audience segments. Personalize campaigns based on user behavior, demographics, or engagement level to maximize relevance and results. **Stay secure and reliable**: Run campaigns with confidence on Claimr's secure platform. Your data stays protected while your campaigns run smoothly. Launch your first campaign in minutes. Configure the core parameters of your campaign. Define the conditions under which referrals are counted. Showcase top-performing participants. Control how participants authenticate into your campaign. Preview your campaign safely before it goes live. # Referral settings Source: https://docs.claimr.io/campaigns/referral-settings Set a minimum point threshold and task-based requirements to validate referrals in your campaign. Use this section to define the conditions under which referrals are counted in your campaign. It allows you to set both a minimum point threshold and task-based requirements to validate a referral. To access these settings: 1. Log in to your Claimr account. 2. Select the **Campaign** you want to apply settings to. 3. Navigate to the campaign's **Settings** section. 4. Select **Referral** from the settings menu. Referral settings panel To customize its settings, click the edit (pencil) icon in the corner. This will open a settings window. Referral settings edit window ## Min points This is the minimum number of points a referred user must earn in order for the referral to count. For example, if you set it to 100, the invited user needs to complete tasks worth at least 100 points before the referrer gets credit. ## Task dependencies Here you can specify which tasks a referred user must complete for their referral to be valid. Select one or more tasks from a list of those already used in the campaign. This helps ensure that referrals are based on meaningful engagement, like completing a UGC task or linking a social account. If both conditions are set, the referral will be counted only when the referred user meets the point threshold and completes at least one of the selected tasks. To explore more about how the referral system works, see [Referral tasks](/tasks/common-tasks/referral-tasks) and [Referral analytics](/data-analytics/referrals). # Test users Source: https://docs.claimr.io/campaigns/test-users Grant specific users test access to a campaign so your team can safely preview quests, tasks, and rewards without affecting live data. Test users in Claimr are specific user accounts that you designate within a campaign, granting them special access or permissions primarily for testing purposes. This feature allows you to add team members or real users to interact with your campaign in a controlled environment, often before it's launched to the public or while testing new configurations. ## Why use test users? Adding specific users as testers before or during a campaign is crucial for ensuring a smooth experience. Use the Test Users feature to: * Thoroughly test your campaign's quests, tasks, rewards, and overall user flow. * Identify potential bugs, errors, or usability issues with feedback from a select group. * Allow team members or real test users to preview and experience the campaign without affecting live user data or analytics. * Safely test specific conditions, edge cases, or integrations. * Gather valuable feedback on the campaign experience from a trusted group before a wider release. ## Access the Test users section Access the Test users section 1. Log in to your Claimr account. 2. Select the **Campaign** you want to add test users to. 3. Navigate to the campaign's **Settings** section. 4. Select **Test Users** from the settings menu or sidebar. ## Add a test user Adding a user to the test group involves two main parts: the user getting their unique ID, and the campaign manager adding that ID in the settings. The person you want to add as a tester must first retrieve their unique Claimr User ID for that specific campaign. Provide them with these instructions: 1. Open the specific campaign you need to test. 2. Once the widget is loaded, click repeatedly (several times) anywhere on the screen or widget area. 3. A pop-up message should appear confirming: "User ID successfully copied". This copies their unique ID for that campaign to their clipboard. 4. Send this copied User ID to the campaign manager. User ID successfully copied notification Once you (the campaign manager) have received the User ID from the tester: 1. Navigate to the **Test users** dashboard for the relevant campaign (go to campaign **Settings → Test Users**). You will see a list of any users already added as testers. 2. Click the **Invite** button. 3. The **Invite test user** modal window will appear. Invite test user modal 4. Paste the User ID provided by the tester into the **User ID** field. 5. Click the green **Invite** button in the modal window. ## Invitation status and the user's confirmation ### Manager's view: invitation sent Test user invitation sent Once you click **Invite**, you will see: * A new entry for the invited user appears in the **Test Users** table on your dashboard. * This entry will show the user's **ID**, **Name** (if available), and initially, the **Status** will be set to `created`. **Understanding statuses**: there are three possible statuses for a test user invitation: * `created`: The invitation has been sent, awaiting the user's response. * `confirmed`: The user has accepted the invitation via the widget. * `rejected`: The user has declined the invitation via the widget. ### User's view: accept the invitation After the manager sends the invite, the invited user needs to confirm. The next time the invited user opens the specific campaign widget, a pop-up notification will appear asking them to join the test group. This pop-up will have two buttons: **Reject** and **Confirm**. Join test group confirmation pop-up * **If the user clicks `Confirm`**: They are officially added as a test user for this campaign and can participate according to any special rules or access you have configured for testers. Their status in your Test Users list will update to `confirmed`. * **If the user clicks `Reject`**: They decline the invitation, their status in your Test Users list will change to `rejected`, and they will *not* become a test user. The invitation process would need to be restarted if they change their mind. ## Test users' table Once a user clicks **Confirm** in the widget pop-up, their **Status** in your Test Users dashboard updates to `confirmed`. They are now officially a test user for this campaign, and you can see their complete record in the table. Test users table Table columns meaning: * **ID**: The test user's unique Claimr identifier (the same ID they copied from the widget). You can click an icon next to it to copy the ID again. * **Name**: The user's display name, typically taken from their primary connected account or first login method used with Claimr. * **Participates**: A **+** (plus) sign indicates the user is actively participating as a test user in the specific campaign you are currently viewing. A **-** (minus) sign would mean they might be a test user in other campaigns within your organization but not this one. This helps manage testers across multiple campaigns. * **Status**: The current state of their test user invitation: `confirmed`, `created`, or `rejected`. * **Campaigns**: Lists the names of all campaigns within the organization that this user is participating in (as a test user). * **Logins**: Shows the different accounts or login methods the user has connected to their Claimr profile (e.g., Discord username, X handle, wallet address). ## Test user's details To see more detailed information about a specific test user: 1. Click on the row corresponding to that user in the **Test Users** table. 2. A detailed information drawer will slide out from the right side of the screen. ### General section Displays the fundamental information about the test user. Test user detail: general section * **ID**: The user's unique Claimr identifier. * **Name**: The name associated with the user account (often from their first login). * **Status**: The current invitation status (`confirmed`, `created`, or `rejected`). * **Current campaign user info button**: If the test user *is* actively participating in the campaign you are currently viewing (indicated by a `+` in the **Participates** column of the main table), this green button will be visible. Clicking it opens another dashboard showing details about this user's specific activity, points, and status *within this particular campaign*. This button will *not* be displayed if the user is not currently a participant in the campaign you are viewing. ### Logins section Lists all the external accounts and login methods the user has connected to their Claimr profile. Test user detail: logins section * **Account**: The username, email, or address associated with the login. * **Platform**: The type of login (e.g., `discord`, `email`, `web3`, `x`). The **Delete** button allows you to remove linked accounts, but note that a user must always have at least one login method remaining connected to their profile. Consequently, the **Delete** button will not be displayed next to the last remaining account. ### Entries section Shows a list of all campaigns within your organization that this user is participating in (as a test user or regular user). Test user detail: entries section * **User ID**: The user's ID within that specific campaign context. * **Campaign**: The name of the campaign. Clicking on a campaign name in this list opens that specific campaign's dashboard or settings in a new browser tab. This can be useful if a test user is part of multiple campaigns and you need to navigate between them. ### Deleting a test user Removing individual logins (as described in the Logins section) is different from removing the user entirely from the test group. If you need to completely remove a test user: 1. Scroll to the very bottom of this drawer till you find a red **Delete from test users** button. 2. Click this red button to remove the user from the test group for this campaign. You will be asked to confirm this action. If you remove a test user and later decide to add them again, you must repeat the full invitation process from the beginning: the user needs to provide their current User ID, you need to invite them again, and the user must confirm the new invitation. # Claimr core components Source: https://docs.claimr.io/claimr-core-components Create engaging, gamified experiences that captivate your users and drive desired actions with Claimr. ## How Claimr works Claimr campaigns are built with a clear and intuitive structure, guiding your users through a rewarding journey. Claimr campaign structure diagram 1. [**User progress**](/ux-requirements/user-progress-ux-requirements): This component displays the user's progress within the campaign, including earned points and a progress bar. This motivates users and provides a sense of accomplishment. 2. [**Quests**](/quests/overview): Quests are sets of tasks that users undertake to achieve specific objectives. They can be designed to guide users through a specific learning path, encourage them to explore different features of your product, or simply provide a fun and engaging way to interact with your brand. * Intro Quests: These are designed to onboard new users and familiarize them with your campaign mechanics. * Highlighted Quests: These are featured prominently to capture users' attention and encourage immediate participation. 3. [**Campaign**](/campaigns/overview): This is the foundation of your engagement strategy. It acts as a container for all the activities and challenges you create within Claimr. 4. [**Challenges**](/extra/challenges): These are standalone challenges that run alongside your main campaign, providing additional opportunities for engagement and rewards. They can be structured as seasons, eras, or any other format that aligns with your campaign theme. 5. [**Groups**](/ux-requirements/group-ux-requirements): Groups organize related quests into logical clusters, providing structure and context for users. This helps users navigate your campaign and understand the relationships between different quests. All groups include [Tasks](/tasks/overview). Tasks are the individual actions that users complete within a quest. Claimr offers a huge variety of task types, giving you the flexibility to create truly unique and engaging experiences. Here are just a few examples: * [**Social media tasks**](/tasks/telegram-tasks): Have users follow you on Twitter, retweet a post, or join your Telegram group. * [**Content interaction tasks**](/tasks/youtube-tasks): Encourage users to read articles, watch videos, or engage with specific content on your platform. * [**Referral tasks**](/tasks/common-tasks/referral-tasks): Motivate users to invite their friends to join your campaign. * [**Web3 tasks**](/tasks/web3-tasks/overview): Connect with blockchain technology by having users connect their wallets, mint NFTs, or interact with smart contracts. * **Educational tasks**: Create quizzes or surveys to test users' knowledge and reinforce key concepts. * **Custom tasks**: Use webhooks and API integrations to create custom tasks tailored to your specific needs. 6. **Leaderboard**: A leaderboard showcases user rankings and fosters friendly competition, encouraging users to strive for the top spot. ## Benefits for your users **Exciting challenges**: Make even mundane tasks fun and engaging with a gamified approach. **Clear goals and progress tracking**: Clearly displays the user's progress within the campaign or a specific quest, providing a visual representation of their achievements and motivating them to continue their journey. **Sense of accomplishment**: Reward users with points, badges, and other incentives as they complete tasks and quests. **Thriving community**: Foster friendly competition and encourage interaction through leaderboards and challenges. **Sense of urgency**: Use time-limited quests and challenges to motivate users to take action. **Variety and engagement**: Keep users engaged with different types of quests and tasks, like inviting friends, finding secret codes in videos or posts, and sharing links. ## Benefits for your business **Increase user engagement**: Drive higher levels of user participation and interaction. **Improve user retention**: Keep users coming back for more with rewarding experiences. **Enhance brand loyalty**: Create positive associations with your brand through gamification. **Gain valuable insights**: Track user behavior and campaign performance to optimize your strategies. With its flexible and customizable features, Claimr can be adapted to a wide range of use cases, from onboarding new users to driving product adoption and building thriving online communities. # Gift codes Source: https://docs.claimr.io/codes/gift-codes Create and manage gift code lists, then distribute them as rewards for completing tasks, quests, or campaigns. ## Benefits of using gift codes Import and manage your own gift codes to distribute to users as rewards for completing tasks, quests, or participating in your campaigns. * **Unique codes**: Each gift code should be unique and can only be used once. * **Security**: Ensure that your gift codes are securely stored and managed to prevent unauthorized access or misuse. * **Tracking**: Claimr tracks which user received each gift code, allowing you to monitor distribution and usage. ## Creating a gift code list Navigate to the **Events** section in the Claimr admin panel and select the **Gift Codes** tab. Click **Create** to set a new list of gift codes. Gift code settings * **Gift codes type**: Provide a descriptive name or category for the type of gift codes you're adding (e.g., "10% Discount," "Free Trial"). * **Codes**: Enter the gift codes you want to include in the list. You can manually enter each code or import them from a CSV or TXT file. Click the **Create** button to save the new gift code list. ### Managing gift codes Gift code panel Claimr provides a table in the Gift Codes section to manage your gift code lists. This table includes information such as: * **Code**: The actual gift code. * **Type**: The type or category of the gift code. * **Date**: The date and time the gift code was added. * **Owner**: The user who owns or is associated with the gift code. You can use the buttons above the table to: * **Export .csv file**: Export the list of gift codes as a CSV file. * **Delete**: Delete selected gift code lists. ## Distributing gift codes To distribute gift codes to users, you need to configure them as rewards within your Claimr campaign. Go to the **Rewards** section in your campaign settings. Click the **Create Reward** button. Choose **Gift Code** as the reward type. Select the specific gift code list you want to use for this reward. Set the reward name, quantity, and any other relevant settings. Click the **Create** button to save the new reward. Now, when users earn this reward, they will receive a gift code from your list. # Claim invite code task Source: https://docs.claimr.io/codes/invite-codes/claim-invite-code-task Configure a Claim invite code task, set how many codes a user can claim, and preview how it appears before and after completion. Follow the [Task settings](/tasks/task-settings) steps to set up the general settings for your task. The article includes defining the task name, description, rewards, and other stages. During the task type stage, select **Common** from the available options and choose **Claim invite code** as the task action from the list. Claim invite code task type stage In the task settings section, specify the maximum number of invite codes a single user can claim for this task. You can increase it up to 25 if you want to allow users to claim multiple invite codes. Number of codes to claim field Fill out the remaining task settings according to your preferences and click **Save changes** to confirm your task configuration. Click **Preview** to see how your task will look to users on desktop, tablet, and mobile devices. Claim invite code task preview before completion Claim invite code task preview after completion # Enter invite code task Source: https://docs.claimr.io/codes/invite-codes/enter-invite-code-task Configure an Enter invite code task, select the required login platform, and preview how it appears to users. Follow the [Task settings](/tasks/task-settings) steps to set up the general settings for your task. The article includes defining the task name, description, rewards, and other stages. During the task type stage, select **Common** from the available options and choose **Enter invite code** as the task action from the list. Enter invite code task type stage In the task settings section, choose the platform where the invite code will be used from the dropdown menu under **Required logins**. Fill out the remaining task settings according to your preferences and click **Save changes** to confirm your task configuration. Click **Preview** to see how your task will look to users on desktop, tablet, and mobile devices. Enter invite code task preview mode # Invite codes Source: https://docs.claimr.io/codes/invite-codes/overview Create, share, and manage invite codes, then attach them to Enter invite code and Claim invite code tasks. ## Create invite codes From your Claimr main panel, click **Campaigns** on the header menu and select the desired campaign. In the campaign header menu, click on the **Events** tab. Select **Invite Code** as the event type to open the invite codes tab. Click the **Create** button in the upper left corner. A new tab will open for creating invite codes. Invite codes section Invite codes parameters * **Number of codes**: Enter the desired number of invite codes you want to generate. * **Code holder name**: Specify a name for the person or group that will be receiving and distributing the codes. Click the **Create** button to generate the invite codes. A table with the generated codes will appear. ## Share invite codes Each invite code is unique and can only be used once. They are designed to prevent unauthorized use, ensuring you can accurately track who is joining your campaign through each code. Select, copy, or export invite codes (.csv) using the buttons above the table. Share your codes through social media, email, your website, or direct distribution. Invite codes table Filter codes by status (active or already used), date, code holder name, or the name of a participant who used them. Next, select the specific task where you want users to use these invite codes. Let users unlock a task by entering an invite code they've received. Let users claim one or more invite codes directly from a task. # Codes Source: https://docs.claimr.io/codes/overview See how invite codes, secret codes, and gift codes each drive reach, engagement, and tracking in your Claimr campaigns. Claimr offers **three code types** - **invite, secret, and gift** - designed to supercharge your campaigns and deliver measurable results. **Benefits of using codes:** * **Grow your reach**: Extend your campaign's reach beyond your immediate audience as users share codes within their networks, organically expanding your reach through word-of-mouth marketing. * **Track your success**: Gain valuable insights into your campaign's performance by assigning unique codes to different channels or promotions. Track the source of new participants and measure the effectiveness of your marketing efforts. * **Boost engagement**: Create a sense of exclusivity and reward that motivates users to actively participate in your campaign and share it with others, fostering a vibrant and engaged community. * **Targeted incentives**: Tailor rewards and incentives to specific user segments or actions, nurturing loyalty and encouraging continued participation. Hide codes in your content and reward users who find them. Generate and distribute codes that control access to your campaign. Deliver tangible, redeemable rewards to your participants. # Secret code tasks Source: https://docs.claimr.io/codes/secret-codes Configure a secret code task, embed codes in your content, and see how the code entry field appears to users. ## What are secret code tasks? Secret Code tasks require users to enter a predefined code in order to complete the task and receive a reward. You decide where and how the code is shared. For example: in your content, on social media, during events, or as part of a hidden clue. Users must enter the exact code you've configured in the task settings. **Use secret code tasks to:** * Hide a code inside campaign content or announcements * Encourage exploration, scanning, or event participation * Gate a reward behind a known keyword or phrase ## Configure a secret code task Secret code task type stage To configure a secret code task in Claimr: 1. Go to your campaign and click **Create task**. 2. Under the Category section, select **Common**. 3. Choose the **Secret code** task type. 4. Click **Continue** to proceed to task settings. ### Task settings After selecting the task type, move to the next page and configure the following fields: Secret code task settings * **Completion points**: The number of points awarded when the user completes the task. * **Points Multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 5% multiplier increases the final reward by 5%. * **Recurrence**: Control how often users can complete the task: * Once - can only be completed one time per user. * Daily - available once every 24 hours. * Weekly - available once every 7 days. * Multiple - the task stays open and can be completed as many times as needed, one after another, without any waiting time. * **Message**: Optional. Add a short instruction that will appear above the input field. Use this to guide users on where or how to find the code. * **Secret Code**: Enter the exact code that users must submit in order to complete the task. This value is case-sensitive and must match exactly. Once you're done, click **Create task** to save and add it to your quest right away. You'll now see the task listed in your quest. From there, you can reorder it, delete it, or edit it anytime. Or click **Advanced settings** to continue configuring more options specific to the selected task type. ## How secret code tasks appear to users When users encounter a Secret Code task, they see the following elements: * The instruction text you set in the Message field * An input field where they can enter the code * A button to submit their entry Secret code task preview mode If the user enters the correct code, the task is completed and the reward is granted. If the entry doesn't match the configured code, the task cannot be completed. Secret code invalid entry state If recurrence = multiple, users can return and enter a valid code again - with no delay between completions. # Activity Source: https://docs.claimr.io/data-analytics/activity See a detailed overview of all user actions within your campaign, export activity data, and explore the full Activity table columns. ## What is the Activity section? The Activity section provides a detailed overview of all user actions and interactions within your campaign, giving you valuable insights to optimize your strategy. Use this data to: * **Track user engagement:** Monitor how users are interacting with your campaign and identify which tasks or quests are most popular. * **Identify trends:** Spot trends in user activity over time to understand how your campaign is performing and make adjustments as needed. * **Measure the effectiveness of campaign elements:** See which tasks, rewards, or other elements are driving the most engagement and conversions. * **Troubleshoot issues:** Identify any issues or bottlenecks in your campaign that might be hindering user progress or engagement. ## Accessing the Activity section 1. Log in to your Claimr account. 2. Select the campaign you want to analyze. 3. Click on the **Analytics** tab in the campaign's header menu. 4. Select **Activity** from the dropdown menu. ## Activity dashboard The Activity dashboard provides a comprehensive overview of user actions and interactions within your campaign. Activity dashboard ### Visual data representations **Line charts** visualize trends and patterns in user activity over time, with separate charts for 3 days, 7 days, and 30 days. You can see data for new users and new tasks completed. Each chart displays the total number of actions and the percentage change compared to the previous period. ### Exporting and searching data **Export options:** Above the data visuals, you'll find options to export the activity data as a CSV file, to Google Sheets, or to export leaderboard data. Activity export options **Advanced search:** You can also use the Advanced Search feature to filter activity data by account and platform. The Advanced Search modal allows you to search for specific accounts, select platforms (e.g., X, Discord, Telegram), and apply other filters to refine your search. ## Activity table The Activity table displays a wealth of information about each activity, allowing you to analyze user behavior and track campaign progress in detail. Activity table ### Table columns **General columns** represent core information displayed by default. * **User ID:** The unique identifier for each user. * **Name:** The user's display name or username. * **Status:** Indicates whether the user is active or disqualified in the campaign. * **IP:** The user's IP address. * **IP Score:** A score assigned to the user's IP address based on various factors, such as location, reputation, and activity history. This score can be used to assess the risk associated with the user or to identify potentially fraudulent activity. * **Team:** If the user belongs to a team within the campaign, the team name is displayed here. * **Date:** The date and time when the activity occurred. * **Country:** The user's country of origin. * **Activity:** The specific action performed by the user (e.g., completed a task, claimed a reward, logged in). * **Status:** The status of the activity (e.g., completed, pending, failed). * **Points:** The number of points earned by the user for the *specific activity*. * **Multiplier:** Any multiplier applied to the Points earned for the *specific activity*. * **Total Multiplier:** The total multiplier applied to the Points, including any referral bonuses for the *specific activity*. * **Referral Points:** The number of points earned through referrals for the *specific activity*. * **Total Points:** The user's total accumulated Points in the campaign. **Custom columns** are specific to your campaign configurations. * **Source:** The origin of the user's traffic to the campaign. This could be a website, social media platform, specific email campaign, or any other trackable source. * **Campaign:** The specific campaign name that the activity is associated with. This is useful if you are running multiple campaigns within Claimr simultaneously. * **Medium:** The marketing medium used to acquire the user (e.g., "email" for an email campaign, "social" for social media, "referral" for a referral program). This helps categorize the traffic source. * **Term:** Typically used with advertising (like Google Ads) to identify the specific keyword that triggered the user's visit. * **Content:** Used to differentiate between different versions of an ad or link within the same campaign. For example, you might use this to distinguish between two different banner ads you're testing. * **Last Activity:** The date and time of the user's most recent activity within the Claimr platform. ### Table actions **Selection:** Select and unselect individual or multiple rows in the table. **Expand/Collapse:** Expand or collapse rows to view more or less detail about each activity. **User Actions:** * **Disqualify** a user from the campaign. * **Qualify** a user for the campaign. * **Delete** a user from the campaign. **Search:** You can search the table for specific activities or users. **Custom columns:** Customize the columns displayed in the table using the column settings menu. The available columns are: Source, Campaign, Medium, Term, Content, and Last Activity. They match the UTM source. # Failed actions Source: https://docs.claimr.io/data-analytics/failed-actions See a log-by-task and log-by-user breakdown of actions users attempted that resulted in failure, to improve task clarity and user flow. ## What are Failed Actions analytics? Failed Actions analytics provides a detailed overview of actions users attempted that resulted in failure. This helps identify common issues and potential areas for improvement in the user experience when completing tasks within Claimr. ## Use this data to * **Identify frequent failure points:** Spot specific actions or tasks that consistently cause issues. * **Assess impact:** Understand the proportion of users affected by task failures. * **Improve task clarity and execution:** Address problems to minimize user frustration and ensure successful task completion. * **Optimize user flow:** Make changes to tasks, improving the users' experience in completing the tasks. ## Accessing Failed Actions analytics 1. Log in to your Claimr account. 2. Select the relevant campaign. 3. Click on the **Analytics** tab. 4. Select **Failed Actions** from the submenu. Once you select "Failed Actions", the dashboard will open, displaying two tables. These tables provide a comprehensive view of failed user actions, offering both aggregated and individual-level data. ## Failed Actions log by task This table offers you detailed insights into specific task failures. Failed Actions log by task * **Task:** The specific task that users attempted to complete. * **Type:** The type of action users performed when attempting the task (e.g., "Follow on X"). * **Platform:** The platform where the action was attempted. * **Total attempts:** The total number of times users attempted to perform this task. * **Unique users:** The number of unique users who tried to complete the task, regardless of success or failure. * **Users completed:** The number of unique users who successfully completed the task. * **Ratio %:** * The first percentage shows the ratio of unique users who experienced at least one failure on this action, compared to the total number of unique users who attempted it. * The percentage within parentheses shows the ratio of users who had at least one failed action anywhere within the campaign versus all of the participants in the campaign. ## Failed Actions log by user Failed Actions log by user * **User:** The username or identifier of the user who experienced the failure. * **Date:** The date and time when the failed action occurred. * **Task:** The name of a specific task the user was attempting to complete. * **Type:** The type of the task the user performed. * **Platform:** The platform where the failed action occurred. Clicking on any field within this table will open a User Information modal, providing detailed information about the selected user. For more details about all User information in Claimr, visit [User information](/data-analytics/user-information). # Issues analytics Source: https://docs.claimr.io/data-analytics/issues-analytics Review user-reported task completion issues and drill into each report's general, task, reporter, and trace details. ## What is Issue analytics? Issue analytics provides a detailed overview of user-reported problems encountered while completing tasks within Claimr, specifically for VAPs remarketing companies. It allows you to monitor and analyze user-submitted reports to identify and resolve potential task-completion issues. ## How your users see this When users, aiming to **complete** tasks, encounter issues, they can report them. The **Report an issue** link appears after three unsuccessful attempts to **complete** a task. Report an issue link Clicking **Report an issue** opens a modal window where users can: * Leave their email address. * Provide a short issue description. * Attach files. Report an issue modal ## Use this data to * **Identify task completion barriers:** Spot patterns and trends in user-reported issues preventing task **completion**. * **Improve task clarity:** Address issues to minimize user frustration and ensure smoother task **completion**. * **Enhance user experience:** Resolve problems promptly to improve overall satisfaction with the task **completion** process. * **Monitor task integrity:** Ensure tasks are being **completed** correctly and effectively. ## Accessing Issues analytics 1. Log in to your Claimr account. 2. Select the relevant campaign. 3. Click on the **Analytics** tab. 4. Select **Issues** from the submenu. ## Issue dashboard Once you select **Issues**, the dashboard will open, displaying a table of all reported issues. This table provides a summary of each issue and allows you to quickly assess the situation. Issue dashboard **Table elements:** * **Reporter:** The username or identifier of the user who reported the issue. * **Date:** The date and time when the issue was reported. * **Task:** The name or identifier of the task the user was attempting to complete. * **Status:** The current status of the reported issue. * **Title:** A brief title or summary of the issue provided by the user. * **Summary:** A short description of the issue provided by the user. To open each issue report for detailed information, click on the respective row in the table. ## Issue details modal Clicking on a row in the dashboard table opens a modal window containing all the details of the reported issue. ### General information General information * **Date:** The date and time when the issue was reported. * **Title:** The title or summary of the issue provided by the user. * **Description:** The detailed description of the issue provided by the user. * **Attached files:** Any files (e.g., screenshots) attached by the user. ### Task section Task section * **Name:** The name of the task the user was attempting to complete. * **Status:** The status of the task at the time the issue was reported (e.g., "Failed"). * **Set task as completed:** A button allowing you to manually mark the task as completed if you determine the issue does not prevent successful completion. ### Reporter section Reporter section * **ID:** The unique identifier of the user who reported the issue. * **Name:** The username of the user who reported the issue. * **Email:** The email address of the user who reported the issue. * **User details:** A button or link to view more detailed information about the reporting user. For more details about all User information in Claimr, visit [User information](/data-analytics/user-information). ### Trace section This section provides a breadcrumb trail of the user's activity leading up to the reported issue. You can recreate the user's steps and identify the source of the problem. Trace section * **Group:** The group associated with the task. This helps identify the specific set of tasks or users involved. * **Quest:** The quest associated with the task. This helps pinpoint the specific campaign or sequence of actions the user was attempting. * **Task:** The name of the task the user was attempting to complete. # Data analytics Source: https://docs.claimr.io/data-analytics/overview See what you can do with Claimr analytics and find your way into activity, referrals, UGC, PoW, user information, failed actions, and issues. Analytics in Claimr provide valuable insights into your campaign's performance and user behavior. Track various metrics, such as user engagement, task completion rates, and reward distribution, to measure the effectiveness of your campaigns and make data-driven decisions. ## Analytics tabs The Analytics section is divided into several tabs, each offering valuable insights into different aspects of your campaign. Analytics tabs * **Claimers:** See the data on the users who have claimed rewards within your campaign. * **Activity:** Check the detailed overview of user activity within your campaign, such as task completions, reward claims, and logins. * **Profiles:** Analyze the data about users, including their names, IP addresses, and other relevant information. * **Onchain:** View on-chain activity related to your campaign. * **Referral:** Track the performance of your referral program and see how many users joined through referral links. * **UGC:** View data about user-generated content, such as the number of posts or videos created. * **PoW:** Check the information about proof-of-work activities within your campaign. * **Forms:** Analyze the performance of your forms, including completion rates and responses to individual questions. * **Polls:** View data related to polls within your campaign. * **Platforms:** See which platforms users are using to interact with your campaign like web or social media. * **Events:** Track data on events within your campaign, such as the number of candidates in raffles or challenges. * **Reports:** Check reports based on various campaign metrics, including sources, top countries, top IPs, task completion rates, quest completion rates, and more. * **Failed actions:** View a log of actions attempted by users that resulted in a failure. * **Issues:** Track and analyze user-reported issues related to task completion and other campaign interactions. Track user engagement and campaign performance. Analyze your referral program's performance. Review and manage user-generated content submissions. Verify and manage Proof of Work submissions. Get deep insight into individual users' data. Identify common failure points in task completion. Monitor and resolve user-reported issues. # PoW analytics Source: https://docs.claimr.io/data-analytics/pow-analytics Review, approve, reject, filter, and export Proof of Work task submissions to ensure the integrity of your campaign. ## What is PoW analytics? The PoW (Proof of Work) analytics provides a detailed overview of all user submissions for your Proof of Work tasks, allowing you to review, approve, reject, and analyze the results. This gives you valuable insights into user engagement with your PoW tasks and helps ensure the integrity of your campaign. ### Use this data to * **Verify user submissions:** Review the images, links, or answers provided by users as proof of completing tasks. * **Maintain quality control:** Approve valid submissions and reject those that don't meet the task requirements, ensuring only genuine participation is rewarded. * **Track submission rates:** Monitor how many users are attempting and completing your PoW tasks. * **Identify potential issues:** Spot any problems with your PoW task instructions or requirements (e.g., a high rejection rate might indicate unclear instructions). * **Gather and export data:** Download the PoW submission data for further analysis or reporting. To learn more about creating and configuring Proof of Work tasks, visit [PoW tasks](/tasks/pow-tasks). ## Accessing the PoW section Accessing the PoW section 1. Log in to your Claimr account. 2. Select the campaign you want to analyze. 3. Click on the **Analytics** tab in the campaign's header menu. 4. Select **PoW** from the dropdown menu (or the submenu, depending on the final navigation structure). ## PoW analytics dashboard The PoW Analytics dashboard provides a comprehensive overview of all Proof of Work submissions within your campaign, allowing you to review, approve, reject, and analyze user-provided evidence. PoW analytics dashboard The PoW dashboard provides several tools to help you efficiently manage submissions: * **Show unverified only:** Use this toggle switch to manage your workflow. * **Enabled:** Displays *only* submissions that are awaiting review (neither approved nor rejected). * **Disabled:** Displays *all* submissions, regardless of their status. * **Task filter:** Filter submissions by the specific PoW task. * **Type filter:** Filter submissions by the type of PoW task: Image, Link, or Answer. * **Status filter:** Filter submissions by their current status: Unverified, Approved, Rejected. * **Search:** Use the search bar to find specific submissions. * **View buttons:** Choose how submissions are displayed: grid or list view. * **Export to Google Sheets:** Export the PoW submission data to a Google Sheet for further analysis, reporting, or archiving. The exported spreadsheet will contain the following columns: PoW export columns 1. **Entry ID:** A unique identifier for each submission. 2. **User name:** The display name or username of the user who made the submission. 3. **Date:** The date and time the submission was made. 4. **Type:** The type of PoW task: image, link, answer. 5. **Action name:** The specific name of the PoW task. 6. **Text:** The additional text input provided by the user. This additional text input is controlled by the "Show text input" toggle and the "Text Input Title" in the task settings. 7. **URI:** For "Link" and "Image" type submissions, this column will contain the URL of the submitted link or image. For "Answer" type submissions, this column will contain the text submitted by the user. 8. **Status:** The current status of the submission: approved, rejected, or unverified. ### Submission card Submission card The PoW submissions are displayed either as cards or as rows in a table, depending on the selected view button. Each card represents a single submission and includes the following information: * **Checkbox:** Allows you to select individual submissions for bulk actions (Approve, Reject). * **Status Indicator:** A colored dot in the upper-right corner of each card visually indicates the submission's status: * **Green:** Approved. * **Red:** Rejected. * **Orange:** Unverified (pending review). * **Task:** The name of the PoW task the submission is for. * **User:** The user who made the submission. A "Copy ID" button/link allows you to easily copy the user's ID. * **Date:** The date and time the submission was made. * **Preview (Image Tasks):** For "Image as Proof of Work" tasks, a thumbnail preview of the submitted image is displayed directly on the card. Clicking on this preview likely opens a larger view of the image. * **Preview (Link/Answer Tasks):** For "Link" and "Answer" tasks, a preview of the submitted link or answer text would be displayed. * **Approve/Reject buttons:** Each card has two buttons: * **Green checkmark:** Approve the submission. * **Red cross:** Reject the submission. ### Bulk actions The buttons at the bottom of the dashboard allow you to perform actions on multiple selected submissions: * **Select all:** Selects all currently displayed submissions. * **Clear selections:** Unselects all submissions. * **Approve:** Approves all selected submissions. * **Reject:** Rejects all selected submissions. The number in parentheses indicates how many submissions are currently selected. # Referrals analytics Source: https://docs.claimr.io/data-analytics/referrals Monitor referrers and referred users, export referral data, and understand how verified and unverified referral statuses are determined. ## What is Referrals analytics? Referrals Analytics provides a detailed overview of your campaign's referral program performance. It allows you to monitor and analyze the activity of both referrers and the users they invite, helping you understand the effectiveness of your word-of-mouth marketing efforts within Claimr. #### Use this data to * **Track program performance:** Monitor the overall success and reach of your referral campaign. * **Identify top referrers:** Discover your most influential users who are driving new participants to your campaign. * **Analyze referred user activity:** Assess the engagement level of users who joined through a referral link. * **Optimize your referral strategy:** Use insights to refine rewards and improve the effectiveness of your referral program. ## Accessing Referrals analytics 1. Log in to your Claimr account. 2. Select the relevant campaign. 3. Click on the **Analytics** tab in the top navigation menu. 4. Select **Referral** from the submenu. ## Referrals dashboard Once you select **Referral**, the dashboard will open, displaying a table with all referral data. This dashboard provides tools to analyze and export your referral information. Referrals dashboard ### Dashboard features * **Export to Google Sheets:** Click this button to export the referral data directly to a Google Sheet for further analysis. * **Export .csv file:** Click this button to download the referral data as a .csv file. * **Collapse/Expand:** Use this feature to collapse or expand sections of the view. * **Hide empty:** Enable this toggle to hide users who haven't brought in any referrals. This action cleans up the view by removing empty rows. * **Search:** Use the search bar on the right to find specific users or data within the table. ### Table elements This table offers a comprehensive breakdown of each referral relationship. Referrals table * **User ID:** The unique identifier for the user. * **Ref ID:** The unique identifier for this referrer. * **Name:** The name of this user. * **Date:** The date the user was added. * **IP:** The IP address of this referrer. * **IP score:** The risk or trust score associated with the user's IP address. * **Total users:** The total number of users invited by this user. * **Ref points:** The total points accumulated by all referrals. * **Shared points:** The total points the referrer earned from their referrals. * **Total points:** The total points the referrer earned during the campaign. * **Ref IP:** The IP address of the referrals. * **Ref status:** The status of the referral: * **Unverified:** Not yet valid for referral rewards or program criteria. * **Verified:** Completed required actions and passed all validation checks. A verified referral typically means the user is authenticated, passed bot checks (not disqualified), completed a required task, and earned a minimum points amount as defined by your settings. * **Joined at:** The date and time the referral user joined the campaign. * **Tasks points:** The total points the referral user earned from completing tasks. * **Completed tasks:** The total number of tasks the referral user completed. ## Determine referral status (Verified/Unverified) Your referral's status, whether **Verified** or **Unverified**, is directly determined by the **referral verification rules you set up** in your settings. Referral System Settings To configure these rules: 1. Navigate to **Settings**. 2. Select **Referral** from the menu. This opens **Referral System Settings**. 3. Click the **Edit icon** (pencil) to open the configuration window. Within this window, you can: Referral verification rules * Specify the **minimum number of points** a referral needs to earn to be considered verified. * Select **specific task dependencies** that must be completed. Once you save these settings, the system will automatically assign each referral a **Verified** or **Unverified** status based on whether they've met the conditions you defined. Referral status assigned # UGC analytics Source: https://docs.claimr.io/data-analytics/ugc-analytics Review, approve, reject, and rate user-generated content submitted through UGC tasks in your campaign. ## What is UGC analytics? The UGC (User-Generated Content) analytics section gives you a full overview of all video and media submissions shared by users as part of your UGC tasks. It helps you evaluate the quality and relevance of these submissions and make data-informed decisions about user engagement and rewards. **Use UGC analytics to:** * Review user submissions: Open the images or links your users submitted. * Track post performance: See metrics like views, shares, and comments - available for tracking tasks only. * Manage content: Approve valid submissions or reject the ones that don't meet your requirements. * Rate content quality: Assign a score to each submission (internal use only). * Monitor participation: Access submission timestamps, user IDs, and file or link references. To learn more about how to create a UGC task, visit [UGC tasks](/tasks/ugc-tasks). ## How your users see UGC tasks UGC task example 1. Your user selects a UGC task in your campaign. 2. They upload an image or submit a link, depending on the task type. 3. The task is marked as completed. 4. Their submission appears in your UGC analytics section, where you can see and manage it. ## Accessing the UGC section 1. Log in to your Claimr account. 2. Select your campaign. 3. Click the Analytics tab in the campaign menu. 4. Choose UGC from the analytics submenu. ### UGC dashboard The UGC dashboard displays all user-submitted content in a visual grid. Each submission appears as a card that includes key information and actions. You can manage and evaluate incoming UGC here. UGC dashboard Use the dashboard to: * View submissions: See thumbnails and link previews depending on the task type. * Sort or filter entries: Filter by task type, status, or other parameters. * Approve or reject: Click the check or cross icon to change the submission status. * Score content: Assign an internal quality rating to any UGC item. * Bulk action: Select multiple cards and perform approval/rejection actions for all selected entries. ### UGC's submission card UGC submission card * **Preview:** A thumbnail for images or a visible link for URLs. * **User information:** The user's display name and ID (with copy option). * **Submission type:** Image or link, depending on task settings. * **Performance metrics:** Plays, shares, and comments (for tracking tasks only). * **Date:** When the submission was received. * **Status:** You can approve (check) or reject (cross) any submission. By default, submissions are approved as soon as the task is completed, but you can manually override this. * **Score:** An optional field where you can rate content. It lets you rate your users' content based on creativity, relevance, or any other criteria you choose. It does not influence task completion or point allocation. # User information Source: https://docs.claimr.io/data-analytics/user-information Open a user's detail modal to see their general info, UTM data, points, quests, tasks, rewards, referrals, transactions, and account actions. **User information** provides valuable insights into how individuals interact with your campaigns. This data can be used to personalize user experiences, optimize campaign performance, identify trends, and troubleshoot issues. Analyzing user information allows you to understand user behavior, segment your audience, and make data-driven decisions. To view a user's detailed information: 1. Navigate to the **Analytics** section. 2. Select the relevant table (Activity, Referrals, etc.). 3. Find the user in the table. 4. Click on the user's row. This will open a modal window with a comprehensive overview. ## General General information example * **ID:** The user's unique identifier. * **IP:** The user's IP address. * **Country:** The user's country of origin. * **Status:** The user's current status in the campaign (e.g., Active, Inactive). * **Team:** The team the user belongs to (if applicable). * **Tiers:** The user's current levels or ranks in the campaign. * **Referrals:** The number of referrals the user has made. * **Ref ID:** The user's referral ID (if applicable). ## UTM UTM section * **UTM Source:** The source of the user's traffic (e.g., a specific website or campaign). * **UTM Campaign:** The name of the campaign the user is participating in. * **UTM Medium:** The medium through which the user accessed the campaign (e.g., email, social media). * **UTM Term:** The specific keyword or search term that led the user to the campaign, typically used in paid advertising campaigns (e.g., Google Ads). * **UTM Content:** The specific content the user interacted with before joining the campaign. ## User User section * **Name:** The user's display name or username. This information can be edited. ## Profiles Profiles section This section displays the usernames or profiles associated with the user on various platforms connected to the campaign, such as X, TikTok, wallet, etc. ## Points section The points section shows how many points were earned from various sources and allows you to adjust manually the user's total points if needed. Points section example The following fields display the **Points** earned from different sources: * **Initial Points** are assigned to the user at the start of the campaign. * **Tasks Points** are earned from completing tasks. * **Quests Points** are earned from completing quests. * **Referral Points** are earned through referrals. * **Rewards Points** are earned from claiming rewards. * **Rank Points** are earned from achieving ranks. * **Challenges Points** are earned from completing challenges. * **Withdraws points** are any reductions to a user's total points, such as penalties or corrections applied via the Claimr API. * **Multiplier** is applied to the earned points (e.g., due to a bonus or promotion). * **Total Points** are accumulated points in the campaign, including any bonuses or multipliers. * **Additional Points** field allows you to add manually points to the user's total. This can be useful for correcting errors, awarding bonus points, or adjusting points based on special circumstances. ## Quests Quests section This section displays a table listing all the quests the user has participated in. The table includes: * **Quest:** The name of the quest. * **Date:** The date and time the user participated in the quest. * **Points:** The amount of points earned for that quest. The total points earned from all quests is displayed at the bottom of the table. ## Tasks Tasks section This section displays a table listing all the tasks the user has completed or attempted. * **Task:** The name of the task. * **History:** The date and time of completion or attempt. * **Points:** The amount of points earned for the task. * **Extra:** Any additional points earned for the task. The total points earned from all tasks is displayed at the bottom of the table. You can also add tasks through the **Select task dropdown**. ## Challenges Challenges section This section displays a table listing all the challenges the user has participated in. * **Challenge Name:** The name of the challenge. * **Points:** The amount of points earned for the challenge. * **Rewards:** Any rewards associated with the challenge. The total points earned from all challenges is displayed at the bottom of the table. ## PoW PoW section This section displays a table listing the user's Proof of Work (PoW) activities. * **Date:** The date and time the PoW activity was performed. * **Task Name:** The name of the task associated with the PoW activity. * **Task Type:** The type of PoW task (e.g., "Image as Proof of Work"). * **Status:** The status of the PoW activity (e.g., "approved," "rejected"). * **Content:** The content submitted as proof of work (e.g., a link to a tweet or a screenshot). * **Actions:** The available actions for the PoW activity. ## UGC UGC section This section displays a table listing any user-generated content (UGC) that the user has submitted as part of the campaign. * **Date:** The date and time the UGC was submitted. * **Score:** The score assigned to the UGC. * **Preview:** A preview of the UGC, which could be an image, video thumbnail, or text excerpt. * **File type:** The file submitted as UGC (e.g., JPEG, GIF). ## Rewards Rewards section This section displays a table listing the rewards the user has earned. * **Date:** The date and time when the user earned the reward. * **Type:** The type of reward earned. This indicates the source or reason for the reward (e.g., daily login bonus, task completion, referral, etc.). * **Reward Points:** Amount of points user got for completing the action. ## Polls Polls section This section displays a table listing any polls the user has participated in. The table includes the following columns: * **Task:** The name of the task associated with the poll. * **Date:** The date and time when the user participated in the poll. * **Answer:** The answer that the user selected in the poll. ## Withdraws Withdraws section This section displays a table listing any deductions (withdrawals) made from the user's total points balance. * **Date:** The date and time when the points were deducted. * **Type:** The type for the point deduction indicating the deduction was made via the Claimr API. * **Points:** The number of points deducted in this specific transaction (e.g., `50` in the example). * **Total Points:** The user total points after all operations. ## Referrals Referrals section This section displays information related to the user's referral activities. * **Name:** The name or identifier of the user who was referred. * **Status:** The status of the referral. * **Date:** The date when the referral occurred. * **Ref. Points:** The number of points or rewards earned for the referral. * **Total Points:** The total points accumulated by the user through referrals. ## Transactions Transactions section This section lists all transactions associated with the user's account. * **Hash:** The unique identifier (hash) of the transaction. * **Network:** The blockchain network on which the transaction occurred. * **Contract:** The contract address involved in the transaction. * **Date:** The date and time of the transaction. * **Status:** The status of the transaction. ## Failed actions Failed actions section This section displays a log of any actions attempted by the user that resulted in a failure. * **Task:** The name or identifier of the specific task the user was attempting to complete. * **Date:** The date and time when the action was attempted. Multiple date entries for the same task indicate multiple attempts. * **Type:** The type of task the user attempted (e.g., "Follow on X"). * **Status:** The status of the attempted action (e.g., "Failed", "Completed"). This indicates whether the action was successful or not. For more details about all User information in Claimr, visit [Failed actions](/data-analytics/failed-actions). ## Issues Issues section This section lists any reported issues or problems associated with the user's account. * **Task:** The name or identifier of the specific task associated with the reported issue. * **Date:** The date and time when the issue was reported. * **Title:** A brief title or summary of the issue, often provided by the user when reporting the problem. * **Summary:** A more detailed description or explanation of the issue provided by the user. For more details about all User information in Claimr, visit [Issues analytics](/data-analytics/issues-analytics). ## Actions Actions section ### Disqualify user toggle * Marks the user as a bot or engaging in suspicious activity. * Excludes the user's referrals from statistics. * Renders the user invalid as a referral/referrer. ### Lock user toggle * Immediately suspends the user's account. * Removes the user's access to the campaign. ### Delete user activity button * Initiates the permanent deletion of all user activity. * Should be used with extreme caution as an irreversible action. # Descriptions Source: https://docs.claimr.io/descriptions-creation-usage-tags Learn how to format description fields across Claimr and use dynamic tags to personalize campaigns, quests, tasks, and forms for each participant. ## What are descriptions? Descriptions are text fields used across Claimr modules, including campaigns, groups, contests, tasks, and forms. They allow you to add instructions, tags, contextual details, and media that participants see when interacting with your campaign. While the text editor looks the same across modules, each description field is specific to its context (for example, campaign description vs. task description). ## Description editor Description text editor Each description field opens a text editor where you can: * Format text (fonts, styles, alignment, sub/superscript) * Change text and background colors * Add images * Add links After editing, click **Save** to apply your changes. Use the **Preview** option to check how your description will look for participants. ### Dark and light modes Descriptions support both Light and Dark modes. * The default text color is black. * When using Dark mode, black text may not be visible. In this case, you should manually select a light or bright text color to ensure readability. * The editor does not automatically adjust text colors - you are responsible for setting colors that are visible in both modes. ## Description tags Descriptions support tags, which allow you to insert dynamic values. Tags personalize the experience for each participant by displaying campaign- or user-specific data. Description tags picker in the text editor ### How to use tags 1. Insert a tag directly into the text editor. 2. Save your changes. 3. When participants view the campaign, the tag will be replaced with the correct value. ### Available tags #### 1. User-related tags Display information about the current user and their profile attributes. * `{{claimr_id}}`: Displays the unique Claimr user ID. * `{{user_name}}`: Displays the user's profile name. * `{{evm_address}}`: Shows the user's connected EVM wallet address (if available). * `{{ref_name}}`: Displays the name of the user who referred the current user. * `{{team_name}}`: Shows the name of the team the user belongs to. * `{{rank}}`: Displays the user's current rank in the campaign. * `{{leaderboard_position}}`: Shows the user's position on the campaign leaderboard. * `{{campaign_progression}}`: Displays the user's campaign progression status. #### 2. Points-related tags These tags display information about experience points (XP) and other custom point types. * `{{total_xp}}`: Displays the user's total accumulated experience points (XP) in the campaign. * `{{xp_alias}}`: Shows the campaign's custom XP label. * `{{ref_xp}}`: Displays the XP earned from referrals. * `{{task_xp}}`: Displays the XP earned from a specific (selected) task. * `{{points_[PointID]_XP}}`: Displays the user's balance of an additional point type. This tag is specific to the customizable points you created. The PointID must match the ID you entered manually when creating the point. #### 3. Campaign-level tags These tags provide general statistics about the campaign. * `{{participants}}`: Displays the total number of participants in the campaign. #### 4. Referral-related tags Track user referrals and rewards earned through referrals. * `{{ref_count}}`: Shows the total number of referrals the user has made. * `{{ref_xp}}`: Displays the XP earned from referrals. #### 5. Quest and task-related tags Show quest and task completions, as well as rewards. * `{{completed_quests}}`: Shows how many quests the user has completed. * `{{quests}}`: Displays the total number of quests available in the campaign. * `{{max_quest_reward}}`: Displays the maximum reward available for a single quest. Works only within the selected quest. * `{{task_xp}}`: Displays the XP earned from a specific (selected) task. #### 6. API task-specific tags Specific to API tasks and display scores, counts, and requirements. * `{{api_task_total_score}}`: Shows the total score across all API tasks. * `{{api_task_count}}`: Displays the number of API tasks completed. * `{{api_task_user_score}}`: Shows the user's score for an API task. * `{{api_task_user_total_count}}`: Displays the total number of API tasks completed by the user. * `{{api_task_min_value}}`: Displays the minimum value required for an API task. #### 7. Event-related tags These tags display data collected from event-based tracking. * `{{events_value}}`: Displays the value from event-based tracking. * `{{events_max_value}}`: Shows the maximum event value reached. * `{{events_last_value}}`: Displays the last recorded event value. * `{{events_count}}`: Shows the total number of events recorded. * `{{events_max_count}}`: Shows the maximum number of events reached. * `{{events_last_count}}`: Shows the last recorded event count. Make sure all tags are entered exactly as written to be recognized. ## Usage across Claimr Descriptions appear in multiple places but follow the same principles. For details on where each description is used, see: * [Campaign settings](/campaigns/general-campaign-settings) * [Group description](/groups/group-settings) * [Quest settings](/quests/quest-settings) * [Task settings](/tasks/task-settings) * [Form description](/forms/form-settings) * [Pop-ups](/pop-ups/overview) * [Challenges](/extra/challenges) # Challenges Source: https://docs.claimr.io/extra/challenges Configure challenge type, requirements, and rewards, and see how challenge tiles appear and update for users. ## Understanding Claimr challenges A challenge is a focused objective or set of tasks that users can undertake within your campaign. It adds an element of excitement and competition, encouraging users to go above and beyond the standard campaign activities. ### Benefits of using challenges **Increased engagement**: Provide an extra layer of gamification, encouraging users to participate more actively in your campaigns. **Targeted actions**: Design challenges to drive specific user actions, such as completing tasks, exploring content, or making referrals. **Rewarding achievements**: Provide a sense of accomplishment and reward users for their efforts. ## Configuring challenges Challenge section Navigate to the **Events** section in the Claimr admin panel and select the **Challenges** tab. Click **Create Challenge** to add a new one. A sidebar panel with settings will appear. Challenge settings panel * **Name**: Provide a clear and concise name for the challenge. * **Image**: Upload an image or icon that represents the challenge. * **Description**: Add a brief explanation of the purpose or theme. This helps users understand what to expect within this challenge. Click **Create description** (if no description exists) or **Edit** (if a description already exists) below the Description field. This will open a text editor where you can write and format your description. Remember to click **Save** to keep your new or updated description. For more details on descriptions and tags, visit [Descriptions: creation, usage, tags](/descriptions-creation-usage-tags). * **Challenge type**: Choose the type of challenge: * Tasks Count: Tracks the number of tasks a user must complete. * Quests Count: Tracks the number of quests a user must complete. * Tasks Set: Requires users to complete a specific set of tasks. * Quests Set: Requires users to complete a specific set of quests. * **Configure Challenge Settings**: Depending on the challenge type, configure specific settings. For example, if you chose "Tasks Count," you'll need to specify the minimum number of tasks required in the "Min Tasks" field. * **Set Rewards**: Define the rewards that users will earn for completing the challenge. You can include XP, as well as extra rewards like NFTs or gift codes. Click the **Create** button to save your new challenge. To make your challenges appear in the widget and function correctly, ensure you have enabled the necessary add-on in your Claimr campaign settings. For more information, visit [Widget configurations](/widget/widget-configurations). ## Presenting challenges to users Example of a not-completed challenge Challenges are presented to users as interactive tiles within the Claimr widget. These tiles include: **Challenge name and description**: A brief description of the challenge and what users need to do to complete it. **Reward**: Clearly displays the reward that users will earn for completing the challenge. **Progress counter**: A visual indicator that shows the user's progress towards completing the challenge. ## How users interact with challenges Users view the challenge tile in the widget. They attempt to complete the challenge requirements. The challenge tile's progress bar updates as the user makes progress. Once the user completes the challenge, they receive the associated reward. # Daily check-ins Source: https://docs.claimr.io/extra/daily-check-ins Set up daily check-ins through the Events tab or as a quest task, configure the calendar display, customize per-day rewards, and see how check-ins appear to users. ## Understanding daily check-ins Daily check-ins are a powerful tool for increasing user engagement and encouraging repeat visits to your campaign. They allow you to offer rewards that users can claim once a day, creating a consistent incentive to return and participate. Daily check-ins are set up in a cycle. Once all the configured days have been claimed, the cycle restarts from Day 1. ## Setting up daily check-ins ### Access the Daily check-ins section 1. Log in to your Claimr account. 2. Navigate to the **Events** section in the main navigation menu. 3. Select the **Daily** tab. 4. Click **Create Daily Reward** to add a new daily event entry. Daily event section To modify an existing daily check-in, click the edit button (pencil icon) in the corresponding row. This will open a modal window where you can adjust the day, XP, and associated rewards. Daily check-in reward settings * **Day**: Specify the day of the reward cycle (e.g., Day 1, Day 2, Day 3). * **XP**: Enter the number of experience points (XP) that users will receive for claiming the reward on that day. * **Rewards**: To add or modify extra rewards, click **Create reward**. This will open a new modal window where you can select the reward type (e.g., Web3 token, Discord role, Gift Code) and configure its settings. For more information about rewards, read [Reward settings](/rewards/reward-settings). ### Create daily check-ins through tasks Log in to your Claimr account and go to the **Quests** tab. Choose the quest where you want to add a daily event task. Click **+ Create a new task**. Select **Common** from the list of task types. From the expanded list, choose **Daily Checkin**. Selecting the Daily Checkin task type ### Configure calendar display You can display a calendar directly within the campaign widget for Daily Check-in tasks. This calendar visually represents the user's progress and helps them track their daily check-ins. Daily check-in calendar display To configure this setting: 1. Go to the **Task settings** for your Daily Check-in task. 2. Locate the **Calendar** section. 3. Select **"Daily"** to enable the calendar display in the widget. If you select "-", it will not be displayed. ### Customize daily rewards You can also customize the reward for each individual day of the daily check-in period. This allows you to offer different incentives for consecutive check-ins. Customizing rewards for each day To set unique rewards for each day: 1. Within the **Task settings** for your Daily Check-in task, navigate to the **Rewards** section. 2. You will see a list of days, each with a field to define the reward for that specific day. 3. Enter the desired reward for each day. For example, you can assign different points or digital assets for day 1, day 2, and so on. For other settings, follow the usual instructions in [Task settings](/tasks/task-settings). ## How daily check-ins appear to users The appearance of daily check-ins to users depends on whether the calendar option is enabled in your task settings. In both cases, only one daily check-in event is claimable at a time; subsequent days' events become visible only after the previous day's reward has been successfully claimed. Users claim their reward by clicking the designated button, after which they must wait until the next day to claim the next reward. ### When the calendar option is on When the calendar option is switched on in your task settings, the daily check-ins are displayed within a visual calendar format in the campaign widget. * **Visual tracking**: Users can see the number of the day, with completed days marked. * **"Done" icon**: Once a daily task is completed, it will be tagged with a "done" icon on the corresponding day in the calendar. * **Before claiming**: The daily check-in is presented as a button with a clear call to action (e.g., "Earn 15 XP"). Calendar before claiming * **After claiming**: Once claimed, the button is replaced with a message indicating that the reward has been claimed and encouraging the user to return the next day (e.g., "Come back tomorrow"). Calendar after claiming ### When the calendar option is off If the calendar option is switched off, the daily check-in will appear as a standalone button without the calendar grid. * **Before claiming**: The daily check-in is presented as a button with a call to action (e.g., "Earn 15 XP"). Daily check-in before claiming * **After claiming**: Once claimed, the button changes to a message indicating that the reward has been claimed and prompting the user to return the next day (e.g., "Come back tomorrow"). Daily check-in after claiming # KOLs Source: https://docs.claimr.io/extra/kols Set up KOL entries with unique referral links and track referral performance metrics like valid referrals, total referrals, and XP earned. ## Understanding KOLs KOLs, or Key Opinion Leaders, are individuals who have built a strong online presence and influence within a particular niche or community. They are often seen as experts or trusted sources of information, and their opinions and recommendations can significantly impact the decisions of their followers. ## Benefits of using KOLs **Increased reach**: KOLs can significantly expand the reach of your Claimr campaigns. Their established audience and online presence can introduce your campaigns to a wider range of potential participants, increasing visibility and attracting new users. **Enhanced credibility**: KOLs often have a high level of trust and credibility within their communities. By partnering with them, you can leverage this trust to enhance the perceived value and legitimacy of your campaigns, encouraging more users to participate. **Targeted promotion**: KOLs can effectively promote specific aspects of your campaigns or target particular user segments. This allows you to tailor your message and reach the most relevant audience for your campaign goals. **Performance tracking**: Claimr provides tools to track the performance of your KOL partnerships. You can monitor metrics such as the number of referrals, completed tasks, and overall engagement generated by each KOL, allowing you to measure the effectiveness of your collaborations and optimize your strategies. ## Setting up KOLs Navigate to the **Events** section in the Claimr admin panel and select the **KOLs** tab. KOLs panel Click the **Create** button to add a new KOL entry. KOL settings * **Name**: Enter the name of the KOL. * **KOL ID (optional)**: Assign a custom ID to the KOL for internal management. This ID must be 8 to 24 characters long and can only contain letters, numbers, hyphens, and underscores. * **Ref Link**: * **Base link**: Provide the base URL for the KOL's referral link. This should be a link to a page with a Claimr widget, such as a landing page or a client's website. * **Referral ID tag**: Select a tag that will be appended to the base link to create the unique referral link: "ref" or "invite". Click **Create** to save the new KOL entry. This will generate a unique KOL referral link, including the specified tag and the KOL's ID. ## Tracking KOL performance Claimr provides a table in the KOLs section to track the performance of your KOLs. It includes: * **Name**: The name of the KOL. * **Link ID**: The unique ID associated with the KOL's referral link. * **Link**: The full referral link the KOL can share with their audience. * **Valid referrals**: The number of users who joined your campaign through the KOL's unique referral link and performed a qualifying action. * **Total referrals**: The total number of referrals attributed to the KOL, including those who may not have completed any actions. * **XP**: The total amount of XP earned by the KOL's referrals. * **Completed \[X] tasks**: The number of users referred by the KOL who have completed a specific number of tasks (1, 3, 5, 7, and 10). ## Presenting KOLs to users When users click on a KOL's unique referral link they are directed to a page with a Claimr widget. Example of a KOL referral widget A typical KOL widget might display the title, the rewards information, a brief instruction ("Click to earn 10 XP"), and a button. # Extra Source: https://docs.claimr.io/extra/overview See what the Extra section offers - raffles, daily check-ins, challenges, ranks, KOLs, and tournaments - to keep users coming back for more. The Extra section in Claimr provides a powerful set of tools to enhance your campaigns with dynamic activities and rewards. Here you can configure various features to incentivize users, foster engagement, and create a more interactive experience. Events panel This section includes the following features: * **Raffles**: Create exciting raffles and giveaways to reward users and generate excitement. Configure the prize, entry requirements (e.g., completing specific tasks), and duration of the raffle. * **Daily check-ins**: Offer daily events and rewards to encourage regular participation. Configure the reward cycle, XP awarded, and any extra rewards associated with each day. * **Challenges**: Create standalone challenges that run alongside your main campaign, providing additional opportunities for engagement and rewards. Configure the challenge type (tasks count, quests count, tasks set, or quests set), define the requirements, and set the rewards. * **Ranks**: Establish a ranking system to foster friendly competition and motivate users to progress. Define the different ranks, the criteria for achieving each rank, and the associated rewards or benefits. * **KOLs**: Incorporate Key Opinion Leaders (KOLs) into your campaigns to leverage their influence and reach a wider audience. Define the KOL's role in the campaign, the tasks or actions they will promote, and any associated rewards or incentives. * **Tournaments**: Run temporary, time-boxed leaderboard sessions alongside your main campaign leaderboard. * **Invite codes**: Generate and distribute invite codes to control access to your campaign or reward loyal users. Configure the code generation parameters, distribution methods, and any associated benefits or restrictions. * **Gift codes**: Offer gift codes as rewards, providing users with tangible benefits or discounts. Configure the type of gift codes, their value, and the redemption process. Randomly select winners from a defined user group based on eligibility conditions. Reward users for returning to your campaign every day. Set up standalone objectives that run alongside your main campaign. Build a tiered achievement system to motivate progression. Track referral performance from Key Opinion Leaders. Run temporary, time-boxed leaderboard events. Control access to your campaign with unique invite codes. Deliver tangible, redeemable rewards to your participants. # Raffles Source: https://docs.claimr.io/extra/raffles Configure raffle type, leaderboard source, eligibility requirements, and review winners and analytics for Claimr raffles. ## What are raffles? Raffles are special events that allow you to randomly select winners from a defined user group. Each raffle works as an independent draw based on eligibility conditions such as connected logins, completed quests or tasks, and accumulated points. It is used to form a list of users who participate in a draw. The system then automatically selects the winner(s) according to the configured logic. Users do not see raffles in the app interface: participation happens automatically based on activity and eligibility. ## Configuration steps In the header menu, go to **Extra** and select **Raffles**. Extra menu with Raffles tab Click the **Create Raffle** button. This opens the raffle settings window. Raffle settings window **Raffle name** Enter the raffle name. **Type** Select how the winner(s) will be determined. * Hiscores - selects winners based on the highest number of points. * Random - selects winners completely at random. * Random based on points - selects winners randomly but with higher probability for users who have more points. **Leaderboard** Select the leaderboard from which participants will be drawn. * General campaign leaderboard - includes all users participating in the campaign. * Tournament leaderboard - includes only users who are part of active tournaments. Raffle leaderboard selection **Max participants** Define the maximum number of users allowed to qualify for the raffle. For example, if there are 20 eligible participants but the limit is set to 10, only the top 10 will qualify as winners. **Min points** Set the minimum number of points required for a user to enter the raffle. Raffle minimum points field **Required logins** Select the connected platforms users must have to qualify for the raffle. Raffle required logins field **Required quests** Select the quests users must complete to become eligible. Raffle required quests field **Required tasks** Select the tasks users must complete to qualify. Tasks can be linked to quests or used independently. When all fields are configured, click **Create**. The raffle will appear in the list of raffles. ## Raffle status and management Once the raffle is created, it appears as a card in your Raffles dashboard. On the raffle card, you can see: Raffle card on the dashboard * The raffle status * The selected type and leaderboard * The number of participants * The required points threshold * The required logins, quests, and tasks **Raffle statuses**: * Created - the raffle is configured but not yet finalized. Raffles remain in created status until they are closed. * Closed (ended) - the raffle is completed, and results are available for review. Once closed, the system compiles the participant list based on all configured conditions and determines the winners according to the selected type. Raffles can be managed using the available actions: * End - close the raffle and generate the results. * Edit - modify raffle settings. * Delete - remove the raffle. * Analytics - open participant details and winner information. ## Analytics From the raffle card, click the Analytics icon in the upper corner to view participant data. Raffle analytics leaderboard The leaderboard table displays: * Position - participant ranking in the raffle. * Status - allows you to manually disqualify or restore users. * Name - participant name. * Quests - completed quests (if applicable). * Tasks - completed tasks (if applicable). * Points - total points earned. Users marked in gray are excluded from the export file and do not appear in the list of winners. Click **Get leaderboard .csv** to export the final participant data, including usernames, connected platforms, and point totals. Only qualified users (within the defined participant limit and meeting all requirements) are included in the exported file. ## User view Raffles are invisible to users in the app interface. Participation and winner selection are handled entirely in the admin panel. You can optionally use the exported data to announce winners or manage prize distribution externally. # Ranks Source: https://docs.claimr.io/extra/ranks Configure rank tiers, point thresholds, and rewards, and see how ranks and progress bars appear to users. ## Understanding ranks Ranks are a powerful gamification tool that allows you to create a tiered system of achievement within your campaigns. Users earn points by completing tasks and quests, and as they accumulate points, they progress through different ranks. Each rank can be associated with specific rewards, benefits, or recognition, providing a clear path for users to strive for and a sense of accomplishment as they advance. ### Benefits of using ranks **Increased engagement**: Ranks provide a clear goal for users to work towards, encouraging them to participate more actively in your campaigns. **Motivation and progression**: The tiered system motivates users to continue engaging with your campaign to reach higher ranks and unlock new rewards. **Sense of accomplishment**: Achieving new ranks provides a sense of accomplishment and recognition, fostering a positive user experience. **Community building**: Ranks can be used to create a sense of community and hierarchy within your campaign, encouraging users to compare their progress and strive for higher levels of achievement. **Personalization**: Ranks can be customized to match your campaign's theme and branding, creating a more immersive and engaging experience for your users. ## Configuring ranks Navigate to the **Events** section in the Claimr admin panel and select the **Ranks** tab. Rank panel Click the **Create Rank** button to add a new rank. Rank settings * **Name**: Provide a clear and concise name for the rank (e.g., "Bronze," "Silver," "Gold"). * **Image**: Upload an image or icon that represents the rank. * **Rank points**: Specify the number of points required to achieve this rank. * **Points**: (Optional) Award bonus points to the user upon achieving this rank. * **Rewards**: (Optional) Add additional rewards associated with this rank (e.g., NFTs, gift codes). Click the **Create** button to save your new rank. ## Presenting ranks to users Ranks widget **Rank display**: The user's current rank is clearly displayed within their profile or progress section. This typically includes the rank name or icon and the user's current points progress. **Progress bar**: A progress bar visually represents the user's progress towards the next rank, showing how many points they need to earn to reach the next level. ## How users interact with ranks Users earn points by completing tasks and quests within your campaign. As they accumulate points, their rank automatically updates. Users can see their current rank and progress towards the next rank in their profile or progress section. # Tournaments Source: https://docs.claimr.io/extra/tournaments Configure tournament requirements and point types, manage tournament status, and review tournament analytics and the user-facing leaderboard tab. ## What are tournaments? Tournaments are temporary events that you create and manage from the admin panel. Each tournament runs as a separate leaderboard session, independent of the standard leaderboard. This allows you to track user activity within a defined time frame. Only one tournament can be active at a time. All tournaments can be reviewed in the **Analytics** section. ## Configuration steps In the header menu, go to **Extra** and select **Tournaments**. Click **+ Add Tournament**. This opens the tournament settings window. Add Tournament button Configure the following fields: Tournament settings fields * **Name**: enter the tournament name. * **Required logins**: select the connected platforms that users must have to be eligible for the tournament leaderboard. * **Required quests**: select the quests that users must complete to qualify. * **Required tasks**: select the individual tasks that users must complete. Tasks can be linked to quests or used independently. * **Points type**: if your campaign has multiple point types configured in Points settings (e.g., XP plus additional customizable points), select which point type will be used to calculate the tournament leaderboard. Tournament points type selection When all settings are configured, click **Create**. The tournament will appear in the list of tournaments. List of tournaments Manage the tournament using the available actions: * Start - activate the tournament. A dedicated leaderboard will be created. * End - finish the tournament. The leaderboard is closed and stored as historical data. * Edit - change the tournament name. * Delete - remove the tournament. ## Completion logic Tournament status flow * Only one tournament can run at the same time. * Created tournaments remain in status created until started. * When started, the status changes to started and all user activity contributes to the tournament leaderboard. * When ended, the status changes to ended and the final leaderboard is stored for analytics. Once a tournament is started, you can access its analytics directly from the tournament card by clicking the Analytics icon in the upper corner next to the Edit button. ## Analytics 1. You can access tournament analytics in two ways: * In the header menu, go to Analytics and select Tournaments. * From the Tournaments view, click the analytics icon in the upper corner of a specific tournament card. 2. The overview table will open showing all tournaments with their name and status. Clicking a tournament opens its leaderboard. 3. The leaderboard is displayed as a dynamic table with the following columns: Tournament analytics leaderboard * Name - username or identifier. * Points - total points earned. * Connected accounts - Twitter, wallet, Discord, or other linked accounts (columns appear dynamically depending on available data). 4. You can sort the table, copy wallet addresses, and export the leaderboard to a .csv file. 5. Clicking a user opens detailed information about that participant. ## User view Tournament tab in the user-facing leaderboard * In the app leaderboard, a Tournament tab appears next to the Main leaderboard when a tournament is active. * Users can switch between the main leaderboard and the tournament leaderboard to see rankings. * Tournament leaderboards have the same structure and options as the main leaderboard. # Blocks Source: https://docs.claimr.io/forms/blocks Explore every form block type - short answer, long answer, email, link, choice, quiz, rich text, video, and address - and their settings. Form blocks are the individual elements that make up a form in Claimr. You can move blocks from one page to another within the form. ## Add blocks Add block Click the **+ Block** button. A pop-up window will appear where you can select the block type. Select block type Choose the block type that best suits the information you want to collect. Click **Add Block** to add the block to the page. Customize the labels, placeholders, and validation rules for the block. Each page in a form must have at least one block. ## Blocks common structure * **Block label:** A small label that identifies the block type (e.g., "Short answer," "Email"). This is primarily for internal organization and is not always visible to the user. * **Field label:** The label displayed to the user, indicating what information should be entered in the block (e.g., "Your name," "Email address"). * **Input field:** The actual input field where the user enters their response. * **Settings icon:** A gear icon that opens the block's settings menu. Customize the labels, placeholders, and settings for each block. ## Block settings Block settings Most blocks share these common settings: **Optional toggle:** Make the block optional or required. **Error message:** Customize the error message displayed for invalid input. To customize a block: Click the gear icon to the left of the block to open the block settings menu. Adjust the settings as needed. Click **Apply** to save your changes or **Delete block** to remove the block. ## Block types Each block serves a specific purpose in collecting user information or creating interactive elements within your forms. ### Short answer Collect short text answers from users. Ideal for fields like names, addresses, or social media handles. Short answer example **Regular expression settings:** Define a pattern to validate user input conforms to specific rules or formats. **Examples** Include a specific emoji: If you want to include a specific emoji (e.g., ✨) in the user's name, you could use a regular expression like `.*✨.*` to allow for any characters before or after the emoji. Start with a specific word or phrase: If you want to ensure the user's name starts with a specific word or phrase, you could use a regular expression like `^YourKeyword` to match any string that begins with "YourKeyword". **Resources** * **Regular expression builder:** [regex101.com](https://regex101.com/) * **AI assistants** ### Long answer Collect longer text answers or paragraphs from users. Perfect for gathering feedback, comments, or detailed explanations. This block has common settings with an optional toggle and customizable error message text. Long answer example ### Email Collect email addresses from users. Email example ### Link Collect website links from users. Link example ### Choice Allow users to select from a list of options. This is great for creating multiple choice questions or offering a set of predefined answers. Choice example **Choice settings** Choice settings * **Shuffle:** Randomize the order of choices to prevent bias. * **Allow multiple choices:** Enable users to select more than one option. * **Optional toggle:** Make the block optional or required. * **Use "Other" answer:** Include an "Other" option for users to provide their own answer if none of the predefined choices are suitable. **Using scores** * **Converting score to XP:** You can convert the user's quiz score into XP (experience points) that can be used in your Claimr campaign. To do this, enable the "Score to XP" option when configuring the Form task within your quest. To find out more information, visit [Form tasks](/tasks/form-tasks). * **Determining the correct answer:** The choice with the highest assigned score is considered the correct answer. * **Minimum score:** You can also set a minimum score that users must achieve on the quiz to complete the Form task. ### Quiz Use this block to create interactive quizzes within your forms. This allows you to engage users, test their knowledge, or gather information in a fun and interactive way. Quiz example #### Quiz structure **Question:** Clearly state the quiz question. **Answer Choices:** Provide a list of possible answers for the user to choose from. Only one answer can be marked as correct. **Score:** Assign a score to each answer choice. The choice with the highest score is considered the correct answer. **Explanation (optional):** Add a reason for each answer choice. This explanation will be displayed to the user after they answer the question, regardless of whether their answer is correct or not. To find out more, read our [Quizzes](/forms/quizzes) article. ### Rich text Add a heading with rich text formatting to your form. This helps break up long forms and improve readability. Use the built-in editor to format the heading text (e.g., change font size, color, or add bolding). For more details on descriptions and tags, visit our [Descriptions: creation, usage, tags](/descriptions-creation-usage-tags) article. Rich text example ### Video Embed a video into your form to provide visual instructions or entertainment. Enter the URL of the video you want to embed. Video example ### Address Collect users' wallet addresses. This is useful for campaigns involving cryptocurrency or blockchain interactions. Wallet address By utilizing these diverse block types and their customizable settings, you can create forms that are not only visually appealing but also highly effective in gathering valuable user information and enhancing the overall campaign experience. # Create forms Source: https://docs.claimr.io/forms/create-forms Access the forms section, create a new form, and learn how the forms table lets you sort and manage what you've built. Log in to your Claimr account and go to the **Forms** tab in the Claimr admin panel. Click the **Create form** button to create a new form. You'll be redirected to the form creation page, where you can name your form and add content. Forms section Once you've created a form, you'll see a table listing all your forms. This table includes: * **Form ID:** A unique identifier for each form. * **Name:** The name you assigned to the form. * **Pages:** The number of pages in the form (this feature is currently deprecated). ## Table features include * **Sorting:** You can sort the table by form name. * **Deleting a form:** Select the checkbox next to the form you want to delete and click the **Delete** button. See the following articles to learn more about configuring form settings, pages, and blocks. # Form settings Source: https://docs.claimr.io/forms/form-settings Rename your form, configure page pagination and legacy quiz mode, and set a minimum height to keep multi-page forms visually consistent. Customize the appearance and behavior of your forms with Claimr. Form settings ## General * **Form name:** This field displays the current name of the form. You can edit the form name directly within this field. * **Quiz mode (Deprecated):** This toggle enables quiz functionality within forms. However, this method is outdated and no longer recommended. To create quizzes, use the dedicated Quizzes feature, which provides a significantly improved experience. To find out more, read our [Quizzes](/forms/quizzes) article. * **Enable page pagination:** This toggle enables page numbering within the form. When enabled, users will see the current page number, allowing them to track their progress through multi-page forms or quizzes. ## Customization * **Form min-height:** This field specifies the minimum height of the form in pixels. This helps maintain a consistent visual appearance when your form has multiple pages with varying content. By setting a minimum height, you prevent the form from shrinking or expanding drastically as users navigate between pages. If you have a multi-page form with some pages having a lot of content and others having very little, setting a form min-height will prevent the form's overall height from jumping around as users navigate. This creates a smoother and more visually consistent experience. # Forms Source: https://docs.claimr.io/forms/overview See what you can do with Claimr forms and find your way into creating forms, form settings, pages, blocks, and quizzes. Forms are a versatile tool for collecting data from your users. Use forms to gather contact information, feedback, preferences, or any other data for your campaign goals. **Use forms to** * Collect information to understand your audience better, personalize their experience, and improve your campaigns. * Make your campaigns more interactive by incorporating forms that allow users to provide feedback, express preferences, or participate in surveys and quizzes. * Capture leads and build your email list or contact database. * Gather information upfront to personalize the user journey and provide more relevant content and rewards. ## Understanding forms structure Forms in Claimr have a hierarchical structure: **Forms:** The overall container for collecting user information. **Pages:** Forms can have multiple pages, allowing you to organize the information you're gathering into logical sections. **Blocks:** Each page consists of different blocks, which are the individual elements that make up the form (e.g., text fields, email fields, dropdown menus, checkboxes). To learn more about managing existing forms, editing forms, configuring form settings, and utilizing different block types, see the following articles. Create your first form and start collecting user data. Customize the appearance and behavior of your forms. Organize your form's content into logical pages. Explore the block types available to collect user information. Build interactive quizzes within your forms. # Pages Source: https://docs.claimr.io/forms/pages Add pages to your form and customize page settings to create visually appealing and user-friendly forms that match your brand. Once you've created a form, start adding pages and blocks to build its structure and collect the desired information. ## Add page Add page This opens a modal window where you can select the type of block you want to add to the new page. Choose the block type that best suits the information you want to collect (e.g., Short Answer, Long Answer, Email, Choice, Quiz) and configure settings. For more information, visit [Blocks](/forms/blocks). Pages cannot be empty. Make sure to add at least one block to each page. You can rearrange the order of pages and blocks within the form by dragging and dropping them. ## Page settings Each page has its own settings that you can customize to match your branding and enhance the user experience. To access the page settings, click the settings button (gear icon) next to the page name in the form editor. Page settings ### General page settings **Page title:** Enter a descriptive title for the page. This title will be displayed to users as they navigate through the form. **Page title color:** Use the color picker to choose a custom color for the page title. ### Buttons settings **Back button:** Customize the text displayed on the "Back" button. This button allows users to navigate to the previous page in the form. **Submit button:** Customize the text displayed on the "Submit" button. This button is used to submit the form on the last page. ### Customization options **Background image:** Upload an image to use as the background for the page. **Edit:** Click this button to edit or replace the existing background image. **Background color:** Choose a background color for the page using the color picker. **Text color:** Select the color of the text on the page. **Button text color:** Choose the color of the text on the buttons. **Button background color:** Select the background color for the buttons. **Disabled button text color:** Choose the color of the text on disabled buttons. **Disabled button background color:** Select the background color for disabled buttons. ### Page actions **Delete:** Click this button to delete the current page. **Cancel:** Click this button to cancel any changes and return to the page settings. **Update:** Click this button to save your changes to the page settings. # Quizzes Source: https://docs.claimr.io/forms/quizzes Configure the Quiz block's questions, answer choices, scores, and explanations to engage users and test their knowledge. ## What are quizzes? The Quiz block in Claimr forms allows you to create interactive quizzes to engage users, test their knowledge, and gather information in a structured way. Quizzes provide a more engaging alternative to traditional surveys and can be used for various purposes, including: * **Knowledge checks:** Assess user understanding of a topic. * **Lead qualification:** Gather information about potential customers through interactive questions. * **Interactive tutorials:** Guide users through a learning process with immediate feedback. * **Fun and engagement:** Create lighthearted quizzes to entertain your audience. * **Contests and giveaways:** Use quizzes as entry mechanisms for contests. Quizzes are created using a dedicated [block](/forms/blocks) within the Claimr form builder. ## Quiz block settings Within the form editor, add a new **Quiz block** to the desired page. Remember, you can only have one Quiz block per page. Quiz block settings ### Configure the Quiz block Enter the text of your quiz question in this field. Add multiple answer choices directly within the Quiz block. Each answer choice has the following fields: * **Answer text:** Enter the text of the answer choice. * **Score:** Assign a numerical score to this specific answer choice. This can be: * **Positive:** Award points for a correct answer. * **Zero:** No points are awarded or deducted. * **Negative:** Deduct points for an incorrect answer. * **Explanation (Optional):** Provide an explanation for this specific answer choice. **If an explanation is provided:** The answer choice is treated as part of the quiz, and the score will be applied. The explanation will be shown to the user after they answer the question, providing feedback. Quiz block explanation field Explanation shown to the user after answering **If no explanation is provided:** The answer choice is treated as part of the survey. * **+ Block:** Use this button to add additional answer choices to your question. * **Shuffle:** Use this setting in the Form to make the answers appear in random order. # Use Claimr docs with AI coding agents Source: https://docs.claimr.io/frameworks/ai-coding-agents Give Claude Code, OpenAI Codex, Cursor, GitHub Copilot, and other AI coding agents the rules and references they need to integrate Claimr into your app correctly. AI coding agents can integrate Claimr for you, as long as they know how the widget loader behaves. Without that context, agents tend to make the same mistakes: injecting the script from the component that shows the widget, using the wrong script ID, or calling `destroy()` on unmount. This page gives you three ways to prevent that. 1. [Add a rules file](#add-a-claimr-rules-file-to-your-project) to your repository so the agent follows the integration rules on every task. 2. [Point the agent at the Markdown docs](#point-the-agent-at-the-docs) so it can read the full guides. 3. [Connect Claimr MCP](#configure-campaigns-with-claimr-mcp) if you also want the agent to create or edit campaigns. ## Add a Claimr rules file to your project Copy the block below into the instructions file your agent reads, fill in the **Project values** section, and commit it. | Agent | File | | - | - | | Claude Code | `CLAUDE.md` in the project root. If you already keep rules in `AGENTS.md`, add the line `@AGENTS.md` to `CLAUDE.md` instead. | | OpenAI Codex | `AGENTS.md` in the project root. | | Cursor | `AGENTS.md`, or a rule file such as `.cursor/rules/claimr.mdc`. | | GitHub Copilot | `.github/copilot-instructions.md`, or `AGENTS.md`. | | Other agents | `AGENTS.md` is read by most coding agents. | ```markdown AGENTS.md expandable theme={"dark"} ## Claimr widget integration Claimr is embedded with one script, `https://widgets.claimr.io/claimr.min.js`. The script renders the campaign in an iframe inside a container element and exposes an SDK at `window.claimr`. There is no npm package. ### Project values - Organization ID: - Campaign ID: - Container ID: claimr-widget - Sign-in model: - Framework: ### Reference docs (Markdown, read before writing code) - Rules and shared loader module: https://docs.claimr.io/frameworks/overview.md - React: https://docs.claimr.io/frameworks/react.md - Next.js: https://docs.claimr.io/frameworks/nextjs.md - Vue and Nuxt: https://docs.claimr.io/frameworks/vue-and-nuxt.md - SDK methods and callbacks: https://docs.claimr.io/sdk-guide.md - Script attributes: https://docs.claimr.io/widget/widget-attributes.md - User tokens: https://docs.claimr.io/api-guide/user-token.md - Full index: https://docs.claimr.io/llms.txt ### Rules 1. Use the shared loader module (`lib/claimr.ts`) from the overview page. Do not write a new loader. 2. Load the script exactly once per page session, from the app root: root provider (React), root layout (Next.js App Router), `_app` (Pages Router), app plugin (Vue), or `plugins/*.client.ts` (Nuxt). Never load it from the component that displays the widget. 3. The script element must have `id="claimr-script"`. There must be only one on the page. 4. Configure the widget with `data-*` attributes on the script: `data-organization`, `data-campaign`, `data-container`, `data-autoresize="true"`. They are read once at load. For runtime changes use SDK methods (`set_language`, `set_theme`, `set_user_token`), or `reloadClaimr(config)` to switch campaigns. 5. Show the widget by rendering an empty element whose `id` equals `data-container`. The loader attaches the iframe when that element appears and removes it when it disappears. Never render children inside it and never bind an inline `height` to it. 6. Never call `window.claimr.destroy()` when a component unmounts. 7. Read `window.claimr` at call time. Never store it in state, context, or a module variable. 8. Assign SDK callbacks (`on_user_info`, `on_campaign_info`, `on_logout`, `on_wallet_request`, and so on) in exactly one place, the `setup` function passed to `loadClaimr`, and share the data through app state. 9. `set_language`, `set_theme`, `complete_task`, `select_wallet`, `open_profile_popup` and `platform_login` need a loaded widget: wrap them in `withWidget(...)`. `set_user_token`, `connect_wallet`, `open_quest` and `login` are safe to call earlier. 10. Run Claimr code in the browser only. Next.js: `'use client'` and `useEffect`. Nuxt: `.client` plugin and `onNuxtReady`. Rendering the empty container on the server is fine. 11. The Claimr API token is a server secret. Never expose it with `VITE_`, `NEXT_PUBLIC_`, or `NUXT_PUBLIC_`. Generate user tokens on the server: `GET https://prod.claimr.io/api/v1/token?account=&platform=` with `Authorization: Bearer `. The response is `{ "success": true, "data": { "token": "..." } }`. Pass the token to the browser, then to `set_user_token`. Call `window.claimr.logout()` on sign-out. 12. When the widget component unmounts, reset `document.body.style.overflow = ''`. 13. To disable autoresize, omit `data-autoresize`. The value `"false"` still enables it. 14. Only use SDK methods, callbacks, and attributes listed in the SDK guide and widget attributes pages. If something is not documented, ask instead of guessing. ### Definition of done - The widget renders on the target page and `window.claimr.is_claimr_ready` is `true`. - Navigating away and back re-attaches the widget, and `document.querySelectorAll('#claimr-script').length === 1`. - No server-side rendering errors and no hydration warnings. - The API token does not appear anywhere in the client bundle. ``` ## Point the agent at the docs Every page on this site is also available as plain Markdown, which agents read more reliably than HTML: | Resource | URL | | - | - | | Index of all pages | `https://docs.claimr.io/llms.txt` | | All pages in one file | `https://docs.claimr.io/llms-full.txt` | | Any single page | Add `.md` to the page URL, for example `https://docs.claimr.io/frameworks/react.md` | Agents with web access, such as Claude Code, can fetch these URLs on their own when the rules file lists them. If your agent runs without network access, open the page you need here, use the page menu at the top to copy it as Markdown, and paste it into the conversation. ## Example prompts Use prompts like these after adding the rules file. Name the framework, the page, and the sign-in model so the agent does not have to guess. ```text theme={"dark"} Add the Claimr widget to the /quests page of this Next.js App Router app. Follow the Claimr rules in AGENTS.md and https://docs.claimr.io/frameworks/nextjs.md. Use NEXT_PUBLIC_CLAIMR_ORGANIZATION and NEXT_PUBLIC_CLAIMR_CAMPAIGN for the IDs. Users sign in inside the widget, so skip user tokens. When you are done, list the files you changed and how to verify the integration. ``` ```text theme={"dark"} Our users already sign in with our own auth. Connect them to Claimr with user tokens: add a server route that generates the token with CLAIMR_API_TOKEN, pass it to the Claimr provider, and call logout on sign-out. Follow the "Sign users in with your own accounts" section of https://docs.claimr.io/frameworks/react.md. Never expose CLAIMR_API_TOKEN to the browser. ``` ```text theme={"dark"} When a user finishes the onboarding checklist in src/features/onboarding, mark the Claimr front-end task "" as complete using completeTask from useClaimr. The widget may not be mounted at that moment, so rely on withWidget. ``` ```text theme={"dark"} This dApp uses wagmi and RainbowKit. Make the Claimr widget use the connected wallet instead of asking the user to connect again: set platform "dapp" and implement on_wallet_request as in https://docs.claimr.io/frameworks/react.md#connect-the-users-wallet-dapps. ``` ```text theme={"dark"} Review our Claimr integration against the rules in AGENTS.md. For each rule, say whether the code follows it and point to the file and line. Fix any violation you find. ``` ## Configure campaigns with Claimr MCP The rules file teaches an agent how to **embed** a campaign in your code. To let the same agent **build or edit** the campaign itself (quests, tasks, rewards, widget layout, translations), connect it to Claimr MCP. ```bash theme={"dark"} claude mcp add --transport http claimr https://prod.claimr.io/mcp ``` For Cursor, VS Code, and other clients, see [Connect an AI assistant](/mcp/connect-an-ai-assistant). With both in place, a single request such as "create a three-quest onboarding campaign and add it to the /quests page" can cover the campaign setup and the code. # Integrate Claimr into a Next.js app Source: https://docs.claimr.io/frameworks/nextjs Add the Claimr widget to a Next.js app with the App Router or Pages Router, keep it working across client-side navigation, and generate user tokens on the server. This guide adds Claimr to a Next.js 13.4+ app. It covers the App Router first, then the [Pages Router](#pages-router). The widget always runs in the browser; Next.js server features are only used to keep your API token secret while generating user tokens. | File | Runs on | Purpose | | - | - | - | | `lib/claimr.ts` | Browser | Framework-agnostic loader, readiness helpers, and TypeScript types. | | `claimr/ClaimrProvider.tsx` | Browser (`'use client'`) | Loads the script once from the root layout and shares Claimr state through context. | | `claimr/ClaimrWidget.tsx` | Browser (`'use client'`) | Renders the container the widget attaches to. | | `claimr/useClaimr.ts` | Browser | Hook for Claimr state and SDK methods. | | `lib/claimr-server.ts` | Server only | Generates user tokens with your secret API token. | | `app/api/claimr/token/route.ts` | Server | Returns a user token to the signed-in user. Optional. | Paths below assume the `@/` import alias points at your source root, which is the `create-next-app` default. Read [How the loader works](/frameworks/overview#how-the-loader-works) for the reasoning behind this layout. In short: the script loads once in the root layout, which persists across client-side navigation, and the widget attaches to whichever page currently renders the container. ## Set up the integration (App Router) ```bash .env.local theme={"dark"} # Public: inlined into the browser bundle NEXT_PUBLIC_CLAIMR_ORGANIZATION=your-organization-id NEXT_PUBLIC_CLAIMR_CAMPAIGN=your-campaign-id # Server only: never prefix these with NEXT_PUBLIC_ CLAIMR_API_TOKEN=your-secret-api-token CLAIMR_PLATFORM=your-platform-name ``` You only need `CLAIMR_API_TOKEN` and `CLAIMR_PLATFORM` if your users sign in through your app. `CLAIMR_PLATFORM` is a short name for your platform. It cannot be `claimr`. Create `lib/claimr.ts` with the contents of [the shared loader module](/frameworks/overview#the-shared-loader-module). It guards every `window` access, so importing it from a client component is safe during server rendering. ```tsx claimr/ClaimrProvider.tsx expandable theme={"dark"} 'use client'; import { createContext, ReactNode, useEffect, useMemo, useState } from 'react'; import { ClaimrCampaignInfo, ClaimrUser, getClaimr, loadClaimr } from '@/lib/claimr'; export const CLAIMR_CONTAINER_ID = 'claimr-widget'; export interface ClaimrState { loaded: boolean; error: Error | null; user: ClaimrUser | null; campaign: ClaimrCampaignInfo | null; } export const ClaimrContext = createContext(null); interface Props { children: ReactNode; /** User token generated on the server for the signed-in user. */ userToken?: string; language?: string; } export function ClaimrProvider({ children, userToken, language }: Props) { const [loaded, setLoaded] = useState(false); const [error, setError] = useState(null); const [user, setUser] = useState(null); const [campaign, setCampaign] = useState(null); useEffect(() => { // Effects only run in the browser, so window is available here. loadClaimr( { organization: process.env.NEXT_PUBLIC_CLAIMR_ORGANIZATION!, campaign: process.env.NEXT_PUBLIC_CLAIMR_CAMPAIGN!, container: CLAIMR_CONTAINER_ID, autoresize: true, language, userToken, }, (claimr) => { claimr.on_user_info = (info) => setUser(info); claimr.on_campaign_info = (info) => setCampaign(info); claimr.on_logout = () => setUser(null); }, ) .then(() => setLoaded(true)) .catch(setError); // Load once. Later prop changes are applied by the effect below. // eslint-disable-next-line react-hooks/exhaustive-deps }, []); useEffect(() => { if (loaded && userToken) getClaimr()?.set_user_token(userToken); }, [loaded, userToken]); const value = useMemo(() => ({ loaded, error, user, campaign }), [loaded, error, user, campaign]); return {children}; } ``` ```tsx claimr/ClaimrWidget.tsx theme={"dark"} 'use client'; import { useEffect } from 'react'; import { CLAIMR_CONTAINER_ID } from './ClaimrProvider'; export function ClaimrWidget({ className }: { className?: string }) { useEffect(() => { return () => { // An open quest popup locks page scroll. Release it if the user navigates away mid-quest. document.body.style.overflow = ''; }; }, []); // Keep this element empty and do not bind an inline height: the loader owns both. return
; } ``` The empty `
` is rendered on the server too. That is intended: the script loads after hydration, so the loader adds its iframe to a node React has already hydrated, and there is no hydration mismatch. ```ts claimr/useClaimr.ts theme={"dark"} 'use client'; import { useCallback, useContext } from 'react'; import { getClaimr, withWidget } from '@/lib/claimr'; import { ClaimrContext } from './ClaimrProvider'; export function useClaimr() { const state = useContext(ClaimrContext); if (!state) throw new Error('useClaimr must be used inside '); const openQuest = useCallback((questId: string) => getClaimr()?.open_quest(questId), []); const login = useCallback(() => getClaimr()?.login(), []); const logout = useCallback(() => getClaimr()?.logout(), []); const completeTask = useCallback((taskId: string) => withWidget((c) => c.complete_task(taskId)), []); const setLanguage = useCallback((code: string) => withWidget((c) => c.set_language(code)), []); const setTheme = useCallback((theme: string) => withWidget((c) => c.set_theme(theme)), []); return { ...state, openQuest, login, logout, completeTask, setLanguage, setTheme }; } ``` The root layout is a Server Component. It can render the client provider directly. ```tsx app/layout.tsx theme={"dark"} import type { ReactNode } from 'react'; import { ClaimrProvider } from '@/claimr/ClaimrProvider'; export default function RootLayout({ children }: { children: ReactNode }) { return ( {children} ); } ``` Put the provider in the **root** layout, not in a nested layout or a page. The root layout never unmounts during client-side navigation, so the script loads exactly once. Pages stay Server Components. Only the widget itself is a client component. ```tsx app/quests/page.tsx theme={"dark"} import { ClaimrWidget } from '@/claimr/ClaimrWidget'; export default function QuestsPage() { return (

Quests

); } ``` When the user navigates with `` to a page without `ClaimrWidget`, the loader detaches the widget. When they come back, it attaches it again.
Prefer `next/script`? You can load the script with ` ``` Render at most one `ClaimrWidget` at a time, and do not wrap it in ``. A kept-alive component is moved out of the document when it is deactivated, so the loader detaches the widget and reloads it on every reactivation. ```ts src/main.ts theme={"dark"} import { createApp } from 'vue'; import App from './App.vue'; import router from './router'; import { createClaimr } from './plugins/claimr'; createApp(App).use(router).use(createClaimr()).mount('#app'); ``` Pass options to override the defaults, for example `createClaimr({ language: 'fr', platform: 'dapp' })`. ```vue src/views/QuestsView.vue theme={"dark"} ``` With Vue Router, other views do not render the container, so the loader detaches the widget when you leave this route and attaches it when you come back. ### Use the SDK from components ```vue src/components/LessonVideo.vue theme={"dark"} ``` `complete_task` only works for tasks configured as front-end tasks in the campaign. See [SDK tasks](/tasks/sdk-tasks). ### Sign users in with your own accounts Generate the token on your backend with your secret API token. Never call the token endpoint from Vue code. ```ts server/claimr-token.ts theme={"dark"} export async function getClaimrUserToken(account: string, name?: string): Promise { const url = new URL('https://prod.claimr.io/api/v1/token'); url.searchParams.set('account', account); // your stable user ID url.searchParams.set('platform', process.env.CLAIMR_PLATFORM!); // a short name for your platform, not "claimr" if (name) url.searchParams.set('name', name); const response = await fetch(url, { headers: { Authorization: `Bearer ${process.env.CLAIMR_API_TOKEN}` }, }); const body = await response.json(); if (!response.ok || !body.success) throw new Error('Claimr token request failed'); return body.data.token as string; } ``` Expose it through an authenticated endpoint of your own, then pass the token to the composable whenever your app's user changes: ```ts src/App.vue theme={"dark"} // Inside ``` There is no need for ``. The empty `
` renders on the server, and the widget attaches to it in the browser. ```vue pages/quests.vue theme={"dark"} ``` Navigating with `` to a page without `ClaimrWidget` detaches the widget. Coming back attaches it again. ### Sign users in with your own accounts (Nuxt) The route reads your secret API token from server-only runtime config. This example uses [`nuxt-auth-utils`](https://github.com/atinux/nuxt-auth-utils); replace `requireUserSession` with your auth library's equivalent. ```ts server/api/claimr/token.get.ts theme={"dark"} export default defineEventHandler(async (event) => { const { user } = await requireUserSession(event); const config = useRuntimeConfig(event); const response = await $fetch<{ success: boolean; data: { token: string } }>( 'https://prod.claimr.io/api/v1/token', { query: { account: user.id, platform: config.claimrPlatform, name: user.name }, headers: { Authorization: `Bearer ${config.claimrApiToken}` }, }, ); return { token: response.data.token }; }); ``` The token never expires. Store it with your user record to avoid calling Claimr on every request. ```ts plugins/claimr-auth.client.ts theme={"dark"} export default defineNuxtPlugin(() => { const { loggedIn } = useUserSession(); // from nuxt-auth-utils, or your auth library const { setUserToken } = useClaimr(); watch( loggedIn, async (isLoggedIn) => { if (!isLoggedIn) return setUserToken(null); const { token } = await $fetch('/api/claimr/token'); setUserToken(token); }, { immediate: true }, ); }); ``` Enable the matching sign-in option in the campaign under **Settings** > **Sign-in options**. ## Wallets and Telegram * **dApp with its own wallet**: pass `platform: 'dapp'` in the loader config and assign `window.claimr.on_wallet_request` once your wallet library is ready. The handler receives `{ op, ...params }` for `connect`, `sign_message`, `send_transaction`, and `disconnect`, and must return a result or throw. See [`on_wallet_request`](/sdk-guide#on_wallet_request) and the [React wallet bridge](/frameworks/react#connect-the-users-wallet-dapps), which translates directly to a Vue component using `@wagmi/vue`. * **Telegram Mini App**: pass `platform: 'telegram'`. See [Telegram Mini App](/how-to/integrating-claimr-widget-into-telegram-mini-app). ## Verify the integration 1. Open the page with `ClaimrWidget`. The campaign renders inside the container. 2. In the browser console, `window.claimr.is_claimr_ready` returns `true`. 3. Navigate to another route and back. The widget comes back, and `document.querySelectorAll('#claimr-script').length` is still `1`. 4. In Nuxt, the server log and browser console show no hydration mismatch warnings for the widget container. 5. If you use user tokens, sign in to your app and confirm the widget shows the same user without a second sign-in. # Create a Claimr account and activate it Source: https://docs.claimr.io/getting-started/create-an-account Sign up for Claimr, fill in your details, and activate your account so you can start exploring the admin panel. Open your web browser and navigate to the login page: [https://panel.claimr.io](https://panel.claimr.io/) Spot **Create account** on the login page and click it. Sign up page * **Email**: Type in your work email - this will be your key to accessing Claimr. * **Password**: Choose a strong password: mix it up with letters, numbers, and symbols for maximum security. * **Confirm password**: Double-check your password by typing it in again. * **Your name**: Enter your full name. You can always change it later in your account settings. Creating account page Keep your login information confidential. Make sure it's stored somewhere safe and secure. Once everything looks good, click **Register Account**. Congratulations, you are in! * **Check your inbox**: Check your email inbox (and your spam folder, just in case) and look for a message from Claimr. * **Follow the link**: Click the link in the email to activate your account and you'll be redirected to the Claimr panel. Need a hand? Let us know at [support@claimr.io](mailto:support@claimr.io) - we're always happy to help! # Edit your Claimr profile Source: https://docs.claimr.io/getting-started/edit-profile Update your account details from your Claimr profile settings. You can update your account details, including your name, at any time from your profile settings in the Claimr admin panel. This article is a work in progress. Check back soon for a full walkthrough of the profile editing options. # Getting started Source: https://docs.claimr.io/getting-started/overview Find your way into creating an account, signing in, resetting your password, and editing your profile. Welcome to Claimr! Claimr helps you turn your product into a gamified experience - campaigns, quests, and tasks that reward your users for taking action. Before you build your first campaign, set up your account with the steps below. Sign up for Claimr and activate your account. Access your personalized Claimr dashboard. Regain access to your account if you forget your password. Update your account details and preferences. ## What's next Once you're signed in, see how [Claimr's core components](/claimr-core-components) fit together, then head to [Campaigns](/campaigns/overview) to build your first campaign. Need a hand? Let us know at [support@claimr.io](mailto:support@claimr.io) - we're always happy to help! # Reset your Claimr account password Source: https://docs.claimr.io/getting-started/reset-password Forgot your password? No worries! Follow these steps to regain access to your Claimr account. On the Claimr login page, locate and click **Forgot your password?** below the password field. This will take you to the password reset page. Forgot your password stage In the provided field, type the email address linked to your Claimr profile. Double-check for accuracy to ensure you receive the password reset email. Enter your email stage Open your email inbox and look for a message from Claimr. It should contain a unique verification code needed to reset your password. Password reset verification email Go back to the password reset page and enter the verification code from your email. Hit **Submit** to confirm your code and move on to the next step. Enter verification code stage Enter your desired new password in the designated field. Choose a strong password with a mix of letters, numbers, and symbols. Retype your new password to ensure it matches exactly. Click **Reset password** to save your new password. You're all set! You can now sign in to Claimr with your new password. # Sign in to your Claimr account Source: https://docs.claimr.io/getting-started/sign-in-to-your-account Access your personalized Claimr dashboard with your email and password, or sign in with your Google account. Open your web browser and navigate to the login page: [https://panel.claimr.io](https://panel.claimr.io/) Sign in page * **Email**: Type in the email address you used to create your Claimr account. * **Password**: Carefully enter your password. Once you've entered your details, click **Sign In** to access your personalized Claimr dashboard. **Prefer Google?** You can also log in with your Google account by clicking the **Continue with Google account** link. ## Need a hand? * **Forgot your password?** Click the **Forgot your password?** link below the login button. We'll guide you through the steps to reset it. * **New to Claimr?** If you haven't yet created a Claimr account, click **Create account** to join us! Your login information is confidential. Please ensure you're accessing your account from a secure device and network. Need a hand? Let us know at [support@claimr.io](mailto:support@claimr.io) - we're always happy to help! # Create new group Source: https://docs.claimr.io/groups/create-new-group Build a new quest group in your campaign to organize related quests, then explore the group dashboard to add quests and manage tasks. ## Create quest group From your Claimr dashboard, navigate to **Campaigns** and select the campaign you want to add the group to. Click the **Quests** tab in the top navigation bar. From the dropdown menu that appears, select **Groups**. This will take you to the Groups management page. On the Groups page, click the **Create group** button in the top right. This will open a modal window. In the modal window, enter a descriptive name for your new group in the field. The name should indicate the theme or purpose of the quests within the group. The new, empty group will now be created and will appear in the list of groups. ## Group dashboard Once your group is created and saved, you'll be taken to the dashboard. Groups dashboard showing a newly created, empty group The dashboard allows you to: * **View group details**: The group's name, and any configured settings. * **Add quests**: Click **+ Create quest** to add a new quest directly to this group. * **Manage existing quests**: If you have existing quests, they will be displayed. * **Manage existing tasks**: If you have existing tasks, they can be opened by clicking the corresponding button. * **Edit group settings**: Click on the edit button (pencil) to change the group's settings. In the next stage, dive into configuring the specific settings for your groups. # Group settings Source: https://docs.claimr.io/groups/group-settings Configure general settings, time limits, tags, and advanced options for a quest group, and manage tasks across the group. ## Group dashboard Once your group is created and saved, it appears on the dashboard. Groups dashboard This dashboard allows you to: * **View group details**: The group's name, and any configured settings. * **Add quests**: Click **+ Create quest** to add a new quest directly to this group. * **Manage existing quests**: If you have existing quests, they will be displayed. * **Edit group settings**: Click the edit button (pencil) to change the group's settings. * **Manage existing tasks**: If you have existing tasks, they can be opened by clicking the corresponding button. **To edit your group's quest**: Pick the group you want to work on and click the **Edit** button in the upper corner. This will unlock all the settings and allow you to customize them. ## General This section allows you to configure the basic parameters for your group. Group general settings * **ID**: A unique identifier for the group, automatically generated by Claimr. You can copy it using the icon on the right. * **Name**: The name of your group, displayed to users. Choose a name that is clear, concise, and descriptive of the quests within the group. * **Quests Mode**: Determines how quests within the group are presented and completed. Click the dropdown menu and select one of the following options: * **Default**: All quests in the group that are not marked as "Hidden" are immediately visible and available to users. There are no restrictions on the order of completion. * **Immediate**: Quests within the group become available sequentially. Once a user completes a quest, the next quest in the group is immediately unlocked. * **Daily**: A new quest within the group becomes available at the start of each day (based on your configured time zone). This creates a time-gated progression through the group's content. * **Description**: A brief explanation of the group's purpose, theme, or the type of quests it contains. This helps users understand what to expect within the group. **How to edit**: Click **Create description** (if no description exists) or **Edit** (if one already exists) below the Description field. This opens a text editor where you can write and format your description. Click **Save** to keep your new or updated description. For more details on descriptions and tags, visit [Descriptions: creation, usage, tags](/descriptions-creation-usage-tags). * **Animation type**: Select **typing** from the available animation types. When selected, the description displays with a typing animation in the widget. * **Collapse description toggle**: Control how the description is displayed. * **On**: The description is collapsed, showing only a short preview. Users need to click to expand it. * **Off**: The full description is displayed by default. * **Unwrap toggle**: Control how tasks are displayed to users on your campaign page. * **On**: Tasks are immediately visible to users. * **Off**: Tasks are presented within their respective quests, and users need to click on those quests to view the tasks inside. ## Settings Group time limit settings In addition to the General settings, you can configure the following options for your groups: * **Min points**: Define the minimum number of points a user must have before they can access the quests within this group. * **Time limited toggle**: Switch on this toggle to activate the time limit feature. * **Start date**: Set the date the grouped quests should start. Use the time picker to set the exact hour and minute for the launch. * **End date**: Set the date your grouped quests should finish. Use the time picker to set the precise hour and minute for the end. **Time zone**: All times are based on your current time zone. Double-check that your settings are accurate to avoid any scheduling surprises. **24-hour format**: The time picker uses a 24-hour format (e.g., 13:30 for 1:30 PM). ## Tags settings Group tags settings * **What it is**: Tags are labels you can assign to this specific group of quests. They enable you to dynamically control the visibility of this entire group (and all quests within it) for different users or user segments when used with specific `data-` attributes in your widget integration script. * **How to use**: Enter a tag name in the field (e.g., `new_users`, `beta_testers`, `europe_only`). To add multiple tags, separate them with a comma. To remove a tag, click the **x** next to its name. * **Purpose**: Assigning tags to your groups (and quests) in the Claimr admin panel, when used with the `data-show-tags` and `data-hide-tags` widget attributes, allows you to: * **Control visibility**: Show or hide this entire group for different users or segments. * **Organize and segment**: Use tags for internal categorization or to target content delivery (e.g., show this group only to users who match the `new_users` tag passed in the script). * **A/B test content**: Direct different user segments to alternatively tagged groups of quests. * **Manage access**: Restrict or grant access to this group based on user tags. To find out more about tags and attributes, read [Widget attributes](/widget/widget-attributes) and [Customize user experience with tags and attributes](/how-to/customize-user-experience-with-tags-and-attributes). ## Advanced settings This section provides additional options for customizing your quest group. Group advanced settings Add internal notes, tracking information, or any other relevant details about the group that are *not* visible to users. This is for your own organizational purposes. Use the toggle to control this section's visibility. ## Action buttons * **Update** saves any changes you've made to the group settings. * **Cancel** discards any unsaved changes. * **Delete Group** permanently deletes the group. Use this with caution! ## Manage tasks within groups The **Manage tasks** button provides a centralized way to view, edit, and delete tasks within your current campaign, regardless of which group they belong to. Manage tasks table 1. **Access the task list**: From the Groups dashboard, click **Manage tasks** in the top right corner. This opens a table displaying all tasks in the campaign. 2. **View task information**: The table shows the following information for each task: * **Task name** * **Used in quest** (the name of the quest the task is used in) * **Type** of the task (Connect a Wallet, Submit UGC, Poll, etc.) * **Points** users can get * **Delete button** * **Edit button**: Click it next to the task you want to modify. This opens a modal window containing all the settings for that task. You can edit any of the task's settings. # Groups Source: https://docs.claimr.io/groups/overview Use groups to organize Claimr campaigns, improving user experience, navigation, and overall campaign management. In Claimr, a group is a collection of related quests, organized together to provide structure and context within a campaign. Groups serve as a way to divide a larger campaign into manageable sections, guiding users through a defined set of activities. This improves campaign organization and provides users with a clear sense of progression. ## Benefits of using groups **Improved organization**: Groups help you structure your campaign logically, making it easier for users to navigate and understand. **Clearer progression**: Users can see their progress within each group, providing a sense of accomplishment. **Contextualized quests**: Groups allow you to connect quests with a common theme, objective, or narrative. **Sequential completion**: Groups can be configured to enforce sequential completion, requiring users to complete quests in a specific order. **Time-based availability**: Groups, or individual quests within groups, can have time-based availability windows. Build a new group to organize your campaign's quests. Configure quest mode, time limits, tags, and more. # Add custom points to users Source: https://docs.claimr.io/how-to/add-custom-points-to-users Use Claimr's API endpoints to reward users for actions they complete outside the platform, syncing off-platform activity with your Claimr reward system. Add points to your users' balances in Claimr. Use these methods to reward your users in Claimr based on actions they complete outside the platform - for example, in your own app or product. This effectively syncs off-platform activity with your Claimr reward system. ### Benefits of adding points from external actions * **Expand engagement:** Extend user engagement beyond the Claimr platform by rewarding activity in your own application or product. * **Reward specific behaviors:** Recognize and incentivize particular actions or achievements that occur outside of Claimr. * **Create a holistic reward system:** Build a unified reward experience that combines both in-Claimr and external user activities. You can add points to user balances in Claimr through three primary mechanisms, each leveraging specific API endpoints. The method you choose depends on how you want to track and reward the external user activity. ## 1. Direct point management (using the API) These API calls allow you to directly **add points** (`POST /user/reward`) or **deduct points** (`POST /user/withdraw`) from a user's balance in Claimr. You can initiate these requests from your external system to Claimr, specifying the user, campaign, and the amount of points to add or remove. ### POST /user/reward Use this endpoint to reward your users in Claimr based on actions they complete outside the platform - for example, in your own app or product. This allows you to sync off-platform activity with your Claimr reward system. This action occurs in the background. The user receives points through this API request, and these points automatically appear in Claimr. **Body (JSON request example):** ```json theme={"dark"} { "account": "string", "platform": "string", "pid": "string", "id": "string", "kind": "string", "xp": 0, "env": "string" } ``` * `account`: The user's account identifier in your platform (e.g., email, nickname, ID). * `platform`: Platform identifier. * `pid`: Campaign ID. * `id`: A unique identifier for each reward given to a specific user. If this ID is not unique for a given user, the reward will be ignored. * `xp`: The number of points you are assigning to the user (e.g., 100 points). **JSON response (success):** ```json theme={"dark"} { "success": true } ``` ### POST /user/withdraw This endpoint allows you to deduct or withdraw points from your users' balances in Claimr. This is useful for adjusting user points based on actions outside of Claimr or for managing specific campaign mechanics. This action occurs in the background. The specified points are deducted from the user's balance in Claimr. **Body (JSON request example):** ```json theme={"dark"} { "account": "user123", "platform": "steam", "pid": "campaign_abc123", "id": "withdraw_xyz789", "kind": "items_shop", "xp": 100, "env": "string", "strict": true } ``` * `account`: The user's account identifier in your platform (e.g., email, nickname, ID). * `platform`: Platform identifier. * `pid`: Campaign ID. * `id`: A unique identifier for each withdrawal transaction given to a specific user. This ID ensures that the withdrawal is processed only once. * `xp`: The number of points you wish to withdraw from the user's balance (e.g., 50 points). * `strict`: Optional strict-mode flag for the withdrawal. **JSON response (success):** ```json theme={"dark"} { "success": true } ``` ### Monitoring points in Analytics To view a user's detailed information: 1. Navigate to the **Analytics** section. 2. Select the relevant table (e.g., Activity, Referrals). 3. Find the user in the table. 4. Click on the user's row. This will open a modal window with a comprehensive overview. 5. Go to the points section within this modal. It shows how many points were earned from various sources and allows you to manually adjust the user's total points if needed. Withdrawn points are any reductions to a user's total points, such as penalties or corrections applied via the Claimr API. All information about the points for each user can be checked in [User information](/data-analytics/user-information). ## 2. API tasks: stream and action value `POST /stream/value` and `POST /action/value` are used when you want to reward users based on continuous value streams or specific actions that carry a quantifiable value. You can configure these tasks by navigating to **Task → API** in the Claimr admin panel and choosing one of the following task types. API task type selection ### POST /action/value `POST /action/value` supports two types of API tasks: * **API Number value tasks:** Used when you need to track an expected numerical result. For example, a user earns a reward once a specific target (like receiving 10 likes) is reached. * **API Score tasks:** Used for directly adding a score or a specific amount of points to a user's total, immediately changing their balance. **Body (JSON request example):** ```json theme={"dark"} { "account": "user123", "platform": "steam", "pid": "campaign_abc123", "cid": "quest_xyz789", "aid": "score_update", "value": 150, "env": "string" } ``` * `account`: User identifier. * `platform`: Platform identifier. * `pid`: Campaign ID. * `cid`: Quest ID. * `aid`: Action ID. * `value`: The numeric value to set or update. **JSON response (success):** ```json theme={"dark"} { "success": true } ``` ### POST /stream/value `POST /stream/value` specifically supports the task type **API Stream Value**. It accumulates numeric attributes associated with user actions (e.g., total transactions). API Stream Value task settings **Body (JSON request example):** ```json theme={"dark"} { "account": "user123", "platform": "steam", "pid": "campaign_abc123", "stream": "player_score", "value": 250, "env": "string" } ``` * `account`: User identifier. * `platform`: Platform identifier. * `stream`: Attribute stream ID. * `pid`: Campaign ID. * `value`: The numeric value to accumulate. **JSON response (success):** ```json theme={"dark"} { "success": true } ``` ## 3. Events task If your product or app generates user actions that you'd like to track and reward (for example, gameplay sessions or completed actions), you can use event-based tasks in Claimr. These are flexible and work by sending structured event data to Claimr, which then checks whether it matches your task criteria. This guide uses two types of tasks with real data from Wowhaus as an example: * Custom Events Count (e.g., number of dice rolls) * Custom Events Value (e.g., total amount bet) ### How POST /event works This endpoint allows your application to send event data to Claimr. If the event matches an existing task (by platform, category, name, and optionally a query), the user is rewarded accordingly. **Body (JSON request example):** This payload represents a user who started a game session and placed a bet of 250. Depending on the task setup, this same event can be used to track either the number of sessions (Event Count) or the value of bets (Event Value). ``` POST https://prod.claimr.io/api/v1/event Headers: Authorization: Bearer YOUR_PERSONAL_API_TOKEN Content-Type: application/json Accept: application/json Body: { "account": "user123", "platform": "wowhaus", "pid": "H_wie9sz", "category": "dices", "name": "GameSession", "data": { "bet": 250 } } ``` Replace `YOUR_PERSONAL_API_TOKEN` with a valid token generated from your Claimr account. * `account`: A unique identifier for the user (e.g., their email, nickname, or internal user ID within your platform). * `platform`: An identifier indicating the platform where the user's action or account originates. * `pid`: The Campaign ID to which this event belongs. * `category`: A broad classification for the event (e.g., "game", "transaction"). This helps in filtering events later. * `name`: The specific name of the action or event (e.g., "level\_up", "purchase\_complete"). * `data`: A nested object that holds the detailed attributes of the event: scores, levels, durations, amounts, or any other numeric or descriptive values relevant to the action being tracked. * `ts`: The timestamp of the event from your client's system. **JSON response (success):** ```json theme={"dark"} { "success": true } ``` ### How account and platform are linked The `account` and `platform` fields define how users are identified in Claimr: * If you're using a **user token**, these values usually come from your authentication method. * If users log in via **wallet address**, then the platform is `web3`. * If you're using **Telegram mini-apps**, the account could be the Telegram User ID and the platform set to `telegram`. This flexibility allows you to send events from different apps or sources while still attributing them to the correct user in Claimr. ### Connecting Events to tasks The examples below show how to configure Events tasks in Claimr based on real gameplay data from the Wowhaus platform. Events task type selection The two main types covered below are: * **Custom Events Count** - tracks how many times an event occurred. * **Custom Events Value** - tracks the total numeric value received from an event. When you create a task in Claimr with the type **Events**, Claimr listens for `POST /event` calls matching the criteria you define. ### Custom Events Count Use this setup when you want to reward users for repeating an action a specific number of times. Example: users are rolling the dice in a game. Custom Events Count task settings * **Completion points:** 100 - the number of points the user receives after completing the task conditions. * **Points multiplier (%):** 5% - a 5% multiplier means the user receives 105 points (the base amount of 100 points + 5%). * **Recurrence:** Daily - the task can be completed once a day. After 24 hours, it resets for the user. * **Event Category:** `dices` - a label used to group similar events. In this case, it's related to dice gameplay. * **Event Name:** `GameSession` - the exact name of the event to track. It must match the `name` field in the `POST /event` body. * **Platform:** `wowhaus` - identifies the integration source. In this case, Wowhaus is the platform where the events come from. * **Events Count:** 5 - the user must perform the action 5 times to earn the reward. * **Button Text:** "Claim your reward" - the custom label for the CTA button displayed on the quest. * **Is progressive reward:** Enabled - rewards scale based on how much the user exceeds the required count. If the user rolls 30 times (instead of 10), they earn 3× the base reward. * **Is continuous:** Enabled - the task stays active and resets based on the recurrence logic. Users can keep earning rewards every day if they meet the conditions again. This setup tracks how many times a user sends the `GameSession` event under the `dices` category. Once the event count reaches 5, the user is awarded 105 points. Because progressive rewards are enabled, additional actions (e.g., 30 rolls) result in proportionally higher rewards. The enabled "continuous" toggle means this task stays active and can be completed again each day. ### Custom Events Value Use this task type when you want to reward a user once the total value sent through event data reaches a specific threshold. Example: users set bets in a dice game. Custom Events Value task settings * **Completion points:** 100 - the number of points the user receives after completing the task conditions. * **Points multiplier (%):** 5% - a 5% multiplier means the user receives 105 points (the base amount of 100 points + 5%). * **Recurrence:** Once - the task can be completed only once. It doesn't reset. * **Event Category:** `dices` - a label used to group similar events. In this case, it's related to dice gameplay. * **Event Name:** `GameSession` - the exact name of the event to track. It must match the `name` field in the `POST /event` body. * **Platform:** `wowhaus` - identifies the integration source. In this case, Wowhaus is the platform where the events come from. * **Query:** `[].data.bet` - this JMESPath query extracts the bet value from each received event. * **Events Value:** 500 - the task is triggered when the total of all `data.bet` values reaches 500. * **Button Text:** "Claim your reward" - the custom label for the CTA button displayed on the quest. * **Is progressive reward:** Disabled - even if the user exceeds the 500 bet value, they still receive the same fixed reward (105 points with multiplier). * **Is continuous:** Disabled - once completed, the task is marked as done. Users won't earn additional rewards if the task resets the following day. **Query example for Events Value** To extract the `bet` value from incoming event data, use this JMESPath query: ``` [].data.bet ``` This will return the list of bet amounts across all received events. This task listens for `GameSession` events in the `dices` category. It uses the `[].data.bet` JMESPath query to extract numeric bet values from each event. Once the combined total reaches 500, Claimr grants 100 base points, boosted to 105 points by the 5% multiplier. Because both toggles are off, the user earns the reward only once and receives a fixed amount, regardless of how much they exceed the threshold. For more on configuring task rewards, recurrence, and multipliers in general, see [Task settings](/tasks/task-settings). # Create Discord campaign Source: https://docs.claimr.io/how-to/create-discord-campaign Follow this tutorial to create your Discord campaign in Claimr, covering all steps from initial setup through configuring Discord-specific tasks. Campaigns are the foundation of your user engagement strategy in Claimr. Think of a campaign as the main container for your interactive experience, holding all the quests, tasks, and rewards you design to guide users and achieve your goals. Using Claimr campaigns focused on Discord can help you: * Increase your Discord server members. * Encourage participation in Discord discussions or activities. * Promote your Discord community. * Reward users for joining and interacting with your server. * Track the effectiveness of your Discord marketing efforts. When creating a new campaign, Claimr offers pre-built **Basic** templates for a quick start. Alternatively, you can choose to start with an **Empty** campaign to build everything manually. This tutorial guides you through the **manual process** of creating a campaign specifically designed for Discord engagement, including configuring the available Discord tasks. ## Create your campaign From your Claimr dashboard, click **Campaigns** in the navigation menu, then click **Create new campaign**. Discord campaign creation form * **Name**: Enter a name for your campaign. * **Campaign points name**: Enter the name for the points users will earn (e.g., Points, XP, Tokens). * **Sign-in options**: Select **Discord**. This requires users to connect their Discord account to join and participate. Click **Continue**. Select **Empty** to build your campaign manually and click **Create campaign**. Select the Empty template ## Create your quest Once your campaign is created, you'll be automatically taken to the **Groups of quests** section. Groups of quests section Quests are often organized into **Groups** for structure. You'll see a **Default group** already created. Change the name of the **Default Group** by clicking the edit icon (pencil) on the right. In the **General** settings that open, type the new name in the **Name** field, then click **Update** to save. Rename the default group Within the **Group** area, click **+ Create quest**. Enter a descriptive name for your first quest and click **Create**. Quest card in group Click directly on the quest card to open its dedicated settings page. Quest settings page From this page, you can begin adding tasks to the quest, and edit the quest's **General Settings**, including changing the **Quest Name**, adding a **Description**, or uploading an **Image**. For a detailed explanation of all available quest settings, see [Quest settings](/quests/quest-settings). ## Create your tasks Now that your first quest is created, add the specific **Tasks** users need to complete. On the **Quest Settings** page, click the **+ Create new task** button. Enter a name for this task. This name is essential for identifying the task internally and is **not** shown to participants. Task name field You can further customize the task using these optional fields: * **Task header**: The title/instruction participants will see. * **Task completion message**: Message shown on success. * **Task failure message**: Message shown on failure. * **Description**: Click **+ Create description** to add detailed instructions using a text editor. After creating, a **Collapse description** toggle appears to control if the description is initially hidden. For a detailed explanation, see [Task settings](/tasks/task-settings). Select **Discord** from the platform options. You'll see two Discord-specific task types: **Join a Discord server** and **Verify Discord roles**. Select **Join a Discord server** to reward users for joining your server. Join a Discord server task type Before configuring a Discord task, add the Claimr bot to your Discord server and grant it administrator permissions. This allows Claimr to verify task completion. To add the bot, click the link provided within the Discord task settings interface in Claimr. Scroll down to see the specific task settings for this task type: Join a Discord server task settings * **Invite link**: Add the invite link to your Discord server. * **Is intent? (optional)**: Enable this toggle if you want users to manually confirm their intent to join before Claimr verifies their membership. If disabled, Claimr attempts verification directly after the user clicks to join. To add multiple tasks to your campaign, click **+ Create new task** for each one and repeat the configuration process. Scroll down to the **Task rewards** section to find the **Completion points** field. Enter the base number of points a user earns for successfully completing this specific task. Completion points field Below **Completion Points**, you'll find additional settings for **Referral completion Points**, **Points multiplier**, non-point **Rewards**, task **Dependencies**, and **Advanced settings**. For a detailed explanation, see [Task settings](/tasks/task-settings). Additional task reward settings ## Save and preview the task Once you have configured all the task settings, click **Create** to save your configuration. To see how this task will appear to users, click the **Preview** button (a play icon) located in the top-right, or navigate back to the main **Quest settings** page and click **Preview** under the quest details. Task preview button The preview opens in a new tab, showing desktop, tablet, and mobile views. ## Add another task The other task type available specifically for Discord is **Verify Discord Roles**. Use this task to reward users for having one or more specific roles in your Discord server. To add this task: 1. Click **+ Create new task** again within your quest. 2. Configure the **General** settings (Task name, header, messages, description) just as you did for the previous task. 3. In the **Task type** section, select **Discord**, and this time choose **Verify Discord roles**. Verify Discord roles task type Configure the specific settings for **Verify Discord roles**: Verify Discord roles task settings * **Server address**: Enter the full URL of your Discord server. * **Fetch roles**: Click this button first to retrieve the list of available roles from your connected Discord server. * **Roles**: Select the specific role(s) users need to have to complete this task. * **Any role from list? (optional)**: Enable this toggle if having any one of the selected roles is enough to complete the task. Leave it disabled if the user must have all the selected roles. After configuring these specific settings, move on to the **Task Rewards** section and adjust any **Dependencies** just as you did for the previous task. Once finished, click **Create** to save this task. ## Preview your campaign Once you've configured all the campaign settings, see how it will appear to users. Click the **Preview** button (a play icon), located in the top-right of the task settings window. The preview opens in a new tab, showing desktop, tablet, and mobile views. Campaign preview In preview mode, try clicking the buttons and completing the actions to see exactly how participants will interact with the task. Interacting with the campaign preview Looking to build campaigns for other platforms like X or Telegram? Check out our dedicated tutorials for step-by-step guides on those specific setups. # Create X campaign Source: https://docs.claimr.io/how-to/create-x-campaign Follow this tutorial to create your X (Twitter) campaign in Claimr, from initial setup through configuring the most popular X tasks. Campaigns are the foundation of your user engagement strategy in Claimr. They act as the main container for your interactive experience, holding the quests, tasks, and rewards designed to guide users and achieve your goals. Creating a campaign focused specifically on X (formerly Twitter) can significantly boost your social media presence and engagement. Use X campaigns to: * Increase your X followers. * Promote your posts and drive engagement (likes, reposts, comments). * Increase brand awareness and social media presence. * Encourage users to participate in discussions or challenges on X. When starting, you can use Claimr's pre-built templates (like **X Basic**) for a quick setup with common X tasks, or select **Empty** to build your campaign manually, giving you complete control over the structure and content. This tutorial focuses on the **manual creation** process, guiding you step-by-step through setting up an X campaign and configuring the most popular X tasks. ## Create your campaign From your Claimr dashboard, click **Campaigns** in the navigation menu, then click **Create new campaign**. Campaign creation form * **Name**: Enter a name for your campaign. * **Campaign points name**: Enter the name for the points users will earn (e.g., Points, XP, Tokens). * **Sign-in options**: Select **X Twitter**. This requires users to connect their X account to join and participate. Click **Continue**. You'll now see options to start with a pre-built template or from scratch. Select **Empty** to build your campaign manually and click **Create campaign**. Select the Empty template ## Create your quest Once your campaign is created, you'll be automatically taken to the **Groups of quests** section. This is where you'll add and organize your quests. Groups of quests section Quests are often organized into **Groups** for structure. You'll see a **Default group** already created. Change the name of the **Default Group** by clicking the edit icon (pencil) on the right. In the **General** settings that open, type the new name in the **Name** field, then click **Update** to save. You'll be returned to the **Groups** dashboard. Rename the default group Within the **Group** area, click **+ Create quest**. Enter a descriptive name for your first quest and click **Create**. Your newly created quest will now appear as a card within the group on the **Quests** page. Quest card in group Click directly on the quest card to open its dedicated settings page. Quest settings page From this page, you can begin adding tasks to the quest, and edit the quest's **General Settings**, including changing the **Quest Name**, adding a **Description**, or uploading an **Image**. For a detailed explanation of all available quest settings, see [Quest settings](/quests/quest-settings). ## Create your tasks Now that your first quest is created, the next step is to add the specific **Tasks** users need to complete. On the **Quest Settings** page, click the **+ Create new task** button. This will open the task configuration window. The task configuration window starts with the **General settings**. Enter a name for this task. This name is essential for identifying the task internally and is **not** shown to participants. Task name field You can further customize the task using these optional fields: * **Task header**: The title/instruction participants will see. * **Task completion message**: Message shown on success. * **Task failure message**: Message shown on failure. * **Description**: Click **+ Create description** to add detailed instructions using a text editor. After creating, a **Collapse description** toggle appears to control if the description is initially hidden. For a detailed explanation of all task settings, see [Task settings](/tasks/task-settings). Select **X (Twitter)** from the platform options, then select the specific task type **Follow on X**. This task rewards users for following a specified X account and is a **Verified** task. Select the Follow on X task type Scroll down till you see the specific task settings for this task type, then enter the username of the X account you want users to follow, without the "@" symbol. Follow on X task username field To add multiple tasks to your campaign, click **+ Create new task** for each one and repeat the configuration process. Scroll down to the **Task rewards** section to find the **Completion points** field. Enter the base number of points a user earns for successfully completing this specific task. Completion points field Below **Completion Points**, you'll find additional settings for **Referral completion Points**, **Points multiplier**, non-point **Rewards**, task **Dependencies**, and **Advanced settings**. These allow for more complex reward structures and task flows. For a detailed explanation, see [Task settings](/tasks/task-settings). Additional task reward settings ## Save and preview the task Once you have configured all the task settings, click **Create** to save your configuration. Your task is now configured within the quest. To see how this task will appear to users, click the **Preview** button (a play icon) located in the top-right, or navigate back to the main **Quest settings** page and click **Preview** under the quest details. Task preview button The preview opens in a new tab showing desktop, tablet, and mobile views. ## Add more tasks To add more actions for users to complete, repeat the task creation process starting from the **Create new task** page. Here are the settings for the most popular X tasks. ### Repost Repost task type Use this task to reward users for reposting a specific post on X. Enter the full URL of the X post you want users to repost in the **Post Link** field. Optionally, enable the **Hide preview?** toggle to hide the post preview within the task. Repost task Post Link field ### Post Post task type Use this task to reward users for creating a post on X with specific content. Enter the message you want users to include in their X post in the **Message** field. Optionally, enter a URL you want users to include in their post in the **Tweet Message Link** field. Post task Message field ### Comment Comment task type Use this task to reward users for commenting on a specific post on X. Enter the full URL of the X post you want users to comment on in the **Post Link** field. Optionally, enable the **Hide preview?** toggle to hide the post preview within the task and enter any required hashtags in the **Hashtags** field. Comment task settings ### Quote Quote task type Use this task to reward users for quoting a specific post on X. Enter the full URL of the X post you want users to quote in the **Post Link** field. Optionally, enable the **Hide preview?** toggle to hide the post preview within the task. Quote task settings ### Followers count Followers count task type Use this task to reward users for having a certain number of followers on their X account. Enter the minimum required number of followers a user must have in the **Minimum Followers** field. Followers count task settings ## Preview your campaign Once you've configured all the campaign settings, see how it will appear to users. Click the **Preview** button (a play icon), located in the top-right of the task settings window. The preview opens in a new tab, showing desktop, tablet, and mobile views. Campaign preview In preview mode, try clicking the buttons and completing the actions to see exactly how participants will interact with the task. Interacting with the campaign preview Looking to build campaigns for other platforms like Discord or Telegram? Check out our dedicated tutorials for step-by-step guides on those specific setups. # Customize user experience with tags and attributes Source: https://docs.claimr.io/how-to/customize-user-experience-with-tags-and-attributes Use tags in Claimr campaign settings together with widget data-attributes to dynamically show or hide Quests and Groups for different user segments. In Claimr, **Tags** are labels you assign to content elements like **Quests** or **Groups** within your campaign settings. When combined with specific `data-` attributes in your widget integration script, these tags allow you to dynamically control what content is shown or hidden for individual users or user segments. This powerful feature enables you to tailor the campaign experience, making it more relevant and effective for different audiences. ### Benefits of using tags for customization * Showing specific **Quests** or **Groups** only to certain users. * Hiding content based on user characteristics (e.g., location, past behavior). * Creating personalized user journeys within the same campaign. ## How tag-based customization works The system relies on a two-part setup: tagging your content in the Claimr admin panel and then passing user-specific tags via the widget script. 1. **Tagging content in Claimr**: First, you assign one or more tags to specific **Quests** or **Groups** in their respective settings within the Claimr admin panel. For instructions on adding tags, see the **Tags setting** section in [Quest settings](/quests/quest-settings) or [Group settings](/groups/group-settings). 2. **Passing tags via widget attributes**: Next, for each user session, you include specific `data-` attributes in your widget integration script that tell Claimr which tags are active for that user. These are **`data-show-tags`** and **`data-hide-tags`**. 3. **Display logic**: The Claimr widget then uses this information to decide what to show or hide: * If a user is passed a tag via **`data-show-tags`**, any entity (currently Quests and Groups) with a matching tag will be displayed to them, even if it might otherwise be hidden by default or other rules. * If a user is passed a tag via **`data-hide-tags`**, any entity (Quests and Groups) with a matching tag will be hidden from them. **Example scenario:** An X-related group of quests is tagged `x_users` in the admin panel and is hidden by default. For users who have connected their X account, you pass `data-show-tags="x_users"` in the script. This group will then appear for those users. ## Configuration in Claimr admin panel 1. **Tagging quests and groups**: Navigate to the settings page of the **Quest** or **Group** you want to tag, locate the **Tags** input field, and enter your desired tag(s), separating multiple tags with a comma. Example: `beta_feature`, `new_user_flow`, `region_EU`. Save the Quest or Group settings. 2. **Defining default visibility**: The "default visibility" of a **Quest** or **Group** is generally determined by whether it's set to "Hidden" in its own settings or by other campaign-level rules. The `data-show-tags` attribute is used to *override* a hidden state for users with matching tags. The `data-hide-tags` attribute is used to *override* a visible state for users with matching tags. There isn't a separate "default visibility for tags" setting *per se*; tags are used to *modify* the existing visibility based on the user's context provided by the script attributes. ## Script integration configuration As detailed in our [Widget attributes](/widget/widget-attributes) article, there are 2 key attributes for tag-based customization: ### data-hide-tags Pass a comma-separated list of tags. Any **Quest** or **Group** in your campaign that has one or more of these tags assigned to it will be hidden from the user for this session. **Format:** Comma-separated string of tags. **Example:** ```html theme={"dark"} ``` ### data-show-tags Pass a comma-separated list of tags. Any **Quest** or **Group** that has one or more of these tags assigned to it will be shown to the user, even if it might be hidden by default or due to other rules. **Format:** Comma-separated string of tags. **Example:** ```html theme={"dark"} ``` You can use both `data-hide-tags` and `data-show-tags` simultaneously if needed, but ensure your logic is clear to avoid conflicting rules. ## Practical use cases * **Geo-targeting content**: Tag content with region-specific tags (e.g., `europe_only`, `usa_promo`). In your website/app logic, detect the user's region and pass the appropriate tag via `data-show-tags` (e.g., `data-show-tags="europe_only"`) or hide content for other regions using `data-hide-tags`. * **A/B testing different content blocks**: Create two versions of a Quest Group (e.g., Group A tagged `test_version_A`, Group B tagged `test_version_B`). Serve the widget script with `data-show-tags="test_version_A"` to 50% of users and `data-show-tags="test_version_B"` to the other 50% to test different content flows. * **Hiding features unavailable to certain users**: If a feature (e.g., "staking\_quest") is only available to users who meet certain criteria (e.g., KYC verified), tag that quest `staking_enabled`. Only pass `data-show-tags="staking_enabled"` for users who have met those criteria. By strategically combining tags assigned in the Claimr admin panel with the `data-show-tags` and `data-hide-tags` attributes in your widget script, you can create highly dynamic and personalized campaign experiences for your users. # Build a campaign with Puzzle rewards Source: https://docs.claimr.io/how-to/how-to-build-a-campaign-with-puzzle-rewards Build a campaign that uses Puzzle rewards, from puzzle piece reward creation to task logic and final answer validation. Puzzle rewards are collectible pieces that users earn by completing tasks throughout a quest. They're used to create multi-step challenges or quests where users gather multiple puzzle pieces and then solve a final task based on the clues they've collected. Puzzle rewards help structure narrative or logic-based progression within any campaign. They encourage users to: * Complete more tasks to collect all puzzle pieces. * Pay attention to detail in clues or visuals. * Solve a final challenge to validate their understanding. * Stay engaged through multi-step discovery. This tutorial walks through building a campaign that uses Puzzle rewards, from reward creation to task logic and the final answer validation. ## Create your campaign Campaign creation form From your Claimr dashboard: 1. Click **Campaigns** in the navigation menu. 2. On the **Campaigns** page, click **Create new campaign**. 3. In the opened window, fill in the following details: * **Name:** Enter a name for your campaign. * **Campaign points name:** Enter the label for points users will earn (e.g., Points, Tokens). * **Sign-in options:** Choose any supported sign-in method, depending on your audience. 4. Click **Continue**, then select **Empty**. 5. Click **Continue**, then select your campaign's visual theme. ## Create your quest Once your campaign is created, you'll land in the Groups of quests section: * Rename the default group if needed by clicking the pencil icon. * Inside that group, click **+ Create quest**. * Enter a descriptive name for your puzzle quest (e.g., "Puzzle Quest") and click **Create**. * Click the quest card to open its settings page. From here, you can begin adding tasks and configuring the quest's general settings (name, image, description). ## Create puzzle piece rewards You'll need to create one reward for each puzzle piece the user should collect. Reward creation form Go to the **Rewards** tab and click **Create reward**. * **Short name:** Enter a name like "Puzzle 1", "Puzzle 2", etc. * **Description:** Label the piece (e.g., "Puzzle Piece 1") or set the instruction for your users. * **Image (optional):** Upload a visual clue: letter, number, or fragment of a bigger picture. Select **Puzzle Piece** as the reward type and click **Create** to save the reward. Repeat these steps for each individual puzzle piece. Rewards dashboard with puzzle pieces All created rewards will appear in the Rewards dashboard. ## Create your tasks Now that your puzzle rewards are set, add tasks that distribute them to users. Each puzzle piece requires two tasks: 1. A core task (e.g., Follow on X, Subscribe to YouTube). 2. A **Claim a reward** task immediately after. To add a task, on the quest settings page, click **+ Create new task**. ### Configure the core task * Select a task type like Follow on X or Subscribe to a channel. * Fill in the required fields (e.g., URL, message). * Click **Create task** to save. ### Add a Claim a reward task Create new task button Right after the core task, add a **Claim reward** task to deliver the puzzle piece. Click **+ Create new task**. Under Category, select **Common**, then choose **Claim a reward** and click **Continue**. Claim a reward task type selection * **Completion points:** Set the base reward for claiming the piece. * **Points multiplier (%):** Optional. * **Reward:** Select the appropriate Puzzle Piece reward (e.g., Puzzle 1). Click **Create task** to save. Repeat this pair (core task + claim reward) for every puzzle piece. ## Create a final Secret code task Once all puzzle pieces are distributed, add a final challenge that users can only complete if they've correctly interpreted the clues. Secret code task in the quest Click **+ Create new task** in the same quest. Under Category, select **Common**, then choose **Secret code** and click **Continue**. Secret code task type selection * **Completion points:** Set the number of points awarded when the user submits the correct code. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 5% multiplier increases the final reward by 5%. * **Recurrence:** Control how often users can complete the task: * **Once** - can only be completed one time per user. * **8h** - available once every eight hours. * **Daily** - available once every 24 hours. * **Weekly** - available once every 7 days. * **Multiple** - stays open and can be completed as many times as needed, one after another, without any waiting time. * **Message (optional):** Enter a message displayed above the input field to guide users. * **Secret Code:** Enter the correct answer (case-sensitive). Click **Create task** to save. All created tasks will appear in your campaign. Full list of tasks in the campaign Go through them, change the order if needed, and preview how they'll appear to users: 1. Click the **Preview** button (play icon) from the task or quest settings. 2. The preview opens in a new tab and shows desktop, tablet, and mobile views. Try interacting with the task flow to verify logic and visibility. ## How Secret code tasks appear to users Secret code task as seen by users When users encounter a Secret code task, they see: * The instruction message you added (if any). * An input field. * A submit button. If they enter the correct code, the task is marked complete and the reward is granted. If incorrect, the task remains incomplete. If Recurrence is set to Multiple, users can return and attempt again without waiting. # Integrate Claimr widget into your dApp Source: https://docs.claimr.io/how-to/integrate-claimr-widget-into-dapp Use this tutorial to integrate the Claimr widget with a custom wallet connection in your dApp, including anonymous or privacy-preserving wallet setups. If your dApp already connects the user's wallet, the Claimr widget can use that wallet instead of asking the user to connect again. Your app stays in charge of the wallet: the widget asks, and your code decides how to connect, sign, and send transactions. This setup is ideal for dApps that use custom or anonymous wallet layers, such as embedded wallet providers or flows that require privacy. The user connects once, at the level of your app, and never sees a second wallet prompt from the widget. In this tutorial, you will: * Configure the campaign to sign users in with their wallet. * Load the widget in dApp mode. * Answer the widget's wallet requests with your app's wallet. * Keep the widget's session in sync when the wallet disconnects or changes. The code examples use React with [wagmi](https://wagmi.sh) and [RainbowKit](https://www.rainbowkit.com). The same approach works with any wallet library and framework: only the calls inside the handler change. ## Prerequisites * A React app that already connects wallets with wagmi and RainbowKit, and renders inside `WagmiProvider` and `RainbowKitProvider`. * The Claimr widget set up with the shared loader, a provider, and a widget component, as described in [Integrate Claimr into a React app](/frameworks/react). For Next.js or Vue, follow [Next.js](/frameworks/nextjs) or [Vue and Nuxt](/frameworks/vue-and-nuxt) instead. ## Configure the campaign In the Claimr admin panel, open your campaign, click **Settings** in the left-hand menu, then select **Sign-in options**. Sign-in options page * **Require login to start a task**: users must sign in with their wallet before they can begin any task. Claimr needs this to link actions to a wallet address. * **Require token to start campaign** *(optional)*: users need a specific token to access the campaign. * **Wallet change is disabled** *(optional)*: prevents users from switching wallets mid-session. * **Disable users merge** *(optional)*: stops Claimr from merging user identities across sign-in methods. Select **Wallet** in the **Select sign-in services** field, select your blockchain in the **Chains** field, and enter a message in the **Wallet message** field. Users see this message when they sign, so describe why they are signing. ## Load the widget in dApp mode Add `platform: 'dapp'` to the loader configuration in your Claimr provider. This tells the widget to send wallet operations to your app instead of looking for a wallet extension on its own. ```ts theme={"dark"} loadClaimr({ organization: import.meta.env.VITE_CLAIMR_ORGANIZATION, campaign: import.meta.env.VITE_CLAIMR_CAMPAIGN, container: CLAIMR_CONTAINER_ID, autoresize: true, platform: 'dapp', }); ``` If you embed the script tag directly instead of using the loader, add `data-platform="dapp"` to it. ## Answer wallet requests The widget asks your app for wallet operations through one callback, `on_wallet_request`. It receives an object with an `op` field, and must return a result or throw an error: | `op` | Receives | Return | | - | - | - | | `connect` | `namespaces`: the chains the widget can act on, in preference order | `{ address, chain }` | | `sign_message` | `address`, `message` | `{ signature }` | | `send_transaction` | `chain_id`, `address`, `request`, `contract`, `method`, `args`, `abi`, `fee` | `{ hash }` | | `disconnect` | None | `{}` | Throwing tells the widget the operation failed, and the widget shows the error right away instead of waiting. Create a component that assigns the handler with your wagmi hooks: ```tsx src/claimr/ClaimrWalletBridge.tsx expandable theme={"dark"} import { useEffect, useRef } from 'react'; import { useConnectModal } from '@rainbow-me/rainbowkit'; import { useAccount, useChainId, useDisconnect, useSignMessage, useSwitchChain, useWriteContract } from 'wagmi'; import type { Abi, Address } from 'viem'; import { getClaimr, type ClaimrWalletRequest } from '../lib/claimr'; /** Answers the widget's wallet requests with the wallet your app already manages. Render once. */ export function ClaimrWalletBridge() { const { address } = useAccount(); const chainId = useChainId(); const { openConnectModal } = useConnectModal(); const { signMessageAsync } = useSignMessage(); const { writeContractAsync } = useWriteContract(); const { switchChainAsync } = useSwitchChain(); const { disconnect } = useDisconnect(); useEffect(() => { const handler = async (request: ClaimrWalletRequest) => { switch (request.op) { case 'connect': if (address) return { address, chain: String(chainId) }; openConnectModal?.(); throw new Error('The user has not connected a wallet yet'); case 'sign_message': return { signature: await signMessageAsync({ message: request.message }) }; case 'send_transaction': { const target = Number(request.chain_id); if (target !== chainId) await switchChainAsync({ chainId: target }); const hash = await writeContractAsync({ abi: request.abi as Abi, address: request.contract as Address, functionName: request.method, args: request.args, chainId: target, }); return { hash }; } case 'disconnect': disconnect(); return {}; } }; // The handler closes over the latest wallet state, so reassign it when that state changes. const claimr = getClaimr(); if (claimr) claimr.on_wallet_request = handler; }, [address, chainId, openConnectModal, signMessageAsync, writeContractAsync, switchChainAsync, disconnect]); // Log the widget out when the wallet disconnects or changes. Comparing with the previous address // skips the page load, when wagmi briefly reports no address while it reconnects. const previousAddress = useRef(address); useEffect(() => { if (previousAddress.current && previousAddress.current !== address) getClaimr()?.logout(); previousAddress.current = address; }, [address]); return null; } ``` Render it inside your Claimr provider once the script has loaded, so that `window.claimr` exists when the handler is assigned: ```tsx theme={"dark"} const { loaded } = useClaimr(); return <>{loaded && }; ``` `send_transaction` carries the transaction twice. `request` is the pre-encoded EIP-1193 call, and `contract`, `method`, `args`, and `abi` describe the same call at the ABI level. The example rebuilds the call with wagmi's `writeContractAsync`. If your wallet library sends raw EIP-1193 requests, send `request` instead. ## Sign the user in from your app (optional) With `on_wallet_request` in place, the widget asks for a signature when the user signs in inside the widget. If your app already runs its own sign-in step, you can sign the user in to Claimr at the same moment with `connect_wallet`: ```tsx theme={"dark"} import { nanoid } from 'nanoid'; import { useAccount, useChainId, useSignMessage } from 'wagmi'; import { getClaimr } from '../lib/claimr'; function buildSignMessage(statement: string, domain: string, refId?: string) { let message = `${statement}\n\nURI:\n${domain}\n\n`; if (refId) message += `Referral ID:\n${refId}\n\n`; message += `Nonce:\n${nanoid(16)}\n\nIssued At:\n${new Date().toISOString()}`; return message; } export function useClaimrSignIn() { const { address } = useAccount(); const chainId = useChainId(); const { signMessageAsync } = useSignMessage(); return async () => { if (!address) return; const refId = new URLSearchParams(window.location.search).get('ref') ?? undefined; const message = buildSignMessage('Sign in to My dApp quests', window.location.origin, refId); const signature = await signMessageAsync({ message }); getClaimr()?.connect_wallet(address, signature, message, chainId); }; } ``` `connect_wallet` is safe to call before the widget finishes loading: the loader keeps the wallet and passes it on when the campaign loads. The loader also remembers the wallet address across page loads. ## How it works **When the user opens the app:** 1. Your app loads, and the Claimr provider loads the widget script in dApp mode. 2. `ClaimrWalletBridge` assigns `on_wallet_request`. 3. The widget renders inside its container. **When the user signs in to the widget:** 1. The widget sends a `connect` request. Your handler returns the connected address, or opens the RainbowKit modal if no wallet is connected. 2. The widget sends a `sign_message` request with its sign-in message. Your handler signs it with the user's wallet. 3. Claimr verifies the signature and signs the user in. **When a task needs an on-chain action**, such as minting an NFT: 1. The widget sends a `send_transaction` request. 2. Your handler switches the chain if needed, sends the transaction, and returns its hash. 3. Claimr verifies the transaction. **When the wallet disconnects or changes**, the bridge calls `logout()`, so the widget does not keep a session for a wallet your app has let go of. ## Summary | Method or callback | Called by | Purpose | | - | - | - | | `on_wallet_request` | Claimr widget | Ask your app to connect, sign, send, or disconnect. One callback, with a real result for every request. | | `connect_wallet` | Your app | Sign the user in to Claimr with a signature your app already collected. | | `logout` | Your app | End the Claimr session when the wallet disconnects or changes. | | `on_request` | Claimr widget | The earlier transaction-only callback. Still supported, and used only when `on_wallet_request` is not set. | See the [SDK guide](/sdk-guide#on_wallet_request) for the full wallet callback reference. # Integrate Claimr widget into a Telegram mini app Source: https://docs.claimr.io/how-to/integrating-claimr-widget-into-telegram-mini-app Integrate the Claimr widget into your Telegram Mini App to leverage Claimr's engagement features while automatically using the user's Telegram context. You can run the Claimr widget inside a Telegram Mini App. In Telegram mode, the widget reads the Mini App context and signs the user in with their Telegram account automatically, so they never see a login screen. In this tutorial, you will: * Configure the campaign to sign users in with Telegram. * Load Telegram's Mini App script and the Claimr widget in Telegram mode. * Set up the Mini App window so the widget is comfortable to use. The code examples use React. For other frameworks, follow the matching [framework guide](/frameworks/overview) and apply the same Telegram settings. ## Prerequisites * A Telegram bot with a Mini App configured through [@BotFather](https://t.me/BotFather). * A web app that you serve as the Mini App, with the Claimr widget set up as described in [Integrate Claimr into a React app](/frameworks/react). ## Configure the campaign In the Claimr admin panel, open your campaign, click **Settings**, then select **Sign-in options**. In **Select sign-in services**, make sure **Telegram** is selected. This lets users take part in the campaign with the Telegram identity the Mini App provides. Sign-in options page ## Set up the Mini App Add Telegram's script to the `` of your app's HTML page, before your own scripts: ```html index.html theme={"dark"} ``` This script creates `window.Telegram.WebApp`. The Claimr widget reads the user's Telegram identity from it, so without it the widget cannot sign the user in. Add `platform: 'telegram'` to the loader configuration in your Claimr provider: ```ts theme={"dark"} loadClaimr({ organization: import.meta.env.VITE_CLAIMR_ORGANIZATION, campaign: import.meta.env.VITE_CLAIMR_CAMPAIGN, container: CLAIMR_CONTAINER_ID, autoresize: true, platform: 'telegram', }); ``` If you embed the script tag directly instead of using the loader, add `data-platform="telegram"` to it. When your app starts, expand the Mini App to full height and stop accidental closing: ```tsx src/App.tsx theme={"dark"} import { useEffect } from 'react'; export function App() { useEffect(() => { const webApp = window.Telegram?.WebApp; webApp?.expand(); webApp?.enableClosingConfirmation(); webApp?.disableVerticalSwipes(); }, []); return ; } ``` * `expand()` maximizes the Mini App window. * `enableClosingConfirmation()` asks the user to confirm before closing the Mini App. * `disableVerticalSwipes()` stops vertical swipes from closing the Mini App while the user scrolls the widget. With TypeScript, install `@types/telegram-web-app` to get types for `window.Telegram`. Open the Mini App from your bot in the Telegram app. Outside Telegram, `window.Telegram.WebApp` has no user data, so the widget cannot sign anyone in automatically. ## How it works 1. A user opens your Mini App in Telegram. 2. Your app loads the Claimr widget with `platform: 'telegram'`. 3. The widget reads the Mini App context from `window.Telegram.WebApp` and signs the user in with their Telegram account. 4. The widget shows the campaign's quests and tasks for that user. 5. If a task needs another account, such as Discord, email, or a wallet, the widget asks the user to link it. 6. Task completions are saved to the user's Claimr profile, linked to their Telegram identity. Inside Telegram, the widget can also use Mini App features for some tasks, such as sharing a story, sharing a message, or adding the app to the home screen. These need no extra code in your app. # How to Source: https://docs.claimr.io/how-to/overview Follow step-by-step tutorials to build platform-specific campaigns, integrate the Claimr widget, and unlock advanced features like tags, custom points, and puzzle rewards. Ready to start using Claimr or want to master a specific feature? This section provides step-by-step tutorials to guide you through building and managing successful campaigns on the Claimr platform. Looking to create campaigns tailored for specific social platforms, or integrate Claimr into your own product? Browse the tutorials below. Build a campaign focused on X (Twitter) engagement, from setup to the most popular X tasks. Build a campaign that grows and rewards your Discord community. Connect the Claimr widget to a custom wallet layer in your Web3 application. Bring Claimr's engagement features into your Telegram Mini App. Dynamically show or hide Quests and Groups for different user segments. Reward users in Claimr for actions they complete outside the platform. Create multi-step challenges where users collect clues and solve a final task. # Localization Source: https://docs.claimr.io/localization Add languages to your campaign, create custom localization keys, and localize rich text descriptions so users see content in their own language. ## What is campaign localization? It is the process of translating and culturally adapting your campaign's text and user interface into multiple languages. Essentially, it means making your campaign accessible and understandable to people who speak different languages. Using campaign localization offers several key benefits: * **Reach a global audience:** By providing content in various languages, you can significantly expand your campaign's reach beyond a single linguistic group. This allows participants worldwide to engage with your campaign in a way that feels natural to them. * **Enhance user experience:** Participants are more likely to interact with and understand your campaign when it's presented in their native language. This creates a more inclusive, user-friendly, and effective experience, leading to higher engagement and satisfaction. * **Seamless integration:** Create and link custom translations to any text field within your campaign. The platform then automatically displays the correct translation based on the user's active language. Plus, many system-level components are already translated by default, simplifying the process even further. To enable localization in your campaign, simply add the desired languages in your settings using the steps below. While basic system elements will already be translated by default, you can customize additional texts in two ways: * By creating custom keys in Customization → Localization * By using the dedicated editor for Rich Text blocks (in forms, descriptions, challenges, etc.) This article will guide you step-by-step through how this all works. ## Add languages to your campaign First, declare which languages your campaign will support. Navigate to the specific **Campaign** you want to localize. Go to the campaign **Settings**. Locate the **Languages** section. To make changes, click the **edit icon** (a pencil) on the right. Languages section edit icon The editable settings window will open. Languages settings window * The **Language** field shows the campaign's default language. * Click into the **Add more languages** field to see a dropdown list of available languages. Select one or more languages to add. Click **Update** to save your changes. The **Languages** section will now display the default language and all additional languages you have enabled. Languages section updated Once you've added multiple languages to your campaign, you can let users choose their preferred language directly in the widget. ### Enable the language selector In your campaign settings, turn on the Show language selector toggle. This adds a small language menu to the corner of the widget, so users can switch languages anytime. ### Preview translations during setup While configuring your campaign, you can test how the widget appears in different languages using the built-in preview language selector. This option shows all available translations - even if not added to your live settings - and helps you check formatting and alignment. ### set\_language method You can control the widget language manually using the method `set_language(language)`. This lets you align the widget with the rest of your site or app based on user preferences. ## Customize localization ### Create a custom key Create a custom key Go to **Customization** → **Localization** tab and within the JSON file for the relevant language: * Create a key with any convenient name (for example: `my_custom_group_name`). * Add the value for this key. For instance, for the key `my_custom_group_name`, you would enter "Name meiner Gruppe". The localization keys follow the [i18next](https://www.i18next.com/) format, which is the internationalization framework used in Claimr. Example of creating a custom key in the localization editor for German: ```json theme={"dark"} { "my_custom_group_name": "Name meiner Gruppe" } ``` ### Use your custom key Now, this key can be used anywhere in the system where there are name fields visible to the end-user: * Group names * Button names * Quest names * Action names * Task descriptions * Any other text displayed in the widget For example, in the group settings, simply specify the key `group_name` as the value for the "Name" field. Group name field using a custom key You can also reference specific campaign objects in your translations using dynamic keys. For example, `{{task.name}}` will automatically insert the current task's name based on the active language. This works for various object types such as task, group, quest, and action. ### How it works in the interface After the key has been added and applied to elements: * In the widget, the system automatically inserts the translation according to the active language. * If the user changes the language, the translation updates automatically. Quest card displaying content in German when selected The built-in language switcher works immediately if languages are activated in the general settings. For example, if you switch the widget from English to German - the widget will show "Name meiner Gruppe" instead of the English name. ## Localize descriptions Rich text descriptions are formatted content blocks used in forms, group descriptions, quest descriptions, and other areas where detailed text, images, or special formatting are needed. This localization method is separate from using custom translation keys for simple text strings, as it manages the entire formatted content block per language. Firstly, ensure you have enabled languages for your campaign before localizing rich text descriptions. Refer to the "Add languages to your campaign" section for instructions. Navigate to where you need to create or edit a rich text description. The rich text editing window will open. The editor defaults to **English**. Create your complete description in English, using all available rich text formatting tools (bold, lists, images, etc.). Rich text editor default language Use the language selector in the bottom right corner of the editor to switch to another active language. The content area will clear. Enter the full description for the newly selected language. You are creating an independent, formatted content block for each language. Continue switching between languages and creating a unique rich text description for each. Click the **Save** button. A single save action saves all the localized versions you've created within that rich text block. ### How it works in the interface After the localized rich text descriptions are saved: * In the widget, the system automatically displays the correct rich text description based on the active language. * If the user changes the language using the built-in language switcher, the rich text content updates automatically. Rich text descriptions do **not** use custom localization keys. You directly input the full content for each language in the editor. # Authorize a connection Source: https://docs.claimr.io/mcp/authorize-a-connection Sign in to Claimr from your AI assistant and choose which organizations, campaigns, and permissions the connection gets. When your AI assistant connects to Claimr for the first time, it opens a Claimr sign-in page. You sign in, then choose exactly what the assistant can reach. Nothing is shared until you click **Authorize**. ## Sign in Sign in with the email and password of your Claimr admin panel account, or click **Sign in with Google** if you use Google to sign in to the panel. The page shows the name of the assistant asking for access, for example "Claude is requesting access to your Claimr account". If you don't recognize the assistant, close the page. ## Choose what the assistant can access After you sign in, the consent screen has three sections. Choose **All organizations** or **Specific organizations**. The list only shows organizations you belong to that have MCP access turned on. Choose **All campaigns** or **Specific campaigns**. With specific campaigns, pick them from the list, grouped by organization. The list only shows campaigns your role can open. Choose **Full access** or **Limited access**. With limited access, set **Read** and **Write** for each area in the table below. Turning on **Write** also turns on **Read**. Click **Authorize** to finish. Your assistant receives access and you can go back to the chat. Start narrow. Give a new connection one campaign and only the areas you plan to work on. You can change this later from your profile. ## Permission areas | Area | What it covers | | - | - | | **Campaigns** | Campaign settings, groups, images, and descriptions | | **Quests** | Quests, tasks, and pre-quests | | **Rewards** | Daily check-ins, forms, items, prize pools, raffles, teams, and tiers | | **Tournaments** | Tournaments and raffles tied to them | | **Customization** | Custom CSS, layout, widget options, and translations | | **Segments and exports** | User segments, and starting CSV exports of participant data. Files are downloaded in the admin panel only. | | **Organization** | Creating new campaigns | **Read** lets the assistant look at an area. **Write** lets it create, change, and delete things in that area. ## Your role always applies A connection can never do more than your own team role allows. If your role can't edit quests in a campaign, the assistant can't either, even with **Full access**. The consent screen only narrows what your role already permits. See [Team roles and management](/team-roles-and-management). A request goes through only when all of these allow it: 1. Your role in the organization and campaign. 2. The organizations and campaigns you chose for the connection. 3. The permission areas you chose for the connection. 4. MCP access being turned on for the organization. ## How long a connection lasts A connection stays signed in while you use it. Your assistant refreshes its access automatically in the background. A connection that goes unused for 90 days expires, and your assistant asks you to sign in again. You can revoke a connection at any time. See [Manage connections](/mcp/manage-connections). ## If you see no organizations If the consent screen doesn't list any organizations, you'll see one of these messages: * **"You don't belong to any organization yet."** Ask an organization admin to invite you. Access appears automatically once you join. * **"None of your organizations have MCP access yet."** Your organizations are still on the waitlist. Contact [support@claimr.io](mailto:support@claimr.io) to request access. # Connect an AI assistant Source: https://docs.claimr.io/mcp/connect-an-ai-assistant Add the Claimr MCP server to Claude, ChatGPT, Claude Code, Cursor, or any other MCP client that supports remote servers with OAuth. Every MCP client connects to Claimr the same way: you add the server URL, then sign in with your Claimr account when the client asks you to. ```text theme={"dark"} https://prod.claimr.io/mcp ``` The Claimr MCP server is a remote server over Streamable HTTP with OAuth 2.1 sign-in. You don't need an API token or a client secret. Clients that support dynamic client registration, which includes Claude and ChatGPT, register themselves automatically. Menu names in AI assistants change often. If a step below doesn't match what you see, look for a setting called **Connectors**, **Apps**, **Integrations**, or **MCP servers**. ## Claude (web and desktop) In Claude, open **Settings** and go to **Connectors**. Click **Add custom connector**. Enter `Claimr` as the name and `https://prod.claimr.io/mcp` as the URL, then click **Add**. Click **Connect** next to the new connector. A Claimr sign-in page opens in your browser. Sign in with your Claimr account and choose what the connection can access. See [Authorize a connection](/mcp/authorize-a-connection). Start a new chat and make sure the Claimr connector is turned on in the tools menu. Then ask something like "List my Claimr campaigns". On Team and Enterprise plans, an owner may need to add the connector for the organization before members can connect. ## ChatGPT In ChatGPT, open **Settings** and go to **Apps & Connectors**. If your plan requires it, turn on **Developer mode** under **Advanced settings**. Click **Create**. Enter `Claimr` as the name, `https://prod.claimr.io/mcp` as the MCP server URL, and choose **OAuth** as the authentication method. ChatGPT opens the Claimr sign-in page. Sign in and choose what the connection can access. See [Authorize a connection](/mcp/authorize-a-connection). In a new chat, add Claimr from the tools menu, then ask something like "Show me the quests in my campaign". ## Claude Code Add the server from your terminal: ```bash theme={"dark"} claude mcp add --transport http claimr https://prod.claimr.io/mcp ``` Then start Claude Code, run `/mcp`, select **claimr**, and choose **Authenticate**. Your browser opens the Claimr sign-in page. ## Cursor, VS Code, and other clients Any client that supports remote MCP servers with OAuth can connect. Add the server to the client's MCP configuration, for example in Cursor's `mcp.json`: ```json theme={"dark"} { "mcpServers": { "claimr": { "url": "https://prod.claimr.io/mcp" } } } ``` The client starts the sign-in flow the first time it calls the server. Clients that only support local (stdio) servers, or that expect a static API key, can't connect directly. The Claimr MCP server only accepts OAuth sign-in. ## Check that it works Ask the assistant: > List my Claimr organizations and campaigns. If the assistant lists them, the connection works. If it reports an error, see [Troubleshooting](/mcp/troubleshooting). # Example prompts Source: https://docs.claimr.io/mcp/example-prompts Prompts you can paste into Claude, ChatGPT, or another AI assistant to build, edit, and review Claimr campaigns through MCP. Use these prompts as a starting point. Replace the names in quotes with your own. The more specific you are about names, numbers, and links, the fewer follow-up questions the assistant asks. Start each conversation by naming your organization and campaign, for example "I'm working on the Summer Launch campaign in Acme". The assistant remembers it for the rest of the chat. ## Explore > List my Claimr organizations and the campaigns in each one. > Show me every group, quest, and task in the "Summer Launch" campaign as an outline, with the points each task gives. > Which task types can reward Discord activity? Explain what each one checks. ## Build a campaign > Create a campaign called "Summer Launch". Add a group called "Get started" with three quests: > > 1. "Join the community": follow @acme on X and join our Telegram channel t.me/acme, 50 points each. > 2. "Spread the word": repost our pinned post on X, 100 points. > 3. "Go on-chain": connect a wallet, 150 points. > Show me any issues Claimr reports on the tasks. > Add a second group called "Weekly challenges" and move the "Spread the word" quest into it. ## Edit in bulk > Double the points of every X task in "Summer Launch". > Write a short, friendly description for every quest that doesn't have one. Keep each under two sentences. > Rename the quests in the "Get started" group so each name starts with a verb. ## Rewards and progression > Add five tiers: Bronze, Silver, Gold, Platinum, and Diamond, each 500 XP wide. > Set up a seven-day daily check-in that pays 10 XP a day and 50 XP on day seven. > Create a prize pool for the leaderboard: 500 USDT for first place, 250 for places 2 and 3, and 50 for places 4 to 10. > Create a raffle for participants with at least 1,000 XP, weighted by XP, with 10 winners. Don't run the draw yet. ## Forms and quizzes > Create a quiz called "Acme basics" with five multiple-choice questions about our product, one page each, with an explanation for every answer. Then add a form task for it to the "Learn" quest worth 200 points. ## Audience > Create a segment for participants from Germany or France with more than 100 XP. ## Export data > How many participants took part in the "Go on-chain" quest but haven't finished it? Then export their wallets and X accounts. > Export the activity of participants from Germany with more than 500 XP, only tasks completed in September. ## Look and language > Summarize how "Summer Launch" is customized. > Turn on the leaderboard in the widget and make quest cards wrap. > Translate the widget into Spanish and German, and let participants switch languages. > Add CSS so quest card titles use our brand color #F3FF06. ## Review > Review "Summer Launch" before we publish. List quests without images, tasks without descriptions, groups with no quests, and anything that looks misconfigured. > Explain how referrals work in this campaign: what a referrer earns and what a new participant has to do. > Check the login requirements and tell me if participants need to connect X before they can start. # How tools work Source: https://docs.claimr.io/mcp/how-tools-work Understand how the AI assistant finds your campaigns, remembers what you're working on, and makes changes through Claimr MCP tools. The Claimr MCP server offers a set of tools, each one a single action such as "list quests" or "create task". Your assistant picks the tools it needs based on your request. You don't call tools yourself, but knowing how they behave helps you write better prompts and check the results. ## Changes are saved right away When the assistant creates, updates, or deletes something, the change is saved immediately, the same as clicking **Save** in the admin panel. Every change stays editable in the panel afterwards. Publishing a campaign still happens in the admin panel. See [Publish campaign](/widget/publish-campaign). Most AI assistants ask you to confirm before running a tool that changes data. Read the confirmation, especially for deletes, draws, and tournament starts. Some actions can't be undone. ## Finding your campaign You can refer to campaigns, groups, quests, and tasks by name, slug, or ID. For example, "the Summer Launch campaign" or "the quest called Join our community" both work. A good first message tells the assistant which organization and campaign you want to work on: > I'm working on the Summer Launch campaign in the Acme organization. ## The assistant remembers where you are At the start of a conversation, the assistant creates a context with `claimr_create_context`. The context remembers the organization, campaign, group, quest, and task you last worked with, so follow-up requests like "now add a task to it" land in the right place without you repeating names. A context lasts seven days from its last use. A new conversation starts a new context. ## Only the fields you mention change Update tools change only the fields the assistant passes. If you ask to change a quest's name, its image, tasks, and settings stay as they are. A few tools replace a whole list rather than merging it, for example the conditions of a segment, the answer options of a form question, or the brackets of a prize pool. The assistant sends the full list in those cases. ## Deleting is careful by default Deletes are designed to keep related content safe: * Deleting a group keeps its quests in the campaign, unattached. * Deleting a quest keeps its tasks in the campaign. * A form can't be deleted while a task still uses it. * An image can't be deleted while a quest, task, tier, team, item, pre-quest, or the campaign still uses it. * A running tournament has to be ended before it can be deleted. ## Task data is checked When the assistant creates or updates a task, Claimr checks the task's settings and returns a list of issues it couldn't resolve, for example an X account that doesn't exist. The task is still saved, so ask the assistant to show you any issues and fix them before you publish. ## Images Tools that take an image, such as a campaign, quest, or task image, accept a public image link or an image the assistant generates. Claimr re-hosts the image on its own CDN, so the original link doesn't need to stay online. ## Descriptions Long descriptions of campaigns, groups, quests, tasks, tournaments, and completion pop-ups are written as plain text. A blank line starts a new paragraph. Writing a new description replaces any formatting, images, or links the old one had, so add those back in the panel if you need them. Writing a completion pop-up description also turns that pop-up on. ## Permissions Every tool checks your role and the connection's permissions before it runs. If the assistant reports "Access denied" or "This MCP connection has no write access to Quests", see [Troubleshooting](/mcp/troubleshooting). See every tool, grouped by area. Prompts that make the most of these tools. # Manage connections Source: https://docs.claimr.io/mcp/manage-connections See every AI assistant connected to your account or organization, change what it can reach, and revoke access. You can review AI assistant connections in two places: your own connections in your profile, and every connection that reaches an organization on the organization's **API** page. ## Your connections In the Claimr admin panel, open your profile. The **My MCP connections** section lists each assistant you connected. Each entry shows the assistant's name, the organizations and campaigns it can reach, its permissions, and when it was last used. * Click the edit icon to change the organizations, campaigns, and permissions of that connection. You can pick anything your role allows. * Click the delete icon to revoke the connection. This disconnects the assistant from every organization it reaches. The **My MCP connections** section only appears once you have at least one connection. ## Connections to your organization Organization admins can see every AI assistant connection that reaches the organization, including connections made by other team members. In the Claimr admin panel, open your organization and go to **API**. The **MCP connections** section lists each connection with: * **Connected by**: the team member who authorized it. * **AI assistant**: the assistant's name, for example Claude or ChatGPT. * **Organizations**: whether it reaches all of that member's organizations or only this one. * **Campaigns**: all campaigns or the specific ones it can reach. * **Permissions**: the areas it can read or write. * **Connected** and **Last used**: when it was authorized and last made a request. * Click the edit icon to take permissions away from a connection. Admins can only remove access here, never add it. * Click the delete icon to revoke the connection. A connection can reach more than one organization. Access you take away here, and revoking it, applies to the whole connection, including other organizations it reaches. Viewing this section needs read access to the organization's API settings. Editing or revoking needs write access. ## When to revoke a connection Revoke a connection when: * You no longer use that assistant with Claimr. * A team member who authorized it leaves your team. * You see a connection you don't recognize, or one that was used when you didn't expect it. After you revoke a connection, the assistant gets an error on its next request. To use it again, reconnect and authorize it from scratch. # Claimr MCP Source: https://docs.claimr.io/mcp/overview Connect Claude, ChatGPT, or any MCP-compatible AI assistant to Claimr and build, edit, and review your campaigns by describing what you want in plain language. Claimr MCP lets an AI assistant work inside your Claimr organization for you. Once connected, you can ask the assistant to set up a campaign, add quests and tasks, tune the leaderboard, translate the widget, or review how a campaign is configured. The assistant does the work through the same permissions you have in the Claimr admin panel. MCP (Model Context Protocol) is an open standard that AI assistants use to connect to external tools. Claimr runs a remote MCP server, so there is nothing to install. You add one URL to your assistant and sign in with your Claimr account. ## Server URL ```text theme={"dark"} https://prod.claimr.io/mcp ``` The server uses OAuth for sign-in. Your assistant opens a Claimr sign-in page the first time it connects, and you choose what the connection can reach. Claimr MCP is rolling out through a waitlist. Your organization needs MCP access turned on before its campaigns show up for a connection. Contact [support@claimr.io](mailto:support@claimr.io) to join the waitlist. ## What you can do with Claimr MCP **Build campaigns from a brief**: Describe a campaign in a few sentences and let the assistant create the campaign, its groups, quests, and tasks in one go. **Edit in bulk**: Rename quests, change points across many tasks, reorder groups, or rewrite descriptions without clicking through each item in the panel. **Pick the right task type**: The assistant can browse more than 200 task types across X, Discord, Telegram, Reddit, TikTok, YouTube, Web3, and more, and fill in the fields each type needs. **Set up rewards and competition**: Add tiers, prize pools, daily check-ins, items, teams, raffles, and tournaments. **Customize the widget**: Change widget options, edit the layout and custom CSS, and translate the widget into other languages. **Review what you have**: Ask the assistant to audit a campaign, list tasks without descriptions, or explain how the referral program is configured. **Export data**: Describe the participants you need, for example everyone who completed a quest, and the assistant sets up a CSV export. You download the file in the admin panel. Add Claimr to Claude, ChatGPT, Claude Code, Cursor, and other MCP clients. Sign in and choose which organizations, campaigns, and permissions the assistant gets. See, narrow, or revoke AI assistant connections to your account and organization. Ready-to-use prompts for building and editing campaigns. Learn how the assistant finds your campaigns and what it can change. Every tool the Claimr MCP server offers, grouped by area. ## What the assistant can't do Claimr MCP is built for configuring campaigns, not for reading your participants' personal data. The assistant can't see participant names, social handles, wallet addresses, emails, or form answers. It can start a CSV export, but only you download the file, in the admin panel. See [Security and privacy](/mcp/security-and-privacy) for details. # Security and privacy Source: https://docs.claimr.io/mcp/security-and-privacy How Claimr MCP protects your organization and your participants' data when you connect an AI assistant. Connecting an AI assistant means the assistant's provider processes what Claimr sends back. Claimr MCP is designed so that what the assistant sees is limited to campaign configuration, and so that you stay in control of what it can change. ## Participant data stays in Claimr Claimr MCP doesn't send participants' personal data to your AI assistant. The assistant can't read: * Participant names, emails, social handles, or wallet addresses. * Form and quiz answers. * Raffle candidates and winners. * Tournament standings. * The participants in a segment. To see this data, open the campaign in the Claimr admin panel. The assistant can start a CSV export of participant data, but it never receives the file or a download link. It gets the number of matching participants and a link to the export in the admin panel, where a signed-in team member downloads it. See [Export tools](/mcp/tools/exports). ## You choose what each connection can reach When you authorize a connection, you pick its organizations, campaigns, and permissions. A connection can never do more than your own role allows. See [Authorize a connection](/mcp/authorize-a-connection). Give each connection the least access it needs: * Pick specific campaigns instead of all campaigns. * Grant **Read** only, if you just want the assistant to review or explain. * Leave out **Organization** unless the assistant needs to create new campaigns. * Leave out **Segments and exports** unless you plan to work on audiences or exports. ## Sign-in and tokens * You sign in on a Claimr page, not inside the assistant. Your password is never shared with the assistant. * The connection uses OAuth 2.1 with PKCE. The assistant receives a token tied to your account and to the access you chose. * Tokens refresh automatically while in use. Each refresh replaces the old token, so a stolen refresh token stops working as soon as the real assistant refreshes. * A connection unused for 90 days expires. ## Organization oversight Organization admins see every connection that reaches the organization, including who made it and when it was last used, and can narrow or revoke it. See [Manage connections](/mcp/manage-connections). ## Confirm before changes Most AI assistants show each tool call and ask for approval before changing data. Review changes before you approve them, especially: * Deleting groups, quests, tasks, forms, or images. * Running a raffle draw. * Starting or ending a tournament. These actions affect participants and some can't be undone. ## Report a problem If you see a connection you don't recognize, revoke it right away from your profile or the organization's **API** page, then contact [support@claimr.io](mailto:support@claimr.io). # Campaign tools Source: https://docs.claimr.io/mcp/tools/campaigns Claimr MCP tools for organizations, campaigns, campaign settings, descriptions, images, and feature requests. These tools let the assistant find your organizations and campaigns, create and update campaigns, and change campaign-wide settings. The **Access** column shows the permission area and level each tool needs. See [Permission areas](/mcp/authorize-a-connection#permission-areas). ## Context and organizations | Tool | What it does | Access | | - | - | - | | `claimr_create_context` | Starts a context that remembers the organization, campaign, group, quest, and task you're working on. | None | | `claimr_get_organizations` | Lists the organizations you belong to. | None | ## Campaigns | Tool | What it does | Access | | - | - | - | | `claimr_get_campaigns` | Lists the campaigns of an organization. Given a campaign slug or ID, returns that campaign's full details. | Campaigns: read | | `claimr_create_campaign` | Creates a campaign by name, with an optional image. | Organization: write | | `claimr_update_campaign` | Changes a campaign's name, image, XP name, and XP icon. | Campaigns: write | Creating a campaign is an organization-level action, so it needs **Organization** write access, not **Campaigns**. ## Campaign settings | Tool | What it does | Access | | - | - | - | | `claimr_get_leaderboard_settings` | Shows whether the referral XP and referral count leaderboards are on, whether the leaderboard is frozen, and which tasks a participant must complete to appear on it. | Campaigns: read | | `claimr_set_leaderboard_settings` | Changes the leaderboard settings. | Campaigns: write | | `claimr_get_referral_settings` | Shows how much XP a referrer earns and what a referred participant must do before the referral counts. | Campaigns: read | | `claimr_set_referral_settings` | Changes the referral rewards. Pay the referrer a share of the referred participant's XP, or a flat amount per referral. | Campaigns: write | | `claimr_get_campaign_limits` | Shows the campaign's schedule, the maximum number of participants, and the XP participants start with. | Campaigns: read | | `claimr_set_campaign_limits` | Changes the schedule and entry limits. | Campaigns: write | | `claimr_get_login_requirements` | Shows which social logins participants need, whether they're mandatory, whether a Claimr account is needed to view the campaign, and which chains wallets can connect on. | Campaigns: read | | `claimr_set_login_requirements` | Changes the login and network requirements. | Campaigns: write | Related pages: [General campaign settings](/campaigns/general-campaign-settings), [Referral settings](/campaigns/referral-settings), [Leaderboard](/campaigns/leaderboard), [Campaign sign-in options](/campaigns/campaign-sign-in-options). ## Descriptions Descriptions are the long, formatted texts shown on a campaign, its intro and referral pages, groups, quests, tasks, tournaments, and completion pop-ups. | Tool | What it does | Access | | - | - | - | | `claimr_get_description` | Reads a description as plain text. | Read access to the area of the item | | `claimr_set_description` | Writes a description. Writing a pop-up description also turns the pop-up on. | Write access to the area of the item | | `claimr_clear_description` | Removes a description, or only one translation of it. Clearing a pop-up description also turns the pop-up off. | Write access to the area of the item | The area depends on what the description belongs to: **Campaigns** for campaigns and groups, **Quests** for quests and tasks, **Tournaments** for tournaments. Descriptions are read and written as plain text. Writing a new description replaces any formatting, images, or links added in the panel. ## Images | Tool | What it does | Access | | - | - | - | | `claimr_update_image` | Replaces an uploaded image in place, for example to shrink a large quest image. When the format stays the same, the image URL doesn't change and every item using it updates. | Campaigns: write | | `claimr_delete` (kind `image`) | Permanently deletes an uploaded image. Refuses while a quest, task, tier, team, item, pre-quest, or the campaign still uses it. | Campaigns: write | ## Feature requests When you ask for something Claimr can't do yet, the assistant can pass it on to the Claimr team as a feature request. It shows you the request and asks before sending it. | Tool | What it does | Access | | - | - | - | | `claimr_submit_feature_request` | Sends a feature request to the Claimr team, with an optional use case, priority, and related campaign. | None | | `claimr_get_feature_requests` | Lists your organization's feature requests with their status (new, planned, in progress, done, or declined) and any note from the Claimr team. | None | Any member of the organization can submit and list feature requests. # Customization tools Source: https://docs.claimr.io/mcp/tools/customization Claimr MCP tools for widget options, layout, custom CSS, and translations. These tools change how the campaign widget looks and reads. They use the **Customization** permission area. ## Overview | Tool | What it does | Access | | - | - | - | | `claimr_get_customizations` | Summarizes how a campaign is customized: whether it has custom CSS, which layout regions it overrides, how many widget options it changed, and which languages it has translations for. | Customization: read | Start with "Summarize how this campaign is customized" to see what's already changed before editing. ## Widget options Widget options are the switches and pickers from the panel's widget settings, such as showing the leaderboard or wrapping quest cards. | Tool | What it does | Access | | - | - | - | | `claimr_get_widget_options` | Lists the widget options, their current values, and the values each one takes. | Customization: read | | `claimr_set_widget_options` | Changes widget options. Options you don't mention stay as they are. | Customization: write | Related pages: [Widget configurations](/widget/widget-configurations), [Widget themes](/widget/widget-themes). ## Layout The layout controls the structure of widget regions: the campaign page, the quest card, the quest pop-up, the quest group, the user progress bar, and the leaderboard columns. | Tool | What it does | Access | | - | - | - | | `claimr_get_layout_blocks` | Lists the widget's layout regions and the blocks each region can hold. Reference only, it doesn't read a campaign. | Customization: read | | `claimr_get_layout` | Shows which regions a campaign overrides, or the blocks of one region. | Customization: read | | `claimr_set_layout` | Changes one region, or the whole layout. Widget options stored with the layout are kept. | Customization: write | ## Custom CSS | Tool | What it does | Access | | - | - | - | | `claimr_get_css` | Reads the campaign's custom stylesheet, in slices, or searches it. | Customization: read | | `claimr_set_css` | Adds rules to the stylesheet, edits one passage, or replaces it. | Customization: write | Custom CSS is applied on top of the widget theme. ## Translations | Tool | What it does | Access | | - | - | - | | `claimr_get_localization` | Reads a campaign's widget texts in one language: the ones it changed and, on request, the defaults it could change. | Customization: read | | `claimr_set_localization` | Changes widget texts in one language. Texts you don't mention keep the default. Turns the language on for the campaign if needed. | Customization: write | | `claimr_set_locales` | Sets which languages a campaign offers and which one it opens in. | Customization: write | English is the fallback for every other language. Changing an English text changes it everywhere a translation doesn't override it. Campaign, quest, and task descriptions are translated with the [description tools](/mcp/tools/campaigns#descriptions), not these. Related page: [Localization](/localization). # Export tools Source: https://docs.claimr.io/mcp/tools/exports Claimr MCP tools for setting up and starting CSV exports of participant data, which you then download in the Claimr admin panel. The assistant can set up and start a CSV export of your campaign's participant data, for example the wallets of everyone who took part in a quest. It never receives the file: when the export is ready, you download it in the Claimr admin panel. Exports use the **Segments and exports** permission area. | Tool | What it does | Access | | - | - | - | | `claimr_get_export_fields` | Lists what an export can contain: datasets, the conditions that choose participants with their operators and accepted values, activity filters, and columns. For one condition, it lists all accepted values, such as the country list. | Segments and exports: read | | `claimr_preview_export` | Counts how many participants and rows an export would include, without creating it. | Segments and exports: read | | `claimr_create_export` | Starts an export and returns a link to it in the admin panel. | Segments and exports: read | | `claimr_get_export_status` | Shows an export's progress and the link to it in the admin panel. | Segments and exports: read | ## How an export works Describe what you need, for example "Export the wallets of everyone who took part in the 'Go on-chain' quest but hasn't finished it." The assistant looks up the available conditions and columns, checks how many participants match, and starts the export. The assistant gives you a link to the export in the admin panel. Open it while signed in to Claimr. The **Export** drawer opens on that export. If the export is ready, click **Download**. If it's still running, the file downloads as soon as it's ready. Ask the assistant to preview the export first. The preview tells you how many participants and rows the file will have, so you can adjust the conditions before you start it. ## What an export can contain Each export has a dataset, which decides what one row of the file is: | Dataset | One row per | | - | - | | **Participants** | participant | | **Activity** | task, quest, reward, or withdrawal | | **Accounts** | connected account or wallet | | **Referrals** | referrer and referral pair | Conditions choose which participants are included. You can combine them so that participants must match **all** of them or **any** of them: * Completed tasks, completed quests, or quests they took part in. A participant took part in a quest if they did any of its tasks, even without finishing it. * Connected platforms, status (active or disqualified), team, and country. * Join date and last activity. * XP, custom points, and leaderboard rank. * Number of referrals, and the referral link they joined through. * Wallet score, social score, and wallet balance. * UTM source, campaign, and medium. An **Activity** export can also be limited to certain row types, tasks, quests, statuses, or dates. You choose the columns, or the assistant uses the default columns for the dataset. Exports use the published version of your campaign. Tasks and quests that aren't published yet can't be used in conditions. ## What the assistant sees The assistant only receives counts, column names, and a summary of the conditions. It never receives the file, any of its rows, participant names, wallets, or a download link. For the same reason, the assistant can't export a list of specific participants, such as wallets you paste into the chat. To export a list like that, open the **Export** drawer in the admin panel and paste the list there. Only a team member signed in to the admin panel, whose role can view users, can download an export. In the panel's export list, exports started by an assistant show the assistant's name in the **By** column. # Form tools Source: https://docs.claimr.io/mcp/tools/forms Claimr MCP tools for building forms and quizzes page by page and question by question. A form is a set of pages, and each page holds blocks: questions or pieces of content. Participants fill in a form through a form task. Forms use the **Rewards** permission area. ## Forms | Tool | What it does | Access | | - | - | - | | `claimr_get_forms` | Lists the forms of a campaign. Given a form name or ID, returns that form with all its pages and blocks. | Rewards: read | | `claimr_create_form` | Creates an empty form. | Rewards: write | | `claimr_update_form` | Changes a form's name or settings. | Rewards: write | | `claimr_delete` (kind `form`) | Deletes a form. Refuses while a task still uses it. | Rewards: write | ## Pages | Tool | What it does | Access | | - | - | - | | `claimr_add_form_page` | Adds a page, at the end or at a given position. A form needs a page before it can hold questions. | Rewards: write | | `claimr_update_form_page` | Changes a page. | Rewards: write | | `claimr_delete` (kind `form_page`) | Removes a page and every block on it. | Rewards: write | ## Blocks | Tool | What it does | Access | | - | - | - | | `claimr_add_form_block` | Adds a block to a page. | Rewards: write | | `claimr_update_form_block` | Changes a block. Answer options kept with the same text keep their ID, so responses already collected still line up. | Rewards: write | | `claimr_delete` (kind `form_block`) | Removes a block. | Rewards: write | Block types: * **text**: a short answer. * **long\_text**: a long answer. * **select**: a choice from a list of options. * **quiz**: a scored choice, with an explanation for each answer. * **desc**: formatted text between questions. * **youtube\_video**: an embedded YouTube video. ## Make the form reachable Participants only reach a form through a task. After the form is built, ask the assistant to create a form task that points at it, for example: > Create a quiz form with five questions about our product, then add a form task for it to the Learn quest. ## Responses The assistant can't read form responses, because they're participants' own answers. Open the form in the admin panel to see responses. See [Security and privacy](/mcp/security-and-privacy). Related pages: [Forms](/forms/overview), [Quizzes](/forms/quizzes), [Form tasks](/tasks/form-tasks). # Quest and task tools Source: https://docs.claimr.io/mcp/tools/quests-and-tasks Claimr MCP tools for groups, quests, tasks, task types, and pre-quests. These tools build the structure of a campaign: groups hold quests, and quests hold tasks. See [Claimr core components](/claimr-core-components) for how they fit together. ## Groups | Tool | What it does | Access | | - | - | - | | `claimr_get_groups` | Lists the groups of a campaign. | Campaigns: read | | `claimr_create_group` | Creates a group. A campaign needs at least one group before quests are shown. | Campaigns: write | | `claimr_update_group` | Changes a group's settings. | Campaigns: write | | `claimr_delete` (kind `group`) | Removes a group. Its quests stay in the campaign, unattached. | Campaigns: write | Related pages: [Groups](/groups/overview), [Group settings](/groups/group-settings). ## Quests | Tool | What it does | Access | | - | - | - | | `claimr_get_quests` | Lists the quests of a campaign, or of one group. Given a quest slug or ID, returns that quest with its tasks. | Quests: read | | `claimr_create_quest` | Creates a quest and places it in a group. Without a group, the quest is created but participants won't see it. | Quests: write | | `claimr_update_quest` | Changes a quest's settings. | Quests: write | | `claimr_move_quest` | Moves a quest to another group, or to a new position in its group. | Quests: write | | `claimr_reorder_quest_tasks` | Sets which tasks a quest holds and in what order. Tasks left out are detached but stay in the campaign. | Quests: write | | `claimr_delete` (kind `quest`) | Deletes a quest. Its tasks stay in the campaign. | Quests: write | Related pages: [Quests](/quests/overview), [Quest settings](/quests/quest-settings). ## Task types Claimr supports more than 200 task types across X, Discord, Telegram, Reddit, TikTok, YouTube, LinkedIn, Instagram, Facebook, Web3 wallets and chains, exchanges, forms, API checks, and more. The assistant uses these tools to find the right type and the fields it needs. | Tool | What it does | Access | | - | - | - | | `claimr_get_task_types` | Browses task types. Filter by platform or keyword, for example "twitter", "discord", "web3", or "quiz". Given a type, shows the fields it takes, which are optional, and an example. | None | Ask the assistant "Which task types can reward Telegram activity?" to explore what's available before you plan a quest. ## Tasks | Tool | What it does | Access | | - | - | - | | `claimr_get_tasks` | Lists the tasks of a campaign, or of one quest. Given a task name or ID, returns that task with its full settings. | Quests: read | | `claimr_create_task` | Creates a task and attaches it to a quest. Returns any issues Claimr found in the task's settings. | Quests: write | | `claimr_update_task` | Changes a task's settings. Returns any issues Claimr found. | Quests: write | | `claimr_delete` (kind `task`) | Deletes a task and detaches it from every quest. | Quests: write | Related pages: [Tasks](/tasks/overview), [Task settings](/tasks/task-settings). ## Pre-quests Pre-quests are claimed on the pre-launch page, before the campaign opens. They bank XP and points for participants. | Tool | What it does | Access | | - | - | - | | `claimr_get_pre_quests` | Lists the pre-quests of a campaign, active ones first. Given a pre-quest name or ID, returns that one. | Quests: read | | `claimr_create_pre_quest` | Creates a pre-quest and shows it on the pre-launch page. | Quests: write | | `claimr_update_pre_quest` | Changes a pre-quest. | Quests: write | | `claimr_set_active_pre_quests` | Sets which pre-quests the pre-launch page shows, and in what order. The rest move to the pool. | Quests: write | | `claimr_delete` (kind `pre_quest`) | Deletes a pre-quest. XP and points already claimed stay with participants. | Quests: write | # Raffle and tournament tools Source: https://docs.claimr.io/mcp/tools/raffles-and-tournaments Claimr MCP tools for creating raffles and drawing winners, and for running tournaments. Raffles and tournaments include actions that can't be undone, such as drawing raffle winners or ending a tournament. Your AI assistant asks you to confirm these. Read the confirmation carefully. ## Raffles A raffle draws winners from the participants who meet its requirements. Raffles use the **Rewards** permission area. A raffle tied to a tournament also needs **Tournaments** access. | Tool | What it does | Access | | - | - | - | | `claimr_get_raffles` | Lists the raffles of a campaign. | Rewards: read | | `claimr_create_raffle` | Creates a raffle. Nobody is entered until the draw runs. | Rewards: write | | `claimr_update_raffle` | Changes a raffle. Requirements only matter until the draw runs. | Rewards: write | | `claimr_close_raffle` | Runs the draw: enters every participant who meets the requirements, ranks them, and closes the raffle. | Rewards: write | | `claimr_set_raffle_candidate` | Disqualifies a drawn candidate, or puts them back in. Ranks around them don't move. | Rewards: write | | `claimr_complete_raffle` | Marks a drawn raffle as completed once its winners are settled. The campaign must have been published at least once. | Rewards: write | | `claimr_delete` (kind `raffle`) | Deletes a raffle and its draw. | Rewards: write | Raffles rank candidates in one of three ways: * **Top**: ranks candidates by XP. * **Random**: ignores XP. * **Normalized**: random, weighted by XP, so more XP means better odds. Drawing a raffle decides the winners. It can't be undone or run again. Related page: [Raffles](/extra/raffles). ## Tournaments A tournament scores participants on what they earn between its start and end. A campaign can run one tournament at a time. | Tool | What it does | Access | | - | - | - | | `claimr_get_tournaments` | Lists the tournaments of a campaign. Given a tournament name or ID, returns that one. | Tournaments: read | | `claimr_create_tournament` | Creates a tournament. Leave quests and tasks empty to score the whole campaign, or pick some to score only those. | Tournaments: write | | `claimr_update_tournament` | Changes a tournament. Scores already earned aren't rewritten. | Tournaments: write | | `claimr_start_tournament` | Starts a tournament and records every participant's starting point. A tournament can only be started once. | Tournaments: write | | `claimr_end_tournament` | Ends a tournament and freezes the standings. | Tournaments: write | | `claimr_delete` (kind `tournament`) | Deletes a tournament. A running tournament has to be ended first. | Tournaments: write | Ending a tournament can't be undone. Related page: [Tournaments](/extra/tournaments). ## Winners and standings The assistant can't list raffle candidates, raffle winners, or tournament standings, because those include participants' personal data. Open the raffle or tournament in the admin panel to see them. See [Security and privacy](/mcp/security-and-privacy). # Reward tools Source: https://docs.claimr.io/mcp/tools/rewards Claimr MCP tools for tiers, prize pools, items, daily check-ins, and teams. These tools set up how participants progress and what they earn. All of them use the **Rewards** permission area. ## Tiers Tiers are XP levels participants climb through. Each tier's XP range is the XP earned inside that tier alone, so tiers stack: three tiers with a range of 100 XP unlock at 100, 200, and 300 XP. | Tool | What it does | Access | | - | - | - | | `claimr_get_tiers` | Lists the tiers of a campaign, in order. | Rewards: read | | `claimr_create_tier` | Adds a tier, at the end or at a given position. | Rewards: write | | `claimr_update_tier` | Changes a tier. Changing its XP range shifts the required XP of every tier after it. | Rewards: write | | `claimr_reorder_tiers` | Sets the order of the tiers. | Rewards: write | | `claimr_delete` (kind `tier`) | Removes a tier. The tiers after it move up. | Rewards: write | Related page: [Ranks](/extra/ranks). ## Prize pools A prize pool pays out leaderboard positions in brackets, for example places 1 to 3 get one prize and places 4 to 10 get another. | Tool | What it does | Access | | - | - | - | | `claimr_get_prize_pools` | Lists the prize pools of a campaign. | Rewards: read | | `claimr_create_prize_pool` | Adds a prize pool with its brackets. | Rewards: write | | `claimr_update_prize_pool` | Changes a prize pool. Passing brackets replaces the whole payout table. | Rewards: write | | `claimr_delete` (kind `prize_pool`) | Removes a prize pool. | Rewards: write | ## Items Items are consumables participants spend on tasks, for example a spin of a fortune wheel. Each participant has their own balance. | Tool | What it does | Access | | - | - | - | | `claimr_get_items` | Lists the items of a campaign. | Rewards: read | | `claimr_create_item` | Adds an item. A simple item gives a fixed number of uses; a recurrent item refills every period. The item ID can't be changed later. | Rewards: write | | `claimr_update_item` | Changes an item. | Rewards: write | | `claimr_delete` (kind `item`) | Removes an item. Tasks that use it stop working. | Rewards: write | ## Daily check-ins Each day of the check-in streak pays XP or rewards. The list repeats once a participant's streak outgrows it. | Tool | What it does | Access | | - | - | - | | `claimr_get_daily_rewards` | Lists the check-in days, in order. | Rewards: read | | `claimr_create_daily_reward` | Adds a day, at the end or at a given position. | Rewards: write | | `claimr_update_daily_reward` | Changes a day. | Rewards: write | | `claimr_reorder_daily_rewards` | Sets the order of the days. | Rewards: write | | `claimr_delete` (kind `daily_reward`) | Removes a day. The streak gets one day shorter before it repeats. | Rewards: write | Related page: [Daily check-ins](/extra/daily-check-ins). ## Teams Participants pick or are assigned a team, and the leaderboard can be split by team. | Tool | What it does | Access | | - | - | - | | `claimr_get_teams` | Lists the teams of a campaign. | Rewards: read | | `claimr_create_team` | Adds a team. | Rewards: write | | `claimr_update_team` | Changes a team. | Rewards: write | | `claimr_delete` (kind `team`) | Removes a team. Participants on it show an unknown team until they're moved. | Rewards: write | # Segment tools Source: https://docs.claimr.io/mcp/tools/segments Claimr MCP tools for building saved audience filters that tag participants by who they are and what they did. A segment is a saved audience filter. Participants who match it get tagged with it, so you can slice a campaign by location, XP, completed tasks, and more. Segments use the **Segments and exports** permission area. | Tool | What it does | Access | | - | - | - | | `claimr_get_segment_fields` | Lists the fields a segment can filter on, the operators each field allows, and the values each operator expects. For one field, it lists the accepted values, such as the country list for location. | Segments and exports: read | | `claimr_get_segments` | Lists the segments of a campaign. Given a segment name or ID, returns that segment with all its conditions. | Segments and exports: read | | `claimr_create_segment` | Creates a segment. | Segments and exports: write | | `claimr_update_segment` | Changes a segment. Passing conditions replaces all of them. | Segments and exports: write | | `claimr_delete` (kind `segment`) | Deletes a segment. | Segments and exports: write | ## How conditions combine Conditions are grouped. Each group combines its own conditions with **all** or **any**, and the segment combines its groups the same way. For example, "from Germany or France, and more than 100 XP" is two groups: 1. Location is Germany **or** location is France. 2. XP is more than 100. The segment matches when **all** groups match. ## When participants are tagged Participants are tagged on their next recalculation, not right away. After you delete a segment, participants keep its tag until their next recalculation. Segment tools work with filters, not people. The assistant can't list the participants in a segment. # Troubleshooting Source: https://docs.claimr.io/mcp/troubleshooting Fix common Claimr MCP errors: sign-in problems, missing organizations or campaigns, and access errors. ## "MCP access is not enabled for this organization yet" Your organization is still on the MCP waitlist. Contact [support@claimr.io](mailto:support@claimr.io) to request access. Once it's turned on, connections authorized for **All organizations** start working for it right away. For a connection limited to specific organizations, add the organization from your profile. See [Manage connections](/mcp/manage-connections). ## The consent screen shows no organizations * **"You don't belong to any organization yet."** Ask an organization admin to invite you to their team. * **"None of your organizations have MCP access yet."** Your organizations are on the waitlist. Contact support to request access. ## A campaign or organization is missing The assistant only sees what the connection was authorized for. If a campaign is missing: 1. Check that your role can open the campaign in the admin panel. 2. Open **My MCP connections** in your profile and check the connection's organizations and campaigns. Add the missing ones. See [Manage connections](/mcp/manage-connections). A connection authorized for **Specific campaigns** doesn't pick up campaigns created later, including campaigns the assistant creates itself. Add new campaigns to the connection from your profile. Connections authorized for **All campaigns** include new campaigns automatically. ## "Access denied" Your team role doesn't allow this action in this organization or campaign. Ask an organization admin to change your role. See [Team roles and management](/team-roles-and-management). ## "This MCP connection is not authorized for this campaign" The campaign isn't one of the campaigns chosen for this connection. Edit the connection from your profile and add the campaign. ## "This MCP connection has no write access to Quests" The connection has **Limited access** and doesn't include this area or level. The message names the area, for example **Quests**, **Rewards**, or **Customization**. Edit the connection from your profile and turn on the permission you need. If an organization admin removed the permission from the organization's **API** page, it was removed on purpose. Check with them before adding it back. ## The assistant asks you to sign in again This happens when: * The connection was revoked from your profile or by an organization admin. * The connection wasn't used for 90 days. * Your assistant lost its saved sign-in. Reconnect and authorize again. See [Authorize a connection](/mcp/authorize-a-connection). ## "This authorization request expired" The sign-in page stayed open for more than 10 minutes between signing in and clicking **Authorize**. Start the connection again from your assistant. ## Sign-in fails * Use the same email and password, or the same Google account, you use for the Claimr admin panel. * If you forgot your password, reset it first. See [Reset password](/getting-started/reset-password). ## The assistant says a task has issues Claimr saved the task but couldn't verify part of its settings, for example an X account that doesn't exist. Ask the assistant to show the issues, fix the settings, and update the task. ## Still stuck Email [support@claimr.io](mailto:support@claimr.io) with the name of your AI assistant, the organization and campaign, and the exact error message. # Completion pop-up Source: https://docs.claimr.io/pop-ups/completion-pop-up Enable and design a completion pop-up for a group, quest, or task, and preview how it appears after a user succeeds. A **Completion pop-up** is a custom message that appears to users after they successfully complete a task or a full quest within your Claimr campaign. It's an excellent way to thank users, provide final instructions, or direct them to the next steps. You can include text, images, and even create multiple screens for a detailed post-completion experience. ## Why use completion pop-ups? Implementing a completion pop-up can significantly enhance the user experience: * **Acknowledge completion**: Provide immediate confirmation and appreciation for completing a task or quest. * **Provide next steps**: Guide users to subsequent actions, such as claiming rewards or starting a new quest. * **Create a memorable experience**: Offer a branded and tailored message at the point of success. ## Configure completion pop-up You can configure a completion pop-up directly within the settings of a **Group of quests**, a specific **Quest**, or an individual **Task**. * Go to your **Groups of quests** section and select the group, OR * Go to your **Quests** section, click on the quest, and then click on the specific task. Once in the desired Group, Quest, or Task settings, locate the section dedicated to **Completion pop-up**. Turn on the toggle (it should turn green). Completion pop-up toggle Click **+ Create**. This will open a text editor where you can type your message and format it. You can add description tags to your pop-up. For more details on descriptions and tags, visit the [Descriptions: creation, usage, tags](/descriptions-creation-usage-tags) article. After you have designed your pop-up content, remember to click **Save changes** and **Update** settings to apply your changes. Completion pop-up content editor ## Preview your pop-up It's important to see how your completion pop-up will look to users: * Use your campaign's **Preview mode**, accessible from the main campaign settings page or dashboard. * Complete the associated task or quest in preview mode. When you successfully complete it, you should see your custom pop-up appear. # Intro pop-up Source: https://docs.claimr.io/pop-ups/into-pop-up Build a custom form with Claimr's Forms feature, assign it as your campaign's intro pop-up, and preview the onboarding flow. An **Intro pop-up** is a custom message or sequence of messages that appears to users when they first enter your Claimr campaign. It's built using Claimr's **Forms** feature and is an excellent way to welcome users, provide essential information, or set the stage for your campaign before they access the main quests and tasks. You can include text, images, and create multiple pages for a more detailed onboarding experience. ## Why use intro pop-ups? Implementing an intro pop-up can significantly enhance the user experience: * **Onboard new users**: Smoothly introduce users to the campaign's purpose, theme, or how to participate. * **Guide users**: Provide initial instructions or context before users dive into tasks. Clearly communicate crucial rules, guidelines, or prerequisites upfront. * **Create a customized start**: Offer a branded and tailored welcome experience. ## Create and implement an intro pop-up Setting up an intro pop-up involves two main stages: creating a custom form and assigning it to your campaign. ### 1. Create the custom form for your pop-up First, you need to design the content of your pop-up using the **Forms** feature. Go to the **Forms** section in your Claimr dashboard. Forms section navigation Click **Create form**. A new form preset will open, providing a starting point for your design. Create form preset Write a caption and click **+ Page** to begin designing your form. This will add your first page. To include a welcome message, instructions, images, or any other introductory content, click **+ Block** and select the **Rich Text** block type. Add Rich Text block Click **Add block** for the Rich Text type. This will immediately open the **Block settings** window, which functions as a text editor. Here, you can type your welcome message and use the toolbar to format your text. For more details on descriptions and tags, visit the [Descriptions: creation, usage, tags](/descriptions-creation-usage-tags) article. Block settings text editor For pop-ups that require multiple screens, you can add more pages to your form by clicking **+ Page** again. Users will then move through these screens using a navigation button. The text on the button used to move between pages (e.g., "Next," "Continue," "Got it!") is configured manually when you set up the form's pagination within the Form builder. Form pagination button text Once your form content is ready, give it a memorable name and save it. ### 2. Assign the form as an intro pop-up After your custom form is created and saved: Navigate to the specific **Campaign** where you want to use this pop-up. Go to the campaign **Settings**. Select the **Campaign flow** section from the settings menu. Click the dropdown menu for **Intro Pop-up** and select the custom form you created above. Intro Pop-up dropdown in campaign flow settings Click **Update** to save your changes. ### 3. Preview your intro pop-up It's important to see how your campaign will look to users: 1. Use your campaign's **Preview mode**, accessible from the main campaign settings page or dashboard. 2. When you start the campaign in preview, you should see your custom form appear as a pop-up immediately over the main campaign interface. 3. Click through all the pages of your pop-up (if you created a multi-page form) to ensure the content and navigation buttons work as expected. 4. After closing or completing the intro pop-up, you should then see the main content of your campaign. # Pop-ups Source: https://docs.claimr.io/pop-ups/overview See what intro and completion pop-ups can do to onboard, guide, and celebrate progress with your campaign participants. Pop-ups are dynamic, customizable messages that appear over your Claimr campaign's main content at specific moments. They are a powerful tool for engaging with users, delivering key information, and guiding their experience within your campaign. ## What types of pop-ups does Claimr offer? Claimr provides two main types of pop-ups, each designed for a different stage of the user journey: * **Intro pop-up**: This pop-up appears to users when they first enter your Claimr campaign. It serves as a welcome screen or an initial information delivery method. * **Completion pop-up**: This pop-up displays to users after they successfully complete a task or an entire quest within your campaign. It acts as a confirmation or a next-step guide. ## Why use pop-ups in your campaign? Implementing pop-ups can significantly enhance your campaign's effectiveness and user experience: * **Onboard and guide users**: Pop-ups allow you to smoothly introduce new users to your campaign's purpose, theme, or how to participate. They can provide initial instructions, crucial rules, guidelines, or prerequisites before users dive into tasks. * **Enhance engagement**: By delivering timely and relevant messages, pop-ups can increase user interaction and ensure they receive critical information at important points in their journey. * **Improve user experience**: Pop-ups create a customized and tailored experience, from welcoming users at the start to acknowledging their achievements at the end. * **Provide feedback and next steps**: Completion pop-ups are particularly useful for confirming successful actions, thanking users, providing final instructions, or directing them to subsequent activities like claiming rewards. Welcome users and set the stage before they access your campaign's quests and tasks. Celebrate a completed task or quest and guide users to their next step. # Create new quest Source: https://docs.claimr.io/quests/create-new-quest Build engaging quest journeys that guide your users through rewarding experiences in your campaign. ## Before you start Make sure you have: * An active campaign in Claimr * A quest group created (or you'll create one during this process) * A clear idea of what you want users to accomplish in this quest ## Create your quest From your Claimr main panel, click **Campaigns** in the header menu. Choose the campaign where you want to add the quest and click on it. In the campaign header menu, click the **Quests** tab. You'll see all quest groups you've created for this campaign. Quest groups list If you don't have an appropriate group for your quest yet: 1. Click the **Create Group** button on the right 2. Give your group a descriptive name (e.g., "Social Tasks" or "Onboarding Journey") 3. Click **Create** Your new group will appear in the quest groups list. Click **+ Create quest** within your chosen quest group. A pop-up window will appear with the quest creation form. Create quest form Configure the essential settings for your new quest: * **Quest name**: Enter a catchy, memorable name that clearly describes what users will do. Examples: "Social starter", "Daily login bonus", "Invite your friends" * **Completion Points**: Set the base points users earn for completing this quest. Use the quick-select buttons (1, 2, 5, 10, 15, 25, 50, 100) or type a custom amount. Consider the effort required and your overall reward structure. * **Points multiplier (%)**: Add a percentage bonus to boost the reward. Use quick-select buttons (1%, 2%, 5%, 10%) or enter a custom percentage. Example: Setting 5% on 100 points gives users 105 points total. * **Quest short description**: Write a brief summary of what this quest involves. This appears on the quest card in your campaign. Tell users what they'll do and what they'll gain. Keep it clear and engaging. * **Quest image**: Upload a visual that represents your quest. Click **Upload** to choose an image from your computer. Use eye-catching visuals that match your quest theme. Click the **Create quest** button at the bottom of the pop-up. You'll be redirected to the quest settings page. Start with simple quests to test your reward structure before building complex multi-task journeys. You can always add more depth later. ## Next steps Configure your quest in detail: 1. **Add tasks** - Create the specific actions users will complete 2. **Configure Quest Settings** - Set up rules, dependencies, and advanced options. See [Quest settings](/quests/quest-settings). 3. **Set up rewards** - Define what users earn beyond base points # Quests Source: https://docs.claimr.io/quests/overview Start building Claimr quests today and watch your community thrive - see what quests can do and where to start. Quests transform your marketing goals into interactive journeys. Guide your audience through engaging experiences that make them want to explore your brand, products, and services. ## What you can do with Claimr quests **Turn goals into games**: Convert your marketing objectives into exciting challenges. Make every interaction fun and rewarding, keeping users engaged from start to finish. **Guide users to take action**: Direct participants through specific activities aligned with your goals - whether you're building brand awareness, driving traffic, or boosting social engagement. **Understand your audience**: Track how users move through your quests and what they respond to. Gain insights into their preferences, interests, and behavior patterns. **Reward participation**: Offer compelling incentives that match your audience's interests: NFTs, tokens, exclusive access, discounts, or custom rewards that keep users coming back. **Build community**: Create shared experiences that bring your audience together. Foster a sense of belonging as users complete quests alongside others who share their interests. Build a quest journey from scratch. Configure rewards, rules, and display options for a quest. # Quest settings Source: https://docs.claimr.io/quests/quest-settings Configure every aspect of your quest to create engaging experiences that align with your campaign goals. ## Before you start Make sure you have: * A quest already created in your campaign * A clear understanding of what you want users to accomplish * Your reward structure planned out ## Access quest settings In your Claimr panel, click **Quests** in the campaign header menu. You'll see all quest groups you've created. Find the quest you want to configure and click on it. The quest settings page will open. ## Quest settings overview The settings page is organized into collapsible sections. **General settings** is expanded by default, while other sections start collapsed. Click the **+** icon next to any section to expand it and configure those settings. Quest settings overview ## General settings This section contains the core identity and presentation elements of your quest. Quest general settings **Quest ID**: Your quest's unique identifier. Click the copy icon to copy it to your clipboard. Use this ID for API integrations or technical tracking. **Name**: The public-facing title of your quest. Click the name to edit it directly. Make it catchy and memorable. Keep it concise (2-5 words works best). **Quest image**: The main visual for your quest card. Choose images that represent your quest's theme. * Click the image thumbnail to edit or replace it * Click the trash icon to remove the current image **Short description**: A brief summary that appears on the quest card. * Click the text to edit it directly * Explain what users will do and what they'll earn * Keep it under 2 sentences * Click the trash icon to remove it ### Description Add a full description that explains your quest's goals, rewards, and what users should expect. 1. Click **+ Description** 2. The text editor opens with formatting options 3. Write your description using the formatting tools 4. Add links, images, or styled text as needed **Quest description tags** Personalize your quest descriptions and dynamically display information relevant to each user, making the quest experience more engaging and tailored. 1. **Insert the tag**: Simply type the tag directly into the text editor when creating or editing the quest description. 2. **Save your changes**: Once you've added the tags, save your changes to the quest description. 3. **View the result**: When a user views the quest, the tags will be dynamically replaced with the corresponding information. To find more information about tags, visit [Descriptions: creation, usage, tags](/descriptions-creation-usage-tags). **Animation** Customize the visual presentation of your description using the Animation type setting. Select **typing** from the available animation types. When selected, the description displays with a typing animation in the widget. **Collapse description** Control the initial visibility of your quest description. Use this to keep your quest page clean and uncluttered while still giving interested users the option to learn more. * **Toggle off**: The full description is visible to anyone viewing your quest. * **Toggle on**: The description is condensed, showing only a brief summary. Participants need to click **Show more** to expand and read the full description. ### Background image Use **Background image** to add a backdrop for your quest card. 1. Click **+ Background image** 2. Select **Upload** to choose an image from your computer 3. The image appears behind your quest content, adding visual depth ## Rewards Define the points, multipliers, and special rewards users earn for completing this quest. Quest rewards section **Points**: Enter the base number of points users earn for completing this quest. * Consider the effort required and your campaign's point economy * The field shows the current value **Points multiplier (%)**: Enter a percentage to add a bonus to the base points. * Example: 100 points with 5% multiplier = 105 total points * Use this to highlight important quests or run promotions * Click the trash icon to remove the multiplier **Rewards**: Click **+ Create** to open the reward creation dialog and define special rewards beyond points. Balance your reward structure to ensure it's both motivating and sustainable for your campaign. Too few points might not incentivize participation, while too many could deplete your reward pool quickly. ### Create a reward Create a reward form When you click **+ Create**, a form opens with these sections: **General** * **Short name**: Enter an internal name for your reference (e.g., "Reward name"). * **Description**: Explain what this reward is and why users want it. * **Image**: Click **Upload image** to add a visual representation of your reward. **Type** Select the reward type by clicking one of these buttons: * **Web3 Token** - Cryptocurrency or token rewards * **Discord Role** - Grant Discord server roles * **Resource** - Custom resource or asset * **Virtual Asset** - In-game or virtual items * **Invite Codes** - Access codes users can share * **Gift Codes** - Redeemable gift codes * **Scripted** - Custom scripted rewards * **Points** - Additional point rewards * **Badge** - Achievement badges * **Puzzle Piece** - Collectible puzzle elements **General configuration** Configuration options vary depending on the reward type you select. For detailed information about each reward type and its specific settings, visit [Rewards](/rewards/overview). ## Quest card details Customize how your quest appears in the campaign widget. Quest card details section **Labels**: Add tags that help categorize or filter this quest. * Click **Select tag** to choose from existing tags * Click the **x** to remove a tag **Quest card details**: Select the display style for your quest card from the dropdown menu: daily or default styles. This affects the visual presentation in your widget. **Progressbar UI**: Select how progress displays from the dropdown menu: default or segment. ### Button text customization Button text customization Customize the text that appears on quest buttons in different states. Click each button option to expand and edit. Click the trash icon to reset to default. * **Start button**: Edit the text shown when users first see the quest. * **Continue button**: Edit the text shown when users are in progress. * **Completed button**: Edit the text shown when the quest is finished. * **Locked button**: Edit the text shown when the quest isn't accessible yet. Use clear and concise button text that accurately reflects the action it triggers. This helps users understand the quest flow and avoid confusion. ## Quest rules Control when, how, and who can participate in your quest. Quest rules section Set clear time limits to create a sense of urgency and drive more engagement. Announce the time limit in your quest description and use reminders to encourage participation before the deadline. ### Limit quest time Toggle this on to set start and end dates for your quest availability. Limit quest time detail * **Start at**: Click the calendar icon to select when the quest becomes available. Users can't access the quest before this time. Click the **x** to clear the date. * **End at**: Click the calendar icon to select when the quest closes. Users can't start or continue after this time. Click the **x** to clear the date. ### Additional options Click the **+** icon to expand these options. * **Start quest without login**: Toggle this on to allow users to view and interact with the quest without logging in. Useful for preview or demo quests. * **Dependencies**: Set prerequisites users must complete before accessing this quest. Click to open the dependencies selector. * **Max participants**: Enter a number to limit how many users can complete this quest. The quest locks automatically when the limit is reached. Great for exclusive or limited-time rewards. ## Completion pop-up Show users a custom message when they finish your quest. Completion pop-up section **Enable completion pop-up**: Toggle this on to activate the completion message. **Pop-up configuration**: View and edit the message users see when completing the quest. Default text appears in the preview box. Use formatting, emojis, or links to make it engaging. **Animation type**: Select how the pop-up text appears from the dropdown menu. Use the completion pop-up to celebrate user achievements, guide them to the next quest, or promote special rewards they've unlocked. ## Advanced settings Manage visibility, metadata, and additional display rules for your quest. Quest advanced settings **Hide quest toggle**: Hide the quest from users while you're still configuring it or testing some tasks. The quest won't appear in the campaign widget. **Tags**: Enter a tag name in the field (e.g., `new_users`, `beta_testers`, `europe_only`). To add multiple tags, separate them with commas. To remove a tag, click the **x** next to its name. * **Organize and segment**: Use tags for internal categorization or to target content delivery (e.g., show this quest only to users who match the `new_users` tag passed in the script). * **Create phased experiences**: Unlock this quest progressively for users who acquire certain tags. * **A/B test content**: Direct different user segments to alternatively tagged quests. * **Manage access**: Restrict or grant access to this quest based on user tags. **Meta**: Add internal notes or tracking information not visible to users. Click in the "Type here" field to enter metadata. Use this for internal organization, notes, or reference IDs. This data is for your team's use only. Click the trash icon to clear the field. **Visible for**: Show this quest only to specific users by entering their wallet addresses or eIDs. Enter wallet addresses or eIDs in the "Type here" field, separated by commas. When you add users to this list, only those specific users will see this quest in your campaign. Leave this field empty to show the quest to everyone. Click the trash icon to clear the field and make the quest visible to all users again. **Attributes**: Add custom data attributes to enable advanced styling and unique customization for this specific quest. Enter custom attribute keys and values that your developer can use to apply unique CSS styling to this quest. This allows you to make individual quests look different from others in your campaign without affecting the rest. Click the edit icon to modify or the trash icon to remove attributes. ## Quest actions Manage your quest with these options available at the bottom of the settings page. * **Delete**: Click the trash icon to permanently remove this quest from your campaign. A confirmation prompt appears to prevent accidental deletions. This action cannot be undone. All quest data and user progress will be lost. * **Archive**: Click the download icon to archive your quest configuration. Save quest settings for future reference. Useful for backing up quest data before major changes. * **Clone**: Click the copy icon to create a clone of this quest. The copy appears in the same quest group. Useful for creating similar quests quickly or testing variations. Duplicate your quest before making major changes. This gives you a backup version in case you want to revert or compare different configurations. ## Saving your settings After you've configured all sections of your quest, all changes save automatically as you make them. Review all sections to ensure everything is correct, then test your quest in the widget to verify it works as expected. After setting up your quest, preview it in your campaign widget to see how users will experience it. Make adjustments based on how it looks and flows. ## What to do next Now that your quest is configured: 1. [Add tasks](/tasks/overview) - Create the specific actions users will complete within this quest 2. Monitor performance in [Data analytics](/data-analytics/overview) - Track how users engage with your quest # Custom rewards Source: https://docs.claimr.io/rewards/custom-rewards Use custom rewards to award points to users based on data you already have, outside of Claimr, via manual entry or CSV import. ## What are custom rewards? Custom rewards are a powerful feature that allows you to reward users based on information you already have about them, outside of Claimr. Instead of users earning rewards through actions within a Claimr campaign (like completing tasks), you directly assign points to specific users based on a pre-defined list. The primary use case for custom rewards is when you have an existing database of users (e.g., customers, subscribers, community members) and you want to: * **Onboard them to Claimr**: Give them an initial points balance to incentivize them to join your Claimr campaign. * **Reward prior activity**: Reward users for actions they've taken *outside* of Claimr (e.g., attending an event, being a long-time subscriber). * **Target specific segments**: Award points to a specific group of users based on criteria you define (e.g., VIP customers, users who have completed a specific action on your website). ## How custom rewards work Custom rewards involve associating three pieces of information: 1. **Platform**: The platform the user is on. 2. **Account**: A user identifier. This is how you link the reward to the correct user. 3. **Points**: The number of points you want to award to that user. You import this information to Claimr and Claimr automatically assigns the specified points to the corresponding users. ## Create rewards To create custom rewards, you'll import data from a CSV file. This allows you to reward users based on information you already have, without requiring them to perform actions within Claimr. Custom rewards CSV import Go to your Claimr dashboard and select the relevant campaign. Click on the **Rewards** tab and move to **Custom rewards**. Click the **Create** button. This will open a modal window for configuring the new custom reward. Create custom reward modal * **Platform**: Select the platform associated with the user you're rewarding. This helps categorize the reward. * **Account**: Enter the user's identifier on the selected platform. This could be a wallet address or another platform-specific identifier. Be precise to ensure the reward is assigned correctly. * **Points**: Enter the number of points you want to award to this user. * **Create the reward**: Click **Create** to finalize the process. Once created, the new reward will appear in the table of custom rewards. ## Import rewards Your CSV file should contain a column for user identifiers (wallet addresses and usernames) and a column for the number of points to award. You can have additional columns, but they are not required for the basic custom reward functionality. The header should say the name of columns. Click the **Import** button. This will open the modal window on the left. In the opened modal window, click the **Upload file** button and select the CSV file you prepared. CSV column mapping preview After uploading, Claimr will display a preview of your CSV data. This preview shows the first few rows of your file. Use the dropdown menus to map the columns in your CSV file to the required fields in Claimr: * **Address**: Select the column that contains the user identifiers (e.g., wallet addresses, usernames). Claimr will use this to match the rewards to the correct users. * **Points**: Select the column that contains the number of points to be awarded. If your columns are not automatically detected, select them manually. Once you've mapped the columns correctly, click **Import**. Claimr will process your CSV file and create the custom rewards, assigning the specified points to the corresponding users. # Rewards Source: https://docs.claimr.io/rewards/overview See what rewards can do for your campaigns and find your way into reward settings and custom rewards. A reward is something of value that you offer to users for completing specific tasks or achieving certain milestones within your campaign. It's a way to recognize and acknowledge their efforts, encouraging them to continue participating and striving for further accomplishments. Rewards play a crucial role in gamification by: * **Motivating users**: The prospect of earning rewards encourages users to engage with your campaign and complete tasks. * **Driving desired actions**: By associating rewards with specific actions, you can incentivize users to take those actions, such as signing up for a newsletter, making a purchase, or referring a friend. * **Increasing user retention**: Rewards create a sense of accomplishment and encourage users to stay active within your campaign, leading to higher retention rates. * **Building brand loyalty**: By offering valuable and desirable rewards, you can foster positive associations with your brand and build stronger relationships with your users. Define and configure the rewards you'll offer for completing quests and tasks. Award points to users based on data you already have, outside of Claimr. # Reward settings Source: https://docs.claimr.io/rewards/reward-settings Configure reward types, general settings, and type-specific fields for rewards attached to quests or managed independently. Claimr offers two primary ways to manage rewards for your campaigns: **Within Quest settings**: You can create and configure rewards directly within a specific quest. These rewards are automatically awarded when a user completes that quest. Create reward button within quest settings **Through the Rewards section**: You can create and manage rewards independently of any quest through the **Rewards** tab in your campaign dashboard. Create reward from the Rewards tab ## General settings When you click **Create reward**, the full reward configuration panel opens. It contains the following sections: Quest reward general settings panel **Short name** Create a public-facing name for your reward. **Description** Add a short summary to help identify the purpose of the reward. **Image** Upload an image to visually represent the reward. ## Reward type Select the reward type to define how it behaves and how it's delivered. Reward type section The available types are: * **Web3 Token**: a digital asset on a blockchain (e.g. ERC-20, NFT) * **Discord Role**: grants a role in a connected Discord server * **Resource**: a file or link (e.g. guide, document, video) * **Virtual Asset**: a digital item used in a game or virtual environment * **Invite Codes**: one-time codes that unlock access to gated services or communities * **Gift Codes**: redeemable codes for discounts or digital products * **Scripted**: custom logic via external scripts or API integrations * **Points**: adds points to the user's balance * **Badge**: grants a badge displayed on the user profile * **Puzzle Piece**: a collectible item used in puzzle-based campaigns Some reward types require additional setup. ## General configuration This section appears automatically if the selected reward type requires extra settings: **Web3 Token** * Select a network and environment (e.g. Ethereum → Mainnet) * Choose a contract address * Set the token value **Discord Role** * Add the Claimr bot to your Discord server * Select the server and fetch available roles **Resource** * Add the link to the resource **Virtual Asset** * Name the asset * Set the asset value **Invite Codes** * Set the number of codes to generate **Gift Codes** * Name the gift (e.g. "5% discount") * Set the number of codes **Scripted** * Configure the script in your developer dashboard **Points** * Set the number of points to be awarded **Badge** and **Puzzle Piece** do not require additional configuration. ## Finalizing your reward 1. Double-check all information to ensure accuracy. 2. Click **Create** to save the reward. To learn more about managing custom rewards through the Rewards section, visit the [Custom rewards](/rewards/custom-rewards) article. # SDK Source: https://docs.claimr.io/sdk-guide Use the Claimr SDK to integrate Claimr into your web application, customize its behavior, and create a more engaging and rewarding user experience. SDK (Software Development Kit) is a powerful tool that integrates Claimr's functionalities into your web application. It provides a set of methods and events that enable you to interact with the Claimr widget, customize its behavior, and enhance the user experience. ## Methods ### `complete_task(task_id, data)` This method allows you to mark a task as complete directly from your web application's front-end. This is useful for tasks that are completed outside of the Claimr widget, such as watching a video or visiting a specific page on your website. * The `task_id` parameter should be the unique identifier of the task you want to complete, which can be found in your Claimr admin panel. * The `data` parameter is optional. Pass an object to send extra information along with the completion, for example `{ video_id: 'intro' }`. This method only works for tasks of the **SDK FrontEnd** type. See [SDK tasks](/tasks/sdk-tasks). The widget must be on the page and loaded when you call this method. If the widget container is not rendered, or the widget has not finished loading, the call is ignored. Wait for `is_claimr_ready` to be `true` before calling it. See [Method readiness](/frameworks/overview#method-readiness). ### `connect_wallet(address, signature, message, chain, no_reset)` This method enables users to sign in to your Claimr campaign using their web3 wallet credentials. * The `address` parameter should be the user's wallet address. * The `signature` parameter should be the cryptographic signature generated by the user's wallet. * The `message` parameter should be the message that was signed by the user's wallet. * The `chain` parameter is optional and should identify the chain the wallet address/signature belongs to. * The `no_reset` parameter is optional. Pass `true` to prevent the widget from resetting the current session state when the wallet is reconnected. ### `destroy()` This method removes the Claimr widget instance from your web page. ### `get_user_info(campaign_id, public_key, account, platform)` This method retrieves information about a specific user from your Claimr campaign using the public API. * The `campaign_id` parameter should be the unique identifier of your campaign. * The `public_key` parameter should be the public key generated in your campaign's general settings. * The `account` parameter should be the user's account identifier. For web3 wallet addresses, use the address in lowercase. * The `platform` parameter should be the platform identifier. For web3 wallets, use "web3". ### `login(in_popup)` This method triggers the login dialog within the Claimr widget, allowing users to sign in to their Claimr account. * The `in_popup` parameter is optional. Pass `true` to open the login dialog inside the contest/leaderboard popup view instead of the main widget (only applies when that popup is available). ### `logout()` This method logs the user out of their Claimr account within the widget. ### `open_profile_popup()` This method opens the user's profile popup within the Claimr widget. ### `open_quest(quest_id)` This method opens a specific quest within the Claimr widget. * The `quest_id` parameter should be the unique identifier of the quest you want to open, which can be found in your Claimr admin panel. ### `platform_login(platform)` This method opens the widget's popup and triggers the login flow for a specific platform directly, skipping the general login menu. * The `platform` parameter should be the identifier of the platform to log in with (for example, a social provider configured in your campaign). ### `select_wallet(address)` This method tells the widget which of the user's already-connected wallet addresses should be treated as the active/selected one. * The `address` parameter should be the wallet address to select. ### `set_language(language)` This method changes the display language of the Claimr widget. * The `language` parameter should be a supported language code, such as `en` or `fr`. ### `set_theme(theme)` This method allows you to set the theme of the Claimr widget if supported by your CSS. * The `theme` parameter should be a string representing the desired theme. ### `set_user_token(token)` This method sets the user token generated by the Claimr API. This token is used to associate a user's actions within the Claimr widget with their account on your platform. * The `token` parameter should be the user token generated by the API. Refer to the [Claimr API documentation](/api-guide/user-token) for details on generating user tokens. ## Pre-quests Pre-quests let visitors earn XP and points on your site before they sign in to Claimr, for example for reading a page, watching a video, or finishing a tutorial. You create pre-quests in your campaign (or with the `claimr_create_pre_quest` [MCP tool](/mcp/tools/quests-and-tasks#pre-quests)), then claim them from your page with `claim_pre_quest()`. Claimr banks the rewards in a guest pre-session stored in the visitor's browser. When the visitor later signs in to the widget, the banked rewards move to their Claimr account. The SDK includes a built-in UI for this: * A **badge** in a corner of the page that shows the banked XP and points. It stays hidden until the visitor has banked something. * A **toast** for each award. * An optional **claim button** on the badge that sends the visitor to the page where they sign in and collect their rewards. Load the script on every page where you claim pre-quests. Claims and the badge work without a widget container, so the page does not need to render the widget itself. Pre-quest progress is stored in the visitor's `localStorage`, scoped to your organization and campaign. If your site asks for consent before storing data, load the script only after the visitor consents. `logout()` clears this data. ### `claim_pre_quest(quest_id)` This method claims a pre-quest for the current visitor and returns a promise. * The `quest_id` parameter should be the ID of the pre-quest. Claims run one at a time, in the order you call them. The promise resolves to: * `{ success: true, data }` when the claim is accepted. `data.xp` and `data.pts` hold the awarded XP and points. * `{ success: false }` when the claim is rejected or the request fails. * `{ success: false, skipped: true }` when the pre-quest can only be claimed once and this visitor already claimed it. On success, the badge updates, a toast appears (or `on_pre_quest_notification` is called), and `on_pre_quest_update` fires. ```js theme={"dark"} video.addEventListener('ended', async () => { const result = await window.claimr?.claim_pre_quest('PRE_QUEST_ID'); if (result?.success) console.log(`Banked ${result.data.xp ?? 0} XP`); }); ``` ### `configure_pre_quest(options)` This method changes the badge, toast, and claim button settings at runtime. It merges `options` into the current settings, so you only pass what you want to change. `options` can include: * `position`: badge corner. One of `top-left`, `top-right`, `bottom-left`, or `bottom-right` (default). * `toast_position`: corner for award toasts. Defaults to `bottom-right`. * `template`: toast text. Supports the `{amount}`, `{type}`, and `{reason}` placeholders. Defaults to `+{amount} {type} {reason}`. * `default_icon`: URL of the image shown on the badge and toasts. Absolute, relative, and `data:` URLs all work. * `types`: display settings per points type, as `{ [type_id]: { icon, label } }`. The `xp` type is labeled `XP` by default; other types default to their ID. * `event_labels`: toast reasons per pre-quest, as `{ [quest_id]: label }`. Used when the pre-quest has no short description. * `duration`: how long an award toast stays visible, in milliseconds. Defaults to `4000`. * `claim_url`: URL of the page where visitors sign in and collect their rewards. That page must render the widget. The claim button links there and adds the pre-session ID as a query parameter. * `claim_label`: claim button text. Defaults to `Claim rewards`. * `claim_target`: link target for the claim button. Defaults to `_blank`. * `claim_psid_param`: name of the query parameter that carries the pre-session ID. Defaults to `psid`. * `claim_threshold`: minimum banked XP before the claim button appears, as a number. To use other points types, pass an object such as `{ xp: 100, pts: 500 }`; the button appears when any one of the rules is met. Defaults to `0`. * `theme`: badge and toast colors, as an object with `background`, `color`, `accent`, `muted`, and `border` CSS color values. The claim button appears when the visitor has banked XP or points, has not yet signed in, meets `claim_threshold`, and either `claim_url` or `on_pre_quest_claim` is set. ```js theme={"dark"} window.claimr?.configure_pre_quest({ position: 'bottom-left', toast_position: 'bottom-left', claim_url: '/quests', claim_threshold: 50, types: { gems: { label: 'Gems', icon: '/images/gem.svg' } }, }); ``` To turn the badge and toasts off, add `data-pre-quest="false"` to the script tag. See [Pre-quest badge attributes](/widget/widget-attributes#pre-quest-badge). ### `set_pre_quest_pts(balance)` This method sets the displayed balance directly, without showing a toast or contacting the Claimr backend. * The `balance` parameter should be an object of amounts per points type, for example `{ xp: 120, gems: 3 }`. ### `get_pre_quest_xp()` This method returns the visitor's banked XP as a number. ### `get_pre_quest_psid()` This method returns the visitor's pre-session ID, or an empty string if they have not claimed anything yet. ### `get_pre_quest_history()` This method returns the visitor's most recent awards (up to 200) as an array of `{ ts, quest_id, pts, xp, balance }` objects, oldest first. ## Events ### `on_analytics_event` This event is fired when the widget emits an internal analytics event (for example, a page view or task completion). Use it to forward Claimr activity to your own analytics tools. ### `on_campaign_info` This event is fired when campaign information is loaded or updated within the widget. It receives the campaign info object. ### `on_campaign_error` This event is fired when the widget cannot show the campaign. It receives the error code, for example: * `not_published`: the campaign is not published yet. * `access_denied`: the current user does not have access to the campaign. * `blocked`: the user is visiting from a restricted region. The widget also shows its own message for these errors. Use this event to hide the widget area or show your own fallback. ### `on_campaign_loading` This event is fired when the widget starts loading the campaign. ### `on_campaign_revealed` This event is fired when the campaign content is rendered and visible in the widget, after its height has been applied. Use it to hide your own loading placeholder. ### `on_connect_wallet` This event is fired when the widget asks your parent application to handle a wallet connection, such as for custom wallet integration flows (for example, when `data-platform="dapp"`). Answer it by calling `claimr.connect_wallet(address, signature, message, chain)` once your wallet is connected - or implement `on_wallet_request` instead, where `connect` simply returns the address. Assigning this callback is what tells the widget your application can connect a wallet at all. Leave it unset and a connect request is refused straight away, rather than the widget waiting on an answer that isn't coming. ### `on_contest_open` This event is fired when a user opens any quest within the Claimr widget. ### `on_custom_login` This event is fired when a user logs in using the "custom" sign-in option. ### `on_disconnect_wallet` This event is fired when the widget asks your parent application to disconnect the currently connected wallet. ### `on_leaderboard_open` This event is fired when a user opens the leaderboard within the Claimr widget. ### `on_leaderboards_info` This event is fired when leaderboard data is loaded or updated. It receives the array of leaderboard entries. ### `on_logout` This event is fired when a user logs out of their Claimr account within the widget. ### `on_market_open` This event is fired when a user opens the market/store section within the Claimr widget. ### `on_pre_quest_claim` Assign a function to this event to handle clicks on the pre-quest claim button yourself. It receives an object with `url`, `psid`, `xp`, and `balance`. If `claim_url` is not set, assigning this callback is what makes the claim button appear, as a button instead of a link. If `claim_url` is set, the button stays a link and your callback runs as the visitor follows it. ### `on_pre_quest_notification` Assign a function to this event to replace the built-in pre-quest award toast with your own UI. When set, it's called instead of showing the default toast, and receives an object with `quest_id`, `pts`, `xp`, `balance`, `name`, `image`, and `short_desc`. ### `on_pre_quest_update` This event is fired after a successful `claim_pre_quest()` call that awarded XP or points. It receives the new `balance` and a details object with `quest_id`, `pts`, and `xp`. ### `on_wallet_request` The single callback for every wallet operation the widget needs your application to perform when `data-platform="dapp"`. It receives one object with an `op` field and returns (or resolves to) a result; throwing reports a failure, and the widget shows it rather than waiting. | `op` | Receives | Return | | - | - | - | | `connect` | `namespaces` - the chains the widget can act on, in preference order | `{ address, chain }` | | `sign_message` | `address`, `message` | `{ signature }` | | `send_transaction` | `chain_id`, `address`, `request`, `contract`, `method`, `args`, `abi`, `fee` | `{ hash }` | | `disconnect` | None | `{}` | ```js theme={"dark"} claimr.on_wallet_request = async ({ op, ...params }) => { if (op === 'connect') return { address: await connect(), chain: '1' }; if (op === 'sign_message') return { signature: await sign(params.message) }; if (op === 'send_transaction') return { hash: await send(params) }; if (op === 'disconnect') return disconnect(), {}; throw new Error(`unsupported: ${op}`); }; ``` `send_transaction` carries the transaction twice: `request` is the pre-encoded EIP-1193 call, and `contract` / `method` / `args` / `abi` describe the same call at the ABI level for hosts that rebuild it with their own library. Use whichever suits your integration. ### `on_request` Superseded by `on_wallet_request`, and still fully supported - it runs whenever `on_wallet_request` is not set, so existing integrations need no change. This event is fired when `data-platform="dapp"` and the widget needs your application to submit an on-chain request (transaction or signing request) using your own wallet integration. * Receives `chain_id`, `request`, `contract`, `method`, `args`, `abi`, and `fee`. * Should return (or resolve to) the resulting transaction hash as a string. Returning nothing is reported to the widget as a failure. ### `on_sign_message` This event is fired when the widget asks your parent application to sign a message with the connected wallet. Answer it by calling `claimr.connect_wallet(address, signature, message, chain)` - or implement `on_wallet_request` instead, where `sign_message` simply returns the signature. As with `on_connect_wallet`, assigning this callback is what advertises the capability: unset, a signature request is refused immediately instead of waiting. ### `on_user_info` This event is fired when the widget sends updated information about the currently logged-in user (for example, after login or a profile update). It receives the user object. ## Parameters ### `user` This parameter contains information about the currently logged-in user, such as their user ID, name, and email address. ### `campaign_info` This parameter contains information about the currently loaded campaign, populated after the `on_campaign_info` event fires. ### `is_claimr_ready` This read-only parameter is `true` while the widget is attached and loaded, and ready to receive method calls such as `set_language()` or `complete_task()`. It turns `true` at the same moment the loader posts a `widget::ready` message to your page, and back to `false` when the widget container is removed from the page or `destroy()` is called. See [Method readiness](/frameworks/overview#method-readiness). ### `pq` This parameter holds the current pre-quest state and settings: the banked `pts`, the pre-session `psid`, whether the progress is already `attached` to a Claimr account, and the options described under `configure_pre_quest()` above. Change it with `configure_pre_quest()` and `set_pre_quest_pts()` rather than mutating it directly. # Anti-bot tasks Source: https://docs.claimr.io/tasks/anti-bot-tasks Prevent automated submissions and ensure real users are interacting with your campaign using CAPTCHA verification and task dependencies. ## What are Anti-bot tasks? Anti-bot tasks in Claimr are designed to prevent automated submissions and ensure real users are interacting with your campaign. These tasks help you validate that a participant is a human (not a bot) before they proceed to more valuable or sensitive tasks in your quest. Use Anti-bot tasks to: * **Add a friction point**: Require users to complete a CAPTCHA check to filter out bots. * **Protect high-value tasks**: Set dependencies so that users must first pass the CAPTCHA before accessing reward-heavy or critical tasks. * **Improve campaign integrity**: Reduce the risk of fake completions or fraudulent submissions. For detailed information about general task settings, including task name, header, description, rewards, dependencies, and more, refer to our [Task Settings](/tasks/task-settings) article. ## Task type Choose the specific type of task you want to create for your campaign. Anti-bot task type selection 1. Go to your quest and click **+ Create new task**. 2. Select **Anti Bot** under **Identity and Proof of Humanity**. 3. Considering your aim, select the specific task type from the expanded list. 4. Click **Continue** to proceed to task settings. ## reCAPTCHA check Since reCAPTCHA tasks are focused on verification, they have only two task-specific configuration fields. reCAPTCHA task settings * **Completion points**: The number of points awarded once the user passes the CAPTCHA. * **Points multiplier (%)** *(optional)*: Boost the final reward by a percentage if needed. For example, setting 10% will give a user 110 points instead of 100. Once you're done: * Click **Create task** to save and add it to your quest right away. You'll now see the task listed in your quest. From there, you can reorder it, delete it, or edit it anytime. * Or, click **Advanced settings** to continue configuring more options specific to the selected task type. ## Control access using dependencies Want to use reCAPTCHA as a gatekeeper? Make completion of the Anti-bot task required before showing other tasks. To do this: 1. Go to the task you want to protect. 2. Open its **settings**. 3. Scroll to the **Dependencies** section. Dependencies section 4. In the **Open after tasks** field, select your reCAPTCHA task. 5. Make sure the reCAPTCHA task appears before the protected task in the campaign list. ## How it looks to users Users will first see the Anti-bot task. Once the task is completed: * Users instantly earn the points you've assigned * The system marks them as valid users * Any dependent task becomes visible and can be accessed immediately Anti-bot task, user view If the Anti-bot task is placed before high-value tasks in your campaign and properly linked with dependencies, users won't even notice the behind-the-scenes logic - just a smooth and secure experience. # API tasks Source: https://docs.claimr.io/tasks/api-tasks Connect your external application directly to Claimr's reward system and reward users for actions, values, or events that happen outside Claimr. ## What are API Tasks? The API task type allows you to connect your external application or platform directly to Claimr's reward system. These tasks listen for specific API calls from your platform and let you reward users for actions, values, or events that happen outside Claimr. **Use API tasks to:** * Reward users for actions performed in your own app or platform that are not native to Claimr. * Synchronize user progress and achievements from your external platform with their Claimr profile. * Track important metrics or activity data that reflect engagement in your product. * Create reward systems that react instantly to real-time data from your application. API tasks combine both event-based and value-based logic. When rewarding users based on continuous value streams, event counts, or specific actions with measurable results, your platform will use the `POST /stream/value` and `POST /action/value` methods. For details on how to set these up, see the sections on `POST /stream/value` and `POST /action/value` in the [API Methods](/api-guide/api-methods) article. For detailed information about general task settings, including task name, header, description, rewards, dependencies, and more, refer to the [Task settings](/tasks/task-settings) article. There are five main types of API tasks you can configure: * **Custom events count**: Track how many times a custom event occurred. * **Custom events value**: Track the total numeric value of a custom event. * **API number value**: Fetch and verify a numeric value returned by an API input. * **API stream value**: Track live data continuously sent from your API endpoint. * **API score**: Validate a user score returned by your API. ## Custom events count Custom events count task category selection Click **+ Create new task**. Under the Category section, select **API**. Choose **Custom Events Count** from the list of task types. Click **Continue** to proceed to task settings. Now move on to configuring the specific settings for your task. Custom events count task settings * **Completion points**: Set the number of points awarded once the user reaches the required event count. * **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 5% multiplier increases the final reward by 5%. * **Recurrence**: Control how often users can complete the task: * Once - can only be completed one time per user. * 8h - available once every eight hours. * Daily - available once every 24 hours. * Weekly - available once every 7 days. * Multiple - stays open and can be completed as many times as needed, one after another, without any waiting time. * **Event category (optional)**: A tag that helps you organize and group event types. * **Event name**: The exact event identifier being tracked. Example, "Session". * **Platform**: The platform or integration source that sends the event. For these tasks, "web3". * **Query (optional)**: A filter that defines which events should be counted based on specific parameters inside the event data. If a query is set, only events matching the filter are counted. For example, if your event contains `{"itemID": 2}`, a query like `[?itemId==2]` will count only those events where itemID equals 2. If no query is set, all received events are counted. * **Events count**: The minimum number of events required to trigger the reward. * **Start at (optional)**: The date and time when the task becomes active. If set, events that occur before this time are ignored. * **End at (optional)**: The date and time when the task stops being active. If set, events after this time are ignored. If both Start at and End at are defined, only events that occur within this period are counted. * **Claim button text (optional)**: Custom label for the task's claim button. Example: "Get your reward". * **Refresh button text (optional)**: Custom label for the button that updates task progress. Example, "Update". **Optional toggles** * **Hide progress?**: Hide progress information from the user interface. * **Is progressive reward?**: When enabled, the final reward scales based on how much the user exceeds the required event count. For example, if the expected count is 100 and the user reaches 300, they receive 3× the reward. This setting motivates users to continue performing actions beyond the minimum requirement. * **Is continuous?**: When enabled, the task remains open even after completion. Users can continue earning additional points each time they meet the task conditions again. This option also affects recurrence logic. **Example**: With daily recurrence and continuous off, all events are tracked and counted. With daily recurrence and continuous on, only events from the last 24 hours are considered. * **Max progressive count (optional)**: Set the maximum event count that can be used to calculate progressive rewards. If the user exceeds this number, the reward will still be capped at the maximum. For example, if the maximum progressive count is 1,000 and the user completes 10,000 events, they will receive the reward for 1,000 events only. Once you're done, click **Create task** to save and add it to your quest right away. You'll now see the task listed in your quest. From there, you can reorder it, delete it, or edit it anytime. Or click **Advanced settings** to configure additional options specific to this task type. ## Custom events value Custom events value task category selection Click **+ Create new task**. Under the Category section, select **API**. Choose **Custom Events Value** from the list of task types. Click **Continue** to proceed to task settings. Now move on to configuring the specific settings for your task. Custom events value task settings * **Completion points**: Set the number of points awarded once the total event value reaches the threshold. * **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. * **Recurrence**: Control how often users can complete the task: * Once - can only be completed one time per user. * 8h - available once every eight hours. * Daily - available once every 24 hours. * Weekly - available once every 7 days. * Multiple - stays open and can be completed as many times as needed, one after another, without any waiting time. * **Event category (optional)**: A tag that helps you organize and group event types. * **Event name**: The exact event identifier being tracked. Example, "Session". * **Platform**: The platform or integration source that sends the event. For these tasks, "web3". * **Query (optional)**: A path that extracts or filters the numeric value from incoming events. If a query is set, only the data that matches the filter will be used to calculate the total value. For example, a query like `[].data.bet` extracts the "bet" value from each event in a list of received data. If no query is set, all event values are included. * **Events value**: The minimum total value needed across all received events to trigger the reward. * **Start at (optional)**: The date and time when the task becomes active. If set, events that occur before this time are ignored. * **End at (optional)**: The date and time when the task stops being active. If set, events after this time are ignored. If both Start at and End at are defined, only events that occur within this period are counted. * **Claim button text (optional)**: Custom label for the task's claim button. Example, "Get reward". * **Refresh button text (optional)**: Custom label for the button that updates task progress. Example, "Update". **Optional toggles** * **Hide progress?**: Hide progress information from the user interface. * **Is progressive reward?**: When enabled, the final reward scales based on how much the user exceeds the required event value. For example, if the expected value is 100 and the user reaches 300, they receive 3× the reward. This setting is useful when the event contains numeric or quantity-based data, such as deposit amount, total bets, or items collected. * **Is continuous?**: When enabled, the task remains open even after completion. Users can continue earning additional points each time they reach the required value again. This option also affects recurrence logic. **Example**: With daily recurrence and continuous off, the total value is counted across all events. With daily recurrence and continuous on, only the value from the last 24 hours is considered. * **Max progressive value (optional)**: Set the maximum total value that can be used to calculate progressive rewards. If the user exceeds this number, the reward will still be capped at the maximum. For example, if the maximum progressive value is 1,000 and the user reaches 10,000, they will receive the reward for 1,000 only. Once you're done, click **Create task** to save and add it to your quest right away. You'll now see the task listed in your quest. From there, you can reorder it, delete it, or edit it anytime. Or click **Advanced settings** to configure additional options specific to this task type. #### Example of a query generated with AI **Prompt example**: Provide a JMESPath query to extract the `data.bet` attribute from each item in a list. **Prompt answer:** To extract the `data.bet` attribute from each item in a list using JMESPath, use the query `[].data.bet`: * `[]` - iterates over each element in the list. * `.data.bet` - accesses the `data.bet` attribute of each element. ```json theme={"dark"} [ { "data": { "bet": 100 } }, { "data": { "bet": 200 } }, { "data": { "bet": 300 } } ] ``` Result: ```json theme={"dark"} [100, 200, 300] ``` ## API number value API number value task category selection Click **+ Create new task**. Under the Category section, select **API**. Choose **API number value** from the list of task types. Click **Continue** to proceed to task settings. Now move on to configuring the specific settings for your task. API number value task settings * **Completion points**: Set the number of points awarded when the user completes the task. * **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 20% multiplier increases the final reward by 20%. * **Message (optional)**: Enter a message that can be displayed to the user upon successful completion. Example: "You earned `{api_user_value}` EpiValue out of `{api_min_value}` required." * **Min value**: Define the target score or XP value that a user needs to reach for this task to be considered complete. When the incoming value (received via API for this task) meets or exceeds this Min value, the task is marked as completed. * **Button Text (optional)**: Enter the text that will appear on the claim button for this task. Example: "Claim your reward". Once you're done, click **Create task** to save and add it to your quest right away. You'll now see the task listed in your quest. From there, you can reorder it, delete it, or edit it anytime. Or click **Advanced settings** to configure additional options specific to this task type. ## API stream value API stream value task category selection Click **+ Create new task**. Under the Category section, select **API**. Choose **API stream value** from the list of task types. Click **Continue** to proceed to task settings. Now move on to configuring the specific settings for your task. API stream value task settings * **Completion points**: Set the number of points awarded when the user completes the task. * **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. * **Message (optional)**: Enter a message that can be displayed to the user upon successful completion. Example: "Make purchases in the range `{api_min_value}`-`{api_max_value}`, at least `{api_event_count}` times for a total amount of at least `{api_total_value}`." * **Stream name**: Define a unique identifier for a group of tasks. Multiple tasks can share the same stream name to react collectively to API calls. Choose a meaningful name for your stream (e.g., sales\_stream, order\_processing). * **Min stream value**: Set the minimum value threshold. Any values passed by API calls below this limit will be ignored. Set this to the lowest value considered significant for your task (e.g., if values below 10 are irrelevant, set min stream value to 10). * **Max stream value**: Set the maximum value threshold. Any values passed by API calls above this limit will be ignored. Set this to the highest value that is relevant (e.g., if values above 1000 should be ignored, set max stream value to 1000). * **Expected success events count**: Define the minimum number of events within the specified Min stream value and Max stream value limits required to consider the task as completed. Specify the number of successful events needed (e.g., if at least 50 events are needed, set expected success event count to 50). * **Expected total success events value**: Specify the total sum of all events within the specified Min stream value and Max stream value limits required to consider the task as completed. Define the cumulative value needed for task completion (e.g., if the total value must be at least 5000, set expected total success events value to 5000). * **Button text (optional)**: Enter the text that will appear on the claim button for this task. Example: "Get reward". Once you're done, click **Create task** to save and add it to your quest right away. You'll now see the task listed in your quest. From there, you can reorder it, delete it, or edit it anytime. Or click **Advanced settings** to configure additional options specific to this task type. ## API score API score task category selection Click **+ Create new task**. Under the Category section, select **API**. Choose **API Score** from the list of task types. Click **Continue** to proceed to task settings. Now move on to configuring the specific settings for your task. These settings control how a user's score or points (XP) for this task are updated based on values received via an API, and what constitutes task completion. API score task settings * **Completion points**: The number of points awarded when the user completes the task. * **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. * **Message (optional)**: Enter a message that can be displayed to the user upon successful completion. * **Increment XP**: Determines how an incoming value (received via API for this task) affects the user's current XP or score. * If Increment XP is enabled: The incoming value is added to the user's current XP. New XP = Current XP + value. * If Increment XP is disabled: The incoming value replaces (overwrites) the user's current XP. New XP = value. * **Final score (optional)**: Enter the target score or XP value that a user needs to reach for this task to be considered complete. When the user's current XP for this task (calculated according to the Increment XP setting) reaches or exceeds this Final score, the task is marked as completed. #### Examples of Increment XP behavior Current XP = 80, incoming value = 20 * If Increment XP is on → New XP = 80 + 20 = 100 * If Increment XP is off → New XP = 20 #### Task completion example If Final score is set to 200: The task will be marked as complete when the user's current XP for this task becomes 200 or greater, regardless of whether Increment XP is on or off (as it only affects how the current XP is calculated with each new value received). Once you're done, click **Create task** to save and add it to your quest right away. You'll now see the task listed in your quest. From there, you can reorder it, delete it, or edit it anytime. Or click **Advanced settings** to configure additional options specific to this task type. # Binance tasks Source: https://docs.claimr.io/tasks/binance-tasks Reward Binance users for connecting their account, passing KYC, trading, holding tokens and depositing onto the exchange. ## What are Binance tasks? Binance tasks let users connect their Binance account to Claimr through an API key they create on Binance. Claimr then reads the account to verify activity and reward it. There are 6 Binance task types: * **Connect Binance Account**: Link a user's Binance account with an API key. * **Binance KYC**: Verify that the connected account has completed identity verification. * **Binance BABT**: Verify KYC with no API key, from the Binance Account Bound Token in the user's wallet. * **Binance Trading Volume**: Track the spot volume the user traded over a time window. * **Binance Hold Token**: Check that the user holds at least a set amount of a token. * **Binance Deposit**: Check that the user deposited at least a set amount of a token onto Binance. The user connects the account once, with the **Connect Binance Account** task. Every other Binance task reuses that key, and asks for one only if none is stored yet. ## Connect Binance account 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Binance**. 4. Select **Connect Binance Account** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. Users create an API key in their Binance account settings and enter it in the task (API key and secret). Ask users to create a read-only key. Claimr only ever reads the account. Once the key works, Claimr stores it for the user's other Binance tasks and marks the task as complete. ## Binance KYC 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Binance**. 4. Select **Binance KYC** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. This task confirms that the connected Binance account has completed identity verification. Binance reports the verification status for the connected key. Claimr doesn't receive KYC data, only whether the account is verified. ## Binance BABT 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Binance**. 4. Select **Binance BABT** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Verification link (optional):** The page where users mint their BABT. This task checks that a wallet the user signed in with holds a Binance Account Bound Token (BABT) on BNB Chain. Only KYC-verified Binance users can mint one, so it proves a verified Binance account without any API key. A BABT that Binance revoked no longer counts. The same check is also available on the [Onchain KYC tasks](/tasks/onchain-kyc-tasks) page. ## Binance trading volume 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Binance**. 4. Select **Binance Trading Volume** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Symbol:** The spot trading pair, written the way Binance writes it (for example, `BTCUSDT`). To count several pairs, separate them with commas. Their volumes are added up, so pick pairs that share a quote currency. * **Volume:** The volume the user must reach, in the pair's quote currency. * **Maker volume only? (optional):** Count only trades where the user provided liquidity as a maker. * **Time, h (optional):** Count only trades from the last number of hours. * **Start at** and **End at (optional):** Count only trades between these dates. With no time window set, the task counts the last 90 days. * **Is progressive reward? (optional):** Scale the reward with how many times the user reaches the volume. Example: if 10 USDT of volume earns 2 points, 20 USDT earns 4 points. * **Max progressive amount (optional):** The highest volume used to calculate progressive rewards. Example: with a limit of 100,000 USDT, a user who trades 1,000,000 USDT still receives the reward for 100,000 USDT. * **Is continuous (optional):** Keep the task open after completion, so users keep earning as their volume grows. ## Binance hold token 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Binance**. 4. Select **Binance Hold Token** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Token:** The token ticker, for example `USDT`. * **Amount:** The amount of the token the user must hold. Claimr checks the balance when the user claims the task. Spot balances count, including tokens locked in open orders. ## Binance deposit 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Binance**. 4. Select **Binance Deposit** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Token:** The token ticker, for example `USDT`. * **Amount:** The amount the user must deposit, in the token. * **Network (optional):** Count only deposits that arrived on this network. Use the network name as Binance shows it. Leave it empty to count any network. * **Time, h**, **Start at** and **End at (optional):** Count only deposits made in this window. Only deposits the exchange has credited to the account count. Deposits older than 89 days are never counted, because some exchanges keep no older deposit history. # Binance tasks Source: https://docs.claimr.io/tasks/bitcoin-tasks Let users connect their Binance account to Claimr, verify KYC status, and calculate activity-based rewards from Binance data. ## What are Binance tasks? Binance tasks allow users to connect their Binance account to Claimr, verify their KYC status, and calculate activity-based rewards from Binance data. There are three main types of Binance tasks: * **Connect Binance Account**: Link a user's Binance account via API key. * **Binance KYC**: Verify that the connected account has completed KYC verification. * **Binance Trading Volume**: Track the user's total trading volume on Binance. Binance task types overview All Binance tasks belong to the Onchain Actions category and the Binance group. To set up the task: 1. Go to the Onchain Actions category. 2. Select Binance to filter the available options. 3. Considering your aim, select the specific task type. ## Connect Binance account 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Binance**. 4. Select **Connect Binance Account** from the list of task types. 5. Click **Continue** to proceed to task settings. Now move on to configuring the specific settings for your task. Connect Binance account task settings * **Completion points:** Set the number of points awarded when the user successfully connects their Binance account. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. Users must create an API key in their Binance account and connect it to Claimr. Follow the official Binance documentation to generate your key: [How to create API keys on Binance?](https://www.binance.com/en/support/faq/detail/360002502072) Once connected, Claimr automatically verifies the account and marks the task as complete. ## Binance KYC 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Binance**. 4. Select **Binance KYC** from the list of task types. 5. Click **Continue** to proceed to task settings. Now move on to configuring the specific settings for your task. Binance KYC task settings * **Completion points:** Set the number of points awarded when the user's Binance account is verified through KYC. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. For example, a 5% multiplier increases the final reward by 5%. This serves as an anti-sybil measure, confirming that the user is real and has completed Binance's identity verification process. Claimr doesn't receive KYC data directly, only the verified status. ## Binance trading volume 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Binance**. 4. Select **Binance Trading Volume** from the list of task types. 5. Click **Continue** to proceed to task settings. Now move on to configuring the specific settings for your task. Binance trading volume task settings * **Completion points:** Set the number of points awarded when the user reaches the required trading volume. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. * **Symbol:** Enter the trading pair symbol you want to track (for example, "BTC/USDT"). The exact symbol must match Binance's naming convention. * **Volume:** Define the total trading volume the user must reach for this task to be considered complete. * **Is progressive reward? (optional):** Enable this option to scale rewards based on how much the user exceeds the required trading volume. * For example, if 10 USD equals 2 points, then 20 USD equals 4 points. * The final reward increases proportionally with higher trading volumes. * **Max progressive amount (optional):** Set the maximum trading volume used to calculate progressive rewards. * For example, if the limit is 100,000 USD and the user trades 1,000,000 USD, they still receive the reward calculated for 100,000 USD. * This cap prevents disproportionate rewards for extremely large trading volumes. * **Is continuous (optional):** Enable this option to keep the task open after completion. Users can continue earning points each time they meet the task conditions again. Once you're done: Click **Create task** to save and add it to your quest right away. You'll now see the task listed in your quest. From there, you can reorder it, delete it, or edit it anytime. Or click **Advanced settings** to configure additional options specific to this task type. # Bitget tasks Source: https://docs.claimr.io/tasks/bitget-tasks Reward Bitget users for connecting their account, trading, holding tokens and depositing onto the exchange. ## What are Bitget tasks? Bitget tasks let users connect their Bitget account to Claimr through an API key they create on Bitget. Claimr then reads the account to verify activity and reward it. There are 4 Bitget task types: * **Connect Bitget Account**: Link a user's Bitget account with an API key. * **Bitget Trading Volume**: Track the spot volume the user traded over a time window. * **Bitget Hold Token**: Check that the user holds at least a set amount of a token. * **Bitget Deposit**: Check that the user deposited at least a set amount of a token onto Bitget. The user connects the account once, with the **Connect Bitget Account** task. Every other Bitget task reuses that key, and asks for one only if none is stored yet. ## Connect Bitget account 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Bitget**. 4. Select **Connect Bitget Account** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. Users create an API key in their Bitget account settings and enter it in the task (API key, secret and passphrase). Bitget doesn't report a key's permissions, so any working key is accepted. Ask users to create a read-only key. Bitget also doesn't report KYC status, so there is no Bitget KYC task. Claimr reads Bitget through its Unified Trading Account API. Accounts still on Bitget's Classic account mode can't be read. Once the key works, Claimr stores it for the user's other Bitget tasks and marks the task as complete. ## Bitget trading volume 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Bitget**. 4. Select **Bitget Trading Volume** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Symbol:** The spot trading pair, written the way Bitget writes it (for example, `BTCUSDT`). To count several pairs, separate them with commas. Their volumes are added up, so pick pairs that share a quote currency. * **Volume:** The volume the user must reach, in the pair's quote currency. * **Maker volume only? (optional):** Count only trades where the user provided liquidity as a maker. * **Time, h (optional):** Count only trades from the last number of hours. * **Start at** and **End at (optional):** Count only trades between these dates. With no time window set, the task counts the last 90 days. * **Is progressive reward? (optional):** Scale the reward with how many times the user reaches the volume. Example: if 10 USDT of volume earns 2 points, 20 USDT earns 4 points. * **Max progressive amount (optional):** The highest volume used to calculate progressive rewards. Example: with a limit of 100,000 USDT, a user who trades 1,000,000 USDT still receives the reward for 100,000 USDT. * **Is continuous (optional):** Keep the task open after completion, so users keep earning as their volume grows. ## Bitget hold token 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Bitget**. 4. Select **Bitget Hold Token** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Token:** The token ticker, for example `USDT`. * **Amount:** The amount of the token the user must hold. Claimr checks the balance when the user claims the task. The unified trading account and the funding account both count. Borrowed funds and trading bonuses don't count. ## Bitget deposit 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Bitget**. 4. Select **Bitget Deposit** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Token:** The token ticker, for example `USDT`. * **Amount:** The amount the user must deposit, in the token. * **Network (optional):** Count only deposits that arrived on this network. Use Bitget's chain name, for example `trc20` or `erc20`. Leave it empty to count any network. * **Time, h**, **Start at** and **End at (optional):** Count only deposits made in this window. Only deposits the exchange has credited to the account count. Deposits older than 89 days are never counted, because some exchanges keep no older deposit history. # Bybit tasks Source: https://docs.claimr.io/tasks/bybit-tasks Reward Bybit users for connecting their account, passing KYC, trading, holding tokens and depositing onto the exchange. ## What are Bybit tasks? Bybit tasks let users connect their Bybit account to Claimr through an API key they create on Bybit. Claimr then reads the account to verify activity and reward it. There are 5 Bybit task types: * **Connect Bybit Account**: Link a user's Bybit account with an API key. * **Bybit KYC**: Verify that the connected account has completed identity verification. * **Bybit Trading Volume**: Track the spot volume the user traded over a time window. * **Bybit Hold Token**: Check that the user holds at least a set amount of a token. * **Bybit Deposit**: Check that the user deposited at least a set amount of a token onto Bybit. The user connects the account once, with the **Connect Bybit Account** task. Every other Bybit task reuses that key, and asks for one only if none is stored yet. ## Connect Bybit account 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Bybit**. 4. Select **Connect Bybit Account** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. Users create an API key in their Bybit account settings and enter it in the task (API key and secret). Only read-only keys are accepted. If a key can trade or withdraw, the task refuses it and asks the user for a read-only key, so Claimr never stores a key that could move funds. Once the key works, Claimr stores it for the user's other Bybit tasks and marks the task as complete. ## Bybit KYC 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Bybit**. 4. Select **Bybit KYC** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. This task confirms that the connected Bybit account has completed identity verification. The task passes once Bybit reports KYC level 1 or higher. Claimr doesn't receive KYC data, only whether the account is verified. ## Bybit trading volume 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Bybit**. 4. Select **Bybit Trading Volume** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Symbol:** The spot trading pair, written the way Bybit writes it (for example, `BTCUSDT`). To count several pairs, separate them with commas. Their volumes are added up, so pick pairs that share a quote currency. * **Volume:** The volume the user must reach, in the pair's quote currency. * **Maker volume only? (optional):** Count only trades where the user provided liquidity as a maker. * **Time, h (optional):** Count only trades from the last number of hours. * **Start at** and **End at (optional):** Count only trades between these dates. With no time window set, the task counts the last 90 days. * **Is progressive reward? (optional):** Scale the reward with how many times the user reaches the volume. Example: if 10 USDT of volume earns 2 points, 20 USDT earns 4 points. * **Max progressive amount (optional):** The highest volume used to calculate progressive rewards. Example: with a limit of 100,000 USDT, a user who trades 1,000,000 USDT still receives the reward for 100,000 USDT. * **Is continuous (optional):** Keep the task open after completion, so users keep earning as their volume grows. ## Bybit hold token 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Bybit**. 4. Select **Bybit Hold Token** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Token:** The token ticker, for example `USDT`. * **Amount:** The amount of the token the user must hold. Claimr checks the balance when the user claims the task. The unified trading account and the funding account both count. Borrowed funds don't count. Accounts that aren't unified trading accounts can't be read. ## Bybit deposit 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Bybit**. 4. Select **Bybit Deposit** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Token:** The token ticker, for example `USDT`. * **Amount:** The amount the user must deposit, in the token. * **Network (optional):** Count only deposits that arrived on this network. Use Bybit's chain name, for example `TRX` or `ETH`. Leave it empty to count any network. * **Time, h**, **Start at** and **End at (optional):** Count only deposits made in this window. Only deposits the exchange has credited to the account count. Deposits older than 89 days are never counted, because some exchanges keep no older deposit history. # Block tasks Source: https://docs.claimr.io/tasks/common-tasks/block-tasks Guide users through a simple action like clicking a button or copying text before they can continue. ## What are Block tasks? Block tasks are used to guide users through a simple action before they can continue - such as clicking a button or copying a piece of text. They don't require any proof of completion, submissions, or account connections. Instead, Block tasks act as checkpoints in your quest, helping you control pacing, share static content, or confirm user interaction. **Use Block tasks to:** * Prompt users to take a manual step (e.g., copy a code, follow an instruction) * Add structural checkpoints between tasks * Distribute static information without validation or tracking ## Configure a Block task Block task type selection To configure a Block task in Claimr: 1. From your campaign dashboard, go to the **Quests** tab and click on the quest where you want to add a Block task. 2. On the quest settings page, click **+ Create new task**. 3. In the Category section, click **General**. 4. In the Groups section, click **Common**. 5. Select **Block** from the Tasks list. 6. Click **Continue**. ## Task settings After selecting the task type, move to the next page and configure the following fields: Block task settings * **Completion points**: Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. For example, if your completion points are set to 100 and your multiplier is 5%, the final reward is 105 points. * **Recurrence:** Control how often users can complete the task: * **Once** - can only be completed one time per user. * **Daily** - available once every 24 hours. * **Weekly** - available once every 7 days. * **Multiple** - the task stays open and can be completed as many times as needed, one after another, without any waiting time. Now you can configure options specific to Block tasks. * **Text to copy** - Add and customize the text that appears beside the button and can be copied to the clipboard. If left empty, only the button will be displayed. * **Show button?** - Enable this toggle if you want users to confirm the action by clicking a button. * **Button text** - Customize the label shown on the confirmation button. Only appears if "Show button?" is enabled. ## How Block tasks appear to users Block task, user view When users encounter a Block task, they see a simple interaction: * Instructions and user's reward * The text to copy, displayed as a clickable link (if set) * A button to confirm the action (if enabled) Clicking the button completes the task and grants the configured reward. If recurrence is set as Multiple, the user can repeat the action right away - the task resets automatically after each completion. **Pro tip**: Use Block tasks as educational checkpoints or to share important information (like referral codes, wallet addresses, or instructions) that users need to copy before proceeding to the next step. # Custom task Source: https://docs.claimr.io/tasks/common-tasks/custom-task Require users to submit a text-based answer as verification of completing a task. ## What are Custom tasks? Use Custom tasks to confirm that a user has completed an instruction that isn't directly trackable. These tasks let you define a required action (submitting a wallet address, pasting an ID, or entering a response) and optionally review it before approval. They're useful when you need flexibility, optional manual validation, or a free-form response. **Use Custom tasks to:** * Ask users to complete an off-platform action and paste proof * Collect responses in a short or long text field * Set up manual review with pending approval * Add flexible steps between or after verified actions For detailed information about general task settings, including task header, description, rewards, dependencies, and more, refer to [Task Settings](/tasks/task-settings). ## Configure a Custom task Custom task type selection To configure a Custom task in Claimr: 1. From your campaign dashboard, go to the **Quests** tab and click on the quest where you want to add a Custom task. 2. On the quest settings page, click **+ Create new task**. 3. In the Category section, click **General**. 4. In the Groups section, click **Common**. 5. Select **Custom Task** from the Tasks list. 6. Click **Continue**. ## Task settings After selecting the task type, move to the next page and configure the following fields: Custom task settings * **Completion points**: The number of points awarded when the user completes the task. * **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 20% multiplier increases the final reward by 20%. * **Recurrence**: Control how often users can complete the task: * **Once** - can only be completed one time per user. * **Daily** - available once every 24 hours. * **Weekly** - available once every 7 days. * **Multiple** - the task stays open and can be completed as many times as needed, one after another, without any waiting time. Now configure options specific to Custom tasks. * **Message** - Add a short instruction that will appear above the input field. This can include context about what the user should submit (e.g., "Enter your email" or "Paste your transaction ID"). * **WIP Message** - Add a message that will be shown while the task is pending approval. For example: "This task will be completed once your submission is reviewed." * **Auto confirm?** - Enable this toggle if you want the task to be automatically marked as complete once the user submits a response. If disabled, the task will stay in a "pending" state until manually approved. * **Long Text?** - Enable this toggle to change the input field from a single line to a multi-line text area. Useful for collecting longer responses. * **Button text** - Customize the label on the confirmation button (e.g., "Submit" or "Confirm"). * **Resubmit button text** - Customize the label for the button that appears if the user is asked to submit again. ### How Custom tasks appear to users When users encounter a Custom task, they see the following elements: * The instruction you set in the Message field * A single-line input or multi-line text box, depending on whether Long Text? is enabled * A button to confirm the submission Custom task, user view If Auto confirm? is enabled, the task will be marked as complete immediately after the user clicks the button. If disabled, the task remains in a pending state until it is manually reviewed. The user will see the WIP Message during this period. If recurrence is set as Multiple, users can repeat the action once it's confirmed - with no cooldown between submissions. **Pro tip**: Custom tasks are perfect for collecting user-generated information like wallet addresses, social media handles, or completion confirmations for off-platform actions. Enable manual review when quality control is important. # Daily checkin Source: https://docs.claimr.io/tasks/common-tasks/daily-checkin Reward users for returning to your quest day after day with configurable daily rewards. ## What are Daily checkin tasks? Reward users for returning to your quest day after day. Each day, they can click a button to claim a reward: either points, off-chain assets, or both. You can configure different rewards for each day and display a visual calendar to track progress. These tasks are useful for building engagement streaks and rewarding consistency. **Use Daily Checkin tasks to:** * Encourage users to return every day * Set escalating or rotating rewards * Build habit loops and campaign momentum * Track user consistency with visual progress For detailed information about general task settings, including task header, description, rewards, dependencies, and more, refer to [Task Settings](/tasks/task-settings). ## Create a Daily checkin task To configure a Daily checkin task in Claimr: Daily checkin task type selection 1. From your campaign dashboard, go to the **Quests** tab and click on the quest where you want to add a Daily Checkin task. 2. On the quest settings page, click **+ Create new task**. 3. In the Category section, click **General**. 4. In the Groups section, click **Common**. 5. Select **Daily Checkin** from the Tasks list. 6. Click **Continue**. ## Task settings Daily checkin task settings At this stage, you'll see a simplified configuration screen. However, not all settings are available here. To access full configuration options, click **Create task**, then open the task in edit mode from your quest dashboard. The edit view gives you complete control over each day's points, optional rewards, and calendar display. **Create Daily Reward**: Click this button to add new days to your check-in cycle. **Daily reward table**: Use this table to define rewards for each day: | Column | Description | | - | - | | **Day** | The day number in the cycle (e.g., 1, 2, 3...) | | **Points** | The number of points awarded for that day | | **Rewards** | Additional assets like NFTs or tokens, configured through Claimr's reward system. Shows "-" if no reward is set. | You can drag and reorder days using the handle icon on the left of each row. **Calendar**: Choose whether to display the visual calendar: * **daily** - The calendar will be shown in the campaign widget, displaying all days in the cycle * **(blank/other)** - The calendar is hidden; only the claim button appears Rewards will loop in the order defined. After users complete all days, the cycle restarts from Day 1. ### Save and configure **Back**: Click to return to the previous screen without saving **Advance settings**: Click to configure additional task settings like dependencies, completion pop-ups, and metadata **Create task**: Click to save your task and add it to your quest You can return and modify any reward value or display setting from the quest dashboard at any time. ### How Daily Checkin tasks appear to users #### When the calendar is enabled Users see a visual layout showing the full check-in cycle: one tile per day, based on the number of days configured in the task settings. Each tile displays the reward for that day (e.g., 50, 75, 100 points). **Before claiming:** Daily checkin before claiming * The current day is active and highlighted * A button appears showing the number of points available to claim (e.g., "Earn 50 Points") **After claiming:** Daily checkin after claiming * A green checkmark appears next to the current day * The button is replaced with a message showing the reward for the next check-in (e.g., "Come back tomorrow to get 75 Points") Only one check-in can be claimed per day. Users return the next day to continue the cycle, and the calendar updates visually with each interaction. #### When the calendar is disabled * The user sees only the check-in button (no grid or visual progress) * After claiming, the button is replaced with a confirmation message (e.g., "Come back tomorrow") without showing upcoming rewards **Pro tip**: Use escalating rewards (increasing points each day) to incentivize users to maintain their streak. Set higher rewards on Day 7 or Day 30 to celebrate milestone completions. # HTTP request tasks Source: https://docs.claimr.io/tasks/common-tasks/http-request-tasks Create Claimr tasks that utilize HTTP requests to interact with your own APIs for custom task completion logic. ## What are HTTP request tasks? HTTP Request tasks allow you to integrate your own APIs into your Claimr quests, giving you greater flexibility and control over task completion logic. These tasks send HTTP requests to your API endpoints and process the responses to determine task completion or reward amounts. **Use HTTP Request tasks to:** * Leverage your existing API infrastructure * Configure tasks without requiring specific settings within Claimr * Define custom logic for task completion based on the response from your API * Validate user actions through your own backend systems For detailed information about general task settings, including task name, header, description, rewards, dependencies, and more, refer to [Task Settings](/tasks/task-settings). ## Create your task Select HTTP Request 1. From your campaign dashboard, go to the **Quests** tab and click on the quest where you want to add an HTTP Request task. 2. On the quest settings page, click **+ Create new task**. 3. In the Category section, click **General**. 4. In the Groups section, click **Common**. 5. Select **HTTP Request** from the Tasks list. 6. Click **Continue**. ## Task settings This section allows you to configure the specifics of your HTTP request task. Task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **Recurrence**: Control how often users can complete the task: * **Once** - can only be completed one time per user * **8h** - available once every eight hours * **Daily** - available once every 24 hours * **Weekly** - available once every 7 days * **Multiple** - stays open and can be completed as many times as needed, one after another, without any waiting time **Endpoint**: Enter the URL of your API endpoint that Claimr will send the HTTP request to. * Provide the correct and complete URL, including any necessary paths or parameters * Example placeholder: "eg. `https://example.com/api/v1/account/balance`" * This ensures the request reaches the intended destination on your server #### Using Claimr tags in the endpoint field Claimr provides tags that can be used to dynamically insert values into the endpoint URL. They are useful when you need to include user-specific or campaign-related information in the request. Available tags: * `{{address}}` - the user's account identifier * `{{cs_address}}` - the checksum address of the user's wallet * `{{week_start_iso}}` - the start of the week in ISO 8601 format (YYYY-MM-DD) * `{{week_end_iso}}` - the end of the week in ISO 8601 format * `{{day_start_iso}}` - the start of the day in ISO 8601 format * `{{day_end_iso}}` - the end of the day in ISO 8601 format * `{{quest_id}}` - the unique ID of the current quest * `{{task_id}}` - the unique ID of the current task * `{{input}}` - the value entered by the user in the task's input field (if enabled) **Example:** ``` https://your-api.com/users/{{address}}/tasks/{{task_id}} ``` This endpoint URL will dynamically include the user's account identifier and the current task ID when the HTTP request is sent. **Request type**: Select the HTTP request method that Claimr will use when communicating with your API. * **GET** - Retrieve information without modifying server data (e.g., user details, account balances, campaign statistics) * **POST** - Send data to create or update a resource (e.g., submitting user information, registering accounts, processing payments) * **PUT** - Update existing data on your API (e.g., modifying user profiles, changing settings, replacing data) **Headers (optional)**: Add custom headers to enhance the security and functionality of your HTTP requests. * Field format: **key** (left column) and **value** (right column) * Use headers to transmit sensitive information like authentication tokens or API keys * Verify the legitimacy of requests and prevent unauthorized access to your API * Specify content format (e.g., JSON, XML), caching rules, or other API requirements **Request body (optional)**: Include a request body in your HTTP request containing data sent to your API endpoint. * The format depends on the Request type selected * **POST and PUT requests**: Use JSON to structure the data * **GET requests**: Request bodies are generally not used * Claimr tags can also be used in the request body field **Script (optional)**: Add a JavaScript script to process the response from your API. * Useful when the response is complex or requires custom logic to determine task completion or calculate rewards * The script has access to a `response` object containing the data returned by your API * Use JavaScript code to extract values, perform calculations, or apply conditions **Return value**: The script must return a value that Claimr will use to determine the task outcome: * **Boolean (true or false)**: Indicates whether the task is completed * **Number**: Specifies the number of points to award for completing the task **Examples:** Calculating rewards based on transactions: ```javascript theme={"dark"} return response.tx_count * 10; ``` This calculates points based on the number of transactions. Each transaction is worth 10 points. Checking for transactions: ```javascript theme={"dark"} return response.tx_count > 0; ``` This checks if the user has made any transactions. If yes, the task is marked as complete. **Platform (optional)**: Specify the platform or context for your HTTP request task. * **For external APIs**: Use a simple identifier (e.g., "Telegram") * **For Claimr token generation**: Use the format `organization_id::platform_name` * Example: "ExamplE1::my\_platform" * This helps Claimr correctly identify the user account and associate it with the task * **Leave blank** when using Claimr's built-in functionality with web3 as the platform **Task button text (optional)**: Customize the text displayed on the button that users click to submit their input. * Example: "Verify" * Provides clearer instructions or context to the user **Show input (optional)**: Toggle this on to enable an input field for users to provide data for the task. * If disabled, the task will not require any user input **Input label (optional)**: Provide a label for the input field. * Helps users understand what kind of information they need to enter * Only appears if "Show input" is enabled **Input placeholder (optional)**: Provide placeholder text within the input field. * Provides further guidance or examples to the user * Only appears if "Show input" is enabled **Regular Expression (optional)**: Define a regular expression (regex) to validate user input. * Ensures that users provide data in a specific format or pattern * Example placeholder: "eg. `^[a-zA-Z0-9_]+$`" * Example for Twitter links: Validate that input matches the expected format of a Twitter URL **Response in points (optional)**: Toggle this on to use the API response value directly as the number of points to award. **Is continuous (optional)**: Toggle this on to enable continuous checking of the task status. ### Return value handling **HTTP 200 Status Code**: Indicates that the request was successfully received, understood, and accepted by the server. **Exceptions** (0, "0", false): Even if the status code is 200, the actual content of the response is checked. If the response body is 0, "0", or false, it is treated as a failure or an invalid response despite the successful status code. **Example use case**: Your application might consider the request successful only if: * The server responds with a status code of 200 * The response body contains meaningful data (not 0, "0", or false) ### Testing your task Claimr provides a built-in testing tool to help you verify that your HTTP request task is configured correctly and functions as expected. Within the task settings, find the **Test** section. * **Test address**: Enter a test address or value for the HTTP request * **Test input value**: If your task requires user input, enter a test value Click **Run script** to simulate task execution. View the response from your API to verify correct configuration. ### Use cases **Gift code verification**: Ask users to enter a gift code and use your API to verify its validity. **Link validation**: Ask users to submit a link to their social media profile or specific webpage and use regex to ensure the link is in the correct format. **KYC verification**: Check if a user has completed KYC verification on your platform using their wallet address. ### Save and configure **Back**: Click to return to the previous screen without saving **Advance settings**: Click to configure additional task settings like dependencies, completion pop-ups, and metadata **Create task**: Click to save your task and add it to your quest **Pro tip**: Double-check your endpoint URL and request type before launching. Use the built-in testing tool to verify your API integration works correctly. If using Claimr tags, ensure they are correctly formatted with double curly braces. ### Example: KYC verification task **Scenario**: Users need to complete KYC verification on your platform. Users verify their identity through their wallet. Your platform has an endpoint to check KYC status by wallet address. * **Endpoint**: `https://your-platform.com/api/kyc/{{address}}` * **Request Type**: GET * **Headers**: Include authentication token for API access * **Dynamic address**: The `{{address}}` tag inserts the user's wallet address **Flow:** * When a user attempts the task, Claimr sends a GET request with their wallet address * Your API checks its database and returns KYC verification status * Claimr checks the response: if KYC is passed, the task is marked complete # Common tasks Source: https://docs.claimr.io/tasks/common-tasks/overview Flexible tasks for basic actions, onboarding steps, and manual interactions in your quests. ## What are Common tasks? Common tasks are lightweight, versatile tasks that guide users through actions without requiring external validation, connected accounts, or blockchain verification. Use them for instructional steps, manual confirmations, form submissions, code distribution, and simple user interactions. **Use Common tasks to:** * Add manual or instructional steps to your quest * Confirm actions without collecting evidence * Collect form-based input or votes * Distribute invite or gift codes * Track daily engagement or task streaks * Integrate custom rewards and routing logic For detailed information about general task settings, including task header, description, rewards, dependencies, and more, refer to [Task Settings](/tasks/task-settings). ## Available Common tasks Claimr offers Common tasks for various lightweight interactions. All tasks are found in the **Common** group under the **General** category. **Engagement & tracking** * Daily Checkin - User checks in daily to earn rewards * Tasks Streak - User completes tasks N days in a row * Custom Events Count - Track how many times a custom event occurred * Custom Events Value - Track numeric value of a custom event * Custom Events Streak - Track how many days a custom event occurred in a row **User input & validation** * Block - Simple click interaction or confirmation block * Custom Task - Custom-defined action outside predefined categories * Secret Code - User must enter a secret code to validate action * Poll - User participates in a poll or survey **Forms & data collection** * Submit a Claimr Form - User fills and submits a Claimr form * Submit an email - User submits their email address **Codes & rewards** * Claim a Reward - User claims earned reward after task completion * Enter Invite Code - User enters an invite code to join campaign * Claim Invite Codes - User redeems or distributes invite codes * Claim Gift Codes - User redeems gift or promo codes * Custom Reward - Reward defined by custom campaign rules **Navigation & connections** * Visit a Link - User must visit a specific external or campaign link * Referral Link - Track user's referral link visits and signups * Connect an Account - User logs into the connected app or service * HTTP Request - Trigger or validate an external HTTP request **Team & organization** * Team Selector - User selects a team or group affiliation ## Create a task 1. From your campaign dashboard, go to the **Quests** tab and click on the quest where you want to add a Common task. 2. On the quest settings page, click **+ Create new task**. Create new task 3. In the Category section, click **General**. 4. In the Groups section, click **Common** and browse the available Common tasks. 5. Select the task that matches your campaign goal and click **Continue**. ### Configure task settings Each Common task has specific configuration options. Common task settings Common settings include: **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. **Recurrence** (for applicable tasks): Control how often users can complete the task (once, daily, weekly, multiple). Click **Advance settings** to configure additional options like dependencies, completion pop-ups, and metadata. Click **Create task** to save your Common task. To see how your task will appear to users, click **Preview**. This will open a new tab showcasing three different views: desktop, tablet, and mobile. You can toggle between these views to ensure your task looks and functions seamlessly across all devices. **Pro tip**: Common tasks work best for onboarding flows, instructional content, or campaign mechanics that don't require external verification. Combine them with verified tasks (X, Web3, etc.) to create comprehensive quest journeys. ## Explore Common task types Guide users through a simple confirmation click or a piece of text to copy. Collect a free-form text answer as verification of an off-platform action. Collect user opinions through simple voting interactions. Reward users for returning to your quest day after day. Collect verified user emails with one-time code confirmation. Reward users for referring others to your campaign. Reward users for clicking a specified URL. Integrate your own APIs into your Claimr quests. # Poll tasks Source: https://docs.claimr.io/tasks/common-tasks/poll-tasks Engage users by creating interactive polls within your Claimr campaigns. ## What are Poll tasks? Collect user opinions through simple voting interactions. Users complete the task by selecting one of several predefined answers. These tasks are often used to increase engagement, personalize content, or gather input during a campaign without requiring any submissions or validation. **Use Poll tasks to:** * Collect audience feedback * Add fun, low-friction interactions to your quest * Run lightweight surveys or preference checks * Engage users with decision-making moments For detailed information about general task settings, including task header, description, rewards, dependencies, and more, refer to [Task Settings](/tasks/task-settings). ## Configure a Poll task Poll task type selection To configure a Poll task in Claimr: 1. From your campaign dashboard, go to the **Quests** tab and click on the quest where you want to add a Poll task. 2. On the quest settings page, click **+ Create new task**. 3. In the Category section, click **General**. 4. In the Groups section, click **Common**. 5. Select **Poll** from the Tasks list. 6. Click **Continue**. ## Task settings Poll task settings After selecting the task type, configure the following fields: * **Completion points**: The number of points awarded when the user completes the task. * **Points Multiplier (%)**: Add a percentage-based bonus to the total reward. For example, if your completion points are set to 100 and your multiplier is 5%, the final reward is 105 points. * **ID**: A unique identifier that is automatically generated for each answer. You can customize this value if needed. * **Answer**: The text label shown to users as the voting option. * **Image (optional)**: Upload an image for each answer. If an image is uploaded, the option will appear as a visual tile; if not, it will appear as a button with text only. **Pro tip**: Use visual images for answer options to make polls more engaging and easier to scan. Polls work great as icebreakers or to segment users based on their preferences early in your quest. Click **+ Add Answer** to create more choices. Use the X icon to remove any existing answer. Deleting an answer also removes its image if one is set. Once you're done: Click **Create task** to save and add it to your quest right away. You'll now see the task listed in your quest. From there, you can reorder it, delete it, or edit it anytime. Or, click **Advanced settings** to continue configuring more options specific to the selected task type. ## How Poll tasks appear to users Preview mode When users encounter a Poll task, they see: * A prompt to vote, along with the reward information * A set of options displayed as either buttons or image tiles, depending on how each answer was configured Users complete the task by selecting one of the answers. Their vote is recorded immediately, and the reward is granted without any further input. # Referral tasks Source: https://docs.claimr.io/tasks/common-tasks/referral-tasks Set up a referral task to supercharge your campaign's growth. ## What are Referral tasks? A Referral task incentivizes users to refer others to your Claimr campaign, expanding your reach and growing your community. **Use Referral tasks to:** * Increase campaign participation by encouraging users to invite their friends and contacts. * Reward users for successful referrals, motivating them to spread the word about your campaign. * Track the effectiveness of your referral program and identify your most influential advocates. * Expand your audience and reach new potential customers. * Build a strong community of engaged participants. For detailed information about general task settings, including task name, header, description, rewards, dependencies, and more, refer to [Task Settings](/tasks/task-settings). ## Task settings Task type section To create a Referral link task: 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Common**. 3. Choose **Referral link** from the list of task types. 4. Click **Continue** to proceed to task settings. Once you've selected both, move on to configuring the specific settings for your referral task. Task setting section **Completion points:** Set the base points a user earns once the required referral goal for this task is met. **Points multiplier (%):** Apply a percentage bonus to the base points (e.g., 5 → +5%). **Campaign destination URL:** Paste the full link people should share (e.g., your campaign or landing page). **URL tag:** Choose the query key to append to personal referral links (e.g., `ref` → `...?ref=`). **Minimum referrals to complete task:** Enter how many successful referrals are required for this task to complete. **Points per referral (deprecated):** Set optional XP per each successful referral. This field is marked deprecated and may be ignored in workspaces using campaign-level Referral settings. **Show referrals XP:** Toggle on to display the potential XP from referrals on the quest card; toggle off to hide it. **Share Message (optional):** Write the prefilled text that appears when participants share their referral link. # Submit an email Source: https://docs.claimr.io/tasks/common-tasks/submit-an-email-tasks Collect verified user emails by requiring participants to submit their email address and confirm it via a one-time code. ## What are Submit an email tasks? The Submit an email task allows you to collect verified user emails by requiring participants to submit their email address and confirm it via a one-time code. This ensures that only real users with valid emails can complete the task and earn points. Use Submit an email tasks to: * **Grow your email list**: Capture verified user emails for future marketing or community engagement. * **Gate access to features**: Require email submission before showing high-value tasks or content. * **Validate users**: Add an extra verification step before rewarding points or tokens. For detailed information about general task settings, including task name, header, description, rewards, dependencies, and more, refer to our [Task Settings](/tasks/task-settings) article. ## Create a task Submit an email task type selection To create a Submit an email task: 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Common**. 3. Choose **Submit an email** from the list of task types. 4. Click **Continue** to proceed to task settings. Once you've selected both, move on to configuring the specific settings for your task. Submit an email task settings * **Completion points**: The base value users receive after completing the task. This is shown in the interface and tracked in your analytics. * **Points multiplier (%) (optional)**: Increases the final reward by a set percentage. For example, if the reward is 100 and the multiplier is 5%, the user will receive 105 points. * **Add Google Sign-in (optional)**: Enable to let users submit a verified email via Google OAuth. * **Add Microsoft Sign-in (optional)**: Enable to let users submit a verified email via Microsoft OAuth. * **Button text (optional)**: Enter the call-to-action label shown on the submit button (e.g., "Submit your email"). * **Don't ask for confirmation (optional)**: Enable to complete the task immediately after submission (no extra confirmation step). Disable to show a confirmation prompt before completion. ## How it looks to users Submit an email task, user view Once the task is live, users will see a simple form: * A field prompting them to submit their email (with a placeholder such as e.g., [me@mail.com](mailto:me@mail.com)) * A Submit button (disabled until the user accepts the Terms and Conditions and Privacy Policy) * A required checkbox for legal consent After submitting their email: 1. The system sends a one-time code to the provided email address. 2. The user must enter this code to verify their submission. 3. Only after entering a valid code is the task marked as complete and points awarded. This two-step verification ensures higher quality email capture and minimizes fake entries. # Visit a link Source: https://docs.claimr.io/tasks/common-tasks/visit-a-link-task Reward users for simply clicking on a specified URL, with no proof or submission required. ## What are Visit a link tasks? Visit a Link tasks in Claimr allow you to reward users for simply clicking on a specified URL. These tasks are perfect for driving traffic to a landing page, referral link, article, external app, or any other destination. Once the user visits the link, the task is considered complete: no proof or submission required. Use Visit a link tasks to: * **Drive traffic**: Direct users to campaign pages, partner sites, or custom URLs. * **Promote engagement**: Highlight specific features, announcements, or calls to action. * **Integrate referral flows**: Use masked or dynamic links to connect with external reward systems. For detailed information about general task settings, including task name, header, description, rewards, dependencies, and more, refer to our [Task Settings](/tasks/task-settings) article. ## Create a task Visit a link task type selection To create a Visit a Link task: 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Web**. 3. Choose **Visit a Link** from the list of task types. 4. Click **Continue** to proceed to task settings. ## Configure a task Visit a Link tasks offer an extensive set of configuration options. While only the destination link is required, you can fine-tune how the link is displayed and how users interact with it. Visit a link task settings #### Required field * **Completion points**: This is the base value shown at the top of the game UI. It may or may not match the actual reward the user receives. * **Points multiplier (%)**: Optional bonus that increases the user's final reward by a percentage. For example, if the selected reward is 500 and the multiplier is 10%, the final payout will be 550 points. * **Recurrence**: Define how often the task can be completed: * Once * Daily * Weekly * Multiple times (immediate repeat) * **Link**: The full URL users will be redirected to. #### Display options * **Button text**: Customize the button label that users click to visit the link. * **Timeout (in seconds)**: Add a delay before the task is marked as complete. For example, setting 600 means the task won't be marked complete until 10 minutes after the click. * **WIP text**: Show a custom "work in progress" message during the waiting period (only applies if a timeout is set). * **Link text**: Customize how the link is displayed below the button. Useful when you want to show a branded or shortened link instead of the full destination. * **Hide link**: Toggle this on to remove the link preview entirely and display only the button. * **Enable copy link button**: Let users copy the link with one click (appears next to the button). ## How it looks to users Once the task is live, users will see a button prompting them to open the link. Visit a link task, user view Depending on your settings, they might also see: * A visible link below the button, with either the raw URL or a custom label. * A copy icon that allows them to copy the link to clipboard. * A delay (timeout) before the task can be marked complete. After clicking the button, the user is taken to your destination URL, and the system logs the action. If you've set a timeout, points will be awarded only after the specified delay. # Create new task Source: https://docs.claimr.io/tasks/create-new-task Add a new task to your quest, select the right type, and configure the core settings before customizing it further in the task-specific settings. Tasks are what bring your quest to life. They guide users to take specific actions, like joining a Telegram channel, submitting a video, or connecting their wallet, and reward them for completing each step. In Claimr, you can choose from a wide range of task types across multiple platforms. Whether you're building a social campaign or collecting Web3 data, creating a task is quick and flexible. From your campaign dashboard, go to the **Quests tab** and click on the quest you'd like to work on. This opens the quest's settings page. On the quest settings page, click the **+ Create new task** button. This opens the task builder where you'll configure your task. Start by selecting a task category: Telegram, Web3, Events, etc. Each category includes one or more task types that define what the user needs to do. Task category and type selector After you select the task type: * A task name will be filled in automatically based on the type you chose. * You can edit the name if you'd like. Once you're ready, click **Continue** to move to the setup. Now you'll set up the core settings for your task. Task basic settings All tasks include: * **Completion Points**: How many points a user earns for completing this task. * **Points multiplier (%)**: Optional bonus to boost the base reward. * **Recurrence**: Choose whether the task can be completed once, daily, weekly, or multiple times. Additional settings may appear depending on the task type you selected in the previous step. For example, social tasks may ask for a post link. At this point, you have two options: * Click **Create task** to save and add it to your quest right away. You'll now see the task listed in your quest. From there, you can reorder it, delete it, or edit it anytime. * Or, click **Advanced settings** to continue configuring more options specific to the selected task type. ## Advanced settings Advanced settings allow you to refine how your task looks, behaves, and connects to other tasks. Task advanced settings ### Task header The main instruction or call-to-action visible to users. Keep it clear and actionable. ### Task completion message A message users will see after successfully completing the task. Use this to thank them or offer a next step. ### Task tags Use these tags within the task header and the task completion message to display information about the reward, provide personalized feedback, and acknowledge the user's achievement: * **`{points}`**: Displays the number of points the user earned for completing the task. * **`{icon}`**: Displays the icon associated with the points in your campaign. * **`{xp}`**: Displays the name or label used for points in your campaign. ### Task failure message A fallback message shown when users fail to complete the task. Keep it friendly and helpful. ### Task description Add detailed instructions, examples, or links. Task description section Click **+ Create description** and a text field will appear. Enter your description, select the style and the colour of your text, and add links or pictures. Once you're ready, click **Save** to save your changes. Use the **Preview** button (top right) to see how your task will look to participants. Use the task description to highlight the benefits of completing the task, both for the user and your campaign. Clearly explain the rewards or incentives they can earn. ### Task description tags Personalize your task descriptions and dynamically display information relevant to each user, making the task experience more engaging and tailored. **How to use tags** 1. **Insert the tag**: Simply type the tag directly into the text editor when creating or editing the task description. 2. **Save your changes**: Once you've added the tags, save your changes to the task description. 3. **View the result**: When a user views the task, the tags will be dynamically replaced with the corresponding information. **Available tags:** * **`{{ref_name}}`**: Displays the name of the user who referred the current user to the campaign (if applicable). This can be useful for creating personalized welcome messages or acknowledging referrals. * **`{{team_name}}`**: Shows the name of the team the user belongs to. This tag can be used to foster a sense of community and encourage team participation. * **`{{total_xp}}`**: Displays the user's total accumulated experience points (XP) within the campaign. This tag can be used to show users their overall progress and motivate them to earn more points. * **`{{xp_alias}}`**: Shows the name or label used for XP in your campaign. This allows you to customize the terminology to match your campaign's theme or branding. * **`{{participants}}`**: Displays the total number of participants in the campaign. This tag can create a sense of community and encourage friendly competition. * **`{{evm_address}}`**: Shows the user's connected EVM (Ethereum Virtual Machine) compatible wallet address, if available. This can be useful for displaying personalized information related to the user's wallet or blockchain activity. Make sure all tags are correctly formatted so they are recognized and processed by Claimr. ### Collapse description Control the visibility of your task description for participants. * **Toggle off**: The full description will be visible to anyone viewing your task. * **Toggle on**: The description will be condensed, showing only a brief summary. Participants will need to click "Show more" to expand and read the full description. This is a great way to keep your task card looking clean and uncluttered, while still giving interested users the option to learn more. ### Completion pop-up Keep your users informed by customizing a pop-up message they see immediately after completing a task. Use it to reinforce achievement, give next steps, or drive further engagement. Completion pop-up setup To set it up: 1. Toggle **Enable completion pop-up**. 2. Click **Create**. This opens a rich-text editor. 3. Add your message - include visuals, formatting, links, or call-to-action content. 4. Click **Save**. 5. Add an **animation visual effect** to make the pop-up more engaging. ### Referral completion points Set how many points a user earns if someone they referred completes this task. ### Dependencies Control when a task becomes available. Use checkboxes to link prerequisite tasks. For detailed information about each setting and tag, read the [Task settings](/tasks/task-settings) article. Once you're done configuring all fields, click **Create task** to save it and return to your quest overview. You can edit, delete, or reorder tasks anytime from the **Quest page**. # Discord tasks Source: https://docs.claimr.io/tasks/discord-tasks Leverage the power of Discord to grow your community and engage users within your Claimr campaigns. **Use Discord tasks to:** * Increase your Discord server members. * Encourage users to participate in Discord discussions or activities. * Promote your Discord community within your Claimr campaigns. * Reward users for joining and interacting with your Discord server. * Track the effectiveness of your Discord marketing efforts. For detailed information about general task settings, including task name, header, description, rewards, dependencies, and more, refer to the [Task settings](/tasks/task-settings) article. ## Task type Choose the specific type of task you want to create for your campaign. Discord task type section 1. Select **Discord** to indicate that the task will be completed with Discord. 2. Considering your aim, select the specific task type from the expanded list. ## Task settings ### Add the Claimr bot to the channel/group Before creating a Discord task, add the Claimr bot to your Discord server and grant it administrator permissions. This allows the bot to seamlessly interact with your campaign, track task completion, and distribute rewards. Add the bot by clicking on the link provided in the task settings or copy Claimr's bot link and add it to your Discord group/channel: [https://discord.com/oauth2/authorize?client\_id=1034891789640933447\&permissions=1\&scope=bot](https://discord.com/oauth2/authorize?client_id=1034891789640933447\&permissions=1\&scope=bot) Remember, accuracy is crucial when entering the ID to ensure Claimr can correctly interact with your Discord group or channel. Discord join task settings **Completion points**: Set the base points a user earns once the required event count is reached. **Points multiplier (%)**: Apply a percentage bonus to the base points (e.g., 5 → +5%). **Invite link**: Add the invite URL to your Discord server (e.g., [https://discord.gg/](https://discord.gg/)...). **Is intent? (optional)**: Enable to require a manual confirmation of intent before the task is marked complete. ### Verify Discord roles Verify Discord roles task settings **Completion points**: Set the base points a user earns once the required event count is reached. **Points multiplier (%)**: Apply a percentage bonus to the base points (e.g., 5 → +5%). **Server Address**: Enter the full server URL (e.g., [https://discord.com/channels/\`SERVER\_ID\`/\`CHANNEL\_ID\`](https://discord.com/channels/`SERVER_ID`/`CHANNEL_ID`)). **Roles**: Click to choose the role(s) a user must have. **Fetch roles**: Click to load the current roles from your server. **Any role from list? (optional)**: Enable to pass the task if the user has any of the fetched roles; keep off to require the specific role(s) selected above. ### Discord server activity (Verified) Discord server activity task settings **Completion points**: Set the base points a user earns once the required event count is reached. **Points multiplier (%)**: Apply a percentage bonus to the base points (e.g., 5 → +5%). **Server Address**: Enter the channel URL where activity is checked (e.g., [https://discord.com/channels/\`SERVER\_ID\`/\`CHANNEL\_ID\`](https://discord.com/channels/`SERVER_ID`/`CHANNEL_ID`)). **Expected text (optional)**: Require an exact string to appear in the user's message (e.g., brand name or keyword). **RegEx (optional)**: Define a pattern to allow message variations while still passing (e.g., case, punctuation, emojis). **Examples** * **Include a specific emoji**: If you want to include a specific emoji (e.g., ✨), you could use a regular expression like `.*✨.*` to allow for any characters before or after the emoji. * **Use a specific word or phrase**: If you want to ensure the user adds a specific word or phrase, you could use a regular expression like `^YourKeyword` to match any string that begins with "YourKeyword". * **Match a specific format**: You can use regular expressions to define more complex patterns, such as email addresses, phone numbers, or dates. For example, to match a valid email address, you could use a regular expression like `[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}`. **Resources** * **Regular expression builder**: [https://regex101.com/](https://regex101.com/) * **AI assistants** # Form tasks Source: https://docs.claimr.io/tasks/form-tasks Set up and utilize Form tasks within your Claimr campaigns to collect user data, enhance engagement, and achieve your campaign objectives. ## What is a Form task? A Form task allows you to integrate a form into your Claimr quest, enabling you to gather valuable information from users as they progress through your campaign. This information can be used for various purposes, such as lead generation, feedback collection, or user segmentation. **Use Form tasks to:** * Gather user information, such as contact details, preferences, and feedback. * Create interactive experiences, like quizzes, polls, and surveys. * Streamline data collection by integrating with your existing systems. * Enhance user segmentation for targeted messaging. * Boost campaign completion rates with rewards and incentives. For detailed information about general task settings, including task name, header, description, rewards, dependencies, and more, refer to the [Task settings](/tasks/task-settings) article. ## Task type Choose the specific type of task you want to create for your campaign. Form task type section 1. Select **Forms**. 2. Select the specific form task type from the expanded list, considering the platform you use for your forms: Typeform, Tally, or Claimr. Once you've selected both, move on to configuring the specific settings for your task. ### Form task types explained * **Polls vs. Quizzes**: Polls gather opinions or feedback from users on a specific question or topic, while quizzes are used to assess users' knowledge or understanding with questions that have correct and incorrect answers. * **Typeform and Tally** are popular online form-building platforms. Claimr offers direct integration with these platforms, allowing you to seamlessly incorporate their forms into your campaigns. * **Claimr forms** allows you to use forms that you create directly within your Claimr campaigns. This gives you more flexibility and control over the form's design, questions, and functionality. To learn more about creating and managing forms in Claimr, see the [Forms](/forms/overview) article. ## Claimr form Integrate a Claimr form into your quest. Claimr form task settings * **Completion points**: Set the number of points awarded when the user successfully completes the form. * **Points multiplier (%)**: Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Select form**: Choose the Claimr form you want to use for this task from the dropdown menu. * **Min score (optional)**: Specify the minimum score that users need to achieve on the form to complete the task. * **Timeout in minutes (optional)**: Set a time limit for completing the form. * **Add score to XP (optional)**: Enable this toggle to add the user's score on the form to their total XP in the campaign. * **Required logins**: Select one or several login methods users must complete before they can access this task. * **Need manual verification? (optional)**: Enable this toggle if the task requires manual verification before it can be marked as complete. ### Submit a Typeform Integrate any Typeform form into your Claimr quest, useful for collecting specific information or having users complete more complex forms not available as built-in Claimr blocks. Submit a Typeform task settings * **Points multiplier (%)**: Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Completion points**: Set the number of points awarded when the user successfully submits the form. * **Webhook URL**: Add the provided webhook URL to your form to ensure form submissions are properly recorded in Claimr. * **Form ID**: Enter the unique ID of the form you want to use for this task. * **Required logins**: Specify which login method users must use to access this task, giving you control over who can participate based on their authentication status. Choose from a variety of popular platforms, including Google, Twitter, Facebook, Discord, Telegram, and more. Select multiple login options to provide flexibility for your users. ### Typeform Poll Integrate a Typeform poll into your Claimr quest. Typeform Poll task settings * **Points multiplier (%)**: Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Completion points**: Set the number of points awarded when the user successfully submits the poll. * **Webhook URL**: Add the provided webhook URL to your Typeform poll to ensure responses are properly recorded in Claimr. * **Form ID**: Enter the unique ID of your Typeform poll. * **Required XP (optional)**: Specify the minimum XP that users need to have earned in the campaign to access this task. * **Required logins**: Select one or several login methods users must complete before they can access this task. ### Typeform Quiz Integrate a Typeform quiz into your Claimr quest. Typeform Quiz task settings * **Points multiplier (%)**: Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Completion points**: Set the number of points awarded when the user successfully completes the quiz. * **Webhook URL**: Add the provided webhook URL to your Typeform quiz to ensure responses are properly recorded in Claimr. * **Form ID**: Enter the unique ID of your Typeform quiz. * **Required Score (optional)**: Specify the minimum score that users need to achieve on the quiz to complete the task. * **Failed message (optional)**: Customize the message displayed to users if they fail to achieve the required score on the quiz. * **Required logins**: Select one or several login methods users must complete before they can access this task. ### Submit Tally form Integrate a Tally form into your Claimr quest. Submit Tally form task settings * **Points multiplier (%)**: Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Completion points**: Set the number of points awarded when the user successfully submits the form. * **Webhook URL**: Add the provided webhook URL to your Tally form to ensure responses are properly recorded in Claimr. * **Form ID**: Enter the unique ID of your Tally form. * **Required logins**: Select one or several login methods users must complete before they can access this task. ### Tally Poll Integrate a Tally poll into your Claimr quest. Tally Poll task settings * **Points multiplier (%)**: Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Completion points**: Set the number of points awarded when the user successfully submits the poll. * **Webhook URL**: Add the provided webhook URL to your Tally poll to ensure responses are properly recorded in Claimr. * **Form ID**: Enter the unique ID of your Tally poll. * **Required XP (optional)**: Specify the minimum XP that users need to have earned in the campaign to access this task. * **Required logins**: Select one or several login methods users must complete before they can access this task. ### Tally Quiz Integrate a Tally quiz into your Claimr quest. Tally Quiz task settings * **Points multiplier (%)**: Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Completion points**: Set the number of points awarded when the user successfully completes the quiz. * **Webhook URL**: Add the provided webhook URL to your Tally quiz to ensure responses are properly recorded in Claimr. * **Form ID**: Enter the unique ID of your Tally quiz. * **Required score (optional)**: Specify the minimum score that users need to achieve on the quiz to complete the task. * **Failed message (optional)**: Customize the message displayed to users if they fail to achieve the required score on the quiz. * **Required logins**: Select one or several login methods users must complete before they can access this task. Need more information about webhooks? Visit the [Webhooks](/webhooks-guide/overview) article. # Game tasks Source: https://docs.claimr.io/tasks/game-tasks Reward users with randomized outcomes using Scratch Card and Fortune Wheel game tasks to boost retention and engagement. ## What are Game tasks? Game tasks in Claimr are a fun and engaging way to reward users with randomized outcomes. There are currently two types of game tasks available: * **Scratch Card Game**: Users scratch to reveal a hidden reward. * **Fortune Wheel Game**: Users spin a wheel to receive one of several preset rewards. These tasks are ideal for creating excitement and surprise within your campaign, while still maintaining control over point distribution and frequency. **Use Game tasks to:** * **Increase retention**: Offer interactive rewards to keep users coming back. * **Drive engagement**: Make campaigns more enjoyable with gamified mechanics. * **Control reward outcomes**: Set multiple reward levels based on your incentive strategy. ## Create a Game task To create a game task in Claimr: Game task category selection 1. Go to your campaign and click **Create new task**. 2. Under the Category, select **Games**. 3. Choose one of the following task types: * Scratch Card Game * Fortune Wheel Game 4. Click **Continue** to proceed to task settings. ## Task settings You'll now set up the reward structure and interaction logic for the selected game. Game task settings * **Completion points**: This is the base value shown at the top of the game UI. It may or may not match the actual reward the user receives. * **Points multiplier (%)**: Optional bonus that increases the user's final reward by a percentage. For example, if the selected reward is 500 and the multiplier is 10%, the final payout will be 550 points. * **Recurrence**: Control how often users can complete the task: * Once - can only be completed one time per user. * Daily - available once every 24 hours. * Weekly - available once every 7 days. * Multiple - stays open and can be completed as many times as needed, one after another, without any waiting time. * **Rewards**: Add at least two or more point values to activate the game logic. These values will be randomly assigned through the scratch card or wheel spin mechanism. Without multiple reward options, the game feature will not function as intended. Once finished, click **Create task** to save and publish. For additional settings (custom messages, dependencies, referral rewards, and more), see the [Task settings](/tasks/task-settings) article. ## User experience Here's how it works from the user's side: * **Scratch Card Game**: The user sees a card with three concealed panels. They scratch all three to reveal their reward. Scratch Card game user experience * **Fortune Wheel Game**: The user spins a wheel with multiple reward segments. Once the wheel stops, they instantly receive the corresponding points. Fortune Wheel game user experience In both cases: * The interaction is instant. * Rewards are automatically granted and require no manual proof. * The user sees a clear confirmation of their win. # Gate tasks Source: https://docs.claimr.io/tasks/gate-tasks Reward Gate users for connecting their account, trading, holding tokens and depositing onto the exchange. ## What are Gate tasks? Gate tasks let users connect their Gate account to Claimr through an API key they create on Gate. Claimr then reads the account to verify activity and reward it. There are 4 Gate task types: * **Connect Gate Account**: Link a user's Gate account with an API key. * **Gate Trading Volume**: Track the spot volume the user traded over a time window. * **Gate Hold Token**: Check that the user holds at least a set amount of a token. * **Gate Deposit**: Check that the user deposited at least a set amount of a token onto Gate. The user connects the account once, with the **Connect Gate Account** task. Every other Gate task reuses that key, and asks for one only if none is stored yet. ## Connect Gate account 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Gate**. 4. Select **Connect Gate Account** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. Users create an API key in their Gate account settings and enter it in the task (API key and secret). Gate doesn't report a key's permissions, so any working key is accepted. Ask users to create a read-only key. Gate also doesn't report KYC status, so there is no Gate KYC task. Once the key works, Claimr stores it for the user's other Gate tasks and marks the task as complete. ## Gate trading volume 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Gate**. 4. Select **Gate Trading Volume** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Symbol:** The spot trading pair, written the way Gate writes it (for example, `BTC_USDT`). To count several pairs, separate them with commas. Their volumes are added up, so pick pairs that share a quote currency. * **Volume:** The volume the user must reach, in the pair's quote currency. * **Maker volume only? (optional):** Count only trades where the user provided liquidity as a maker. * **Time, h (optional):** Count only trades from the last number of hours. * **Start at** and **End at (optional):** Count only trades between these dates. With no time window set, the task counts the last 90 days. * **Is progressive reward? (optional):** Scale the reward with how many times the user reaches the volume. Example: if 10 USDT of volume earns 2 points, 20 USDT earns 4 points. * **Max progressive amount (optional):** The highest volume used to calculate progressive rewards. Example: with a limit of 100,000 USDT, a user who trades 1,000,000 USDT still receives the reward for 100,000 USDT. * **Is continuous (optional):** Keep the task open after completion, so users keep earning as their volume grows. ## Gate hold token 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Gate**. 4. Select **Gate Hold Token** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Token:** The token ticker, for example `USDT`. * **Amount:** The amount of the token the user must hold. Claimr checks the balance when the user claims the task. Spot balances count, including tokens locked in open orders. ## Gate deposit 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Gate**. 4. Select **Gate Deposit** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Token:** The token ticker, for example `USDT`. * **Amount:** The amount the user must deposit, in the token. * **Network (optional):** Count only deposits that arrived on this network. Use the network name as Gate shows it, for example `TRX` or `ETH`. Leave it empty to count any network. * **Time, h**, **Start at** and **End at (optional):** Count only deposits made in this window. Only deposits the exchange has credited to the account count. Deposits older than 89 days are never counted, because some exchanges keep no older deposit history. # Hyperliquid tasks Source: https://docs.claimr.io/tasks/hyperliquid-tasks Reward real activity on Hyperliquid, from deposits and trading to staking, vaults and referral sign-ups, verified from the wallet the user connected. ## What are Hyperliquid tasks? Hyperliquid tasks reward activity on Hyperliquid, read from the Ethereum wallet the user signed in to Claimr with. Users don't need to share an API key. The task card shows their progress towards the target and lets them refresh it. There are 13 Hyperliquid task types: * **Hyperliquid Deposit**: USDC the user bridged into Hyperliquid over the window. Transfers from other Hyperliquid accounts don't count. * **Hyperliquid Trading Volume**: Volume the user traded on Hyperliquid perps and spot. * **Hyperliquid Trades Count**: How many trades (fills) the user made. * **Hyperliquid PnL**: Realized profit the user made over the window. Open positions don't count, and fees are shown separately rather than subtracted. * **Hyperliquid Funding Received**: Net funding the user collected on perps: funding received minus funding paid. * **Hyperliquid Open Position**: The user holds a perp position right now. * **Hyperliquid Stop Loss / Take Profit**: The user set a stop loss or take profit order. The order doesn't need to trigger. * **Hyperliquid Trading Streak**: Consecutive days (UTC) the user traded. * **Hyperliquid Hold Token**: The user holds at least the set amount of a spot token right now, including tokens locked in open orders. Staked HYPE doesn't count here, use the stake task. * **Hyperliquid Stake HYPE**: HYPE the user has delegated to validators right now. * **Hyperliquid Vault Deposit**: The user's equity in Hyperliquid vaults right now. * **Hyperliquid Referral Code**: The user signed up to Hyperliquid with your referral code. A referral is set once per account and never changes, so this proves the account came through you. * **Hyperliquid Builder Approval**: The user approved your builder address, the one-time signature a Hyperliquid frontend asks for before it can place orders. Hyperliquid keeps roughly the 10,000 most recent trades per account. Tasks that sum trades can't count older ones. With no window or market set, **Hyperliquid Trading Volume** reads lifetime volume directly, so it isn't affected. ## Deposit 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Hyperliquid**. 4. Select **Hyperliquid Deposit** from the list of task types. 5. Click **Continue** to proceed to task settings. USDC the user bridged into Hyperliquid over the window. Transfers from other Hyperliquid accounts don't count. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Amount, USDC:** The amount the user must deposit. * **Time, h**, **Start at** and **End at (optional):** Count only activity in this window. With none set, all available history counts. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. * **Is progressive reward?**, **Is continous** and **Max progressive value (optional):** Scale the reward with how many times the user reaches the target, up to the cap. ## Trading volume 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Hyperliquid**. 4. Select **Hyperliquid Trading Volume** from the list of task types. 5. Click **Continue** to proceed to task settings. Volume the user traded on Hyperliquid perps and spot. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Volume, USD:** The volume the user must reach. * **Market (optional):** Comma separated coins, for example `BTC, HYPE`. Coins on builder-deployed perp dexes match by name too (`TSLA` matches `xyz:TSLA`). Leave it empty for every coin. * **Maker volume only? (optional):** Count only trades where the user provided liquidity. * **Time, h**, **Start at** and **End at (optional):** Count only activity in this window. With none set, all available history counts. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. * **Is progressive reward?**, **Is continous** and **Max progressive value (optional):** Scale the reward with how many times the user reaches the target, up to the cap. ## Trades count 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Hyperliquid**. 4. Select **Hyperliquid Trades Count** from the list of task types. 5. Click **Continue** to proceed to task settings. How many trades (fills) the user made. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Count:** How many trades are needed. * **Market (optional):** Comma separated coins, for example `BTC, HYPE`. Coins on builder-deployed perp dexes match by name too (`TSLA` matches `xyz:TSLA`). Leave it empty for every coin. * **Min notional, USD (optional):** Trades smaller than this don't count, so the task can't be farmed with tiny trades. * **Time, h**, **Start at** and **End at (optional):** Count only activity in this window. With none set, all available history counts. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. * **Is progressive reward?**, **Is continous** and **Max progressive value (optional):** Scale the reward with how many times the user reaches the target, up to the cap. ## PnL 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Hyperliquid**. 4. Select **Hyperliquid PnL** from the list of task types. 5. Click **Continue** to proceed to task settings. Realized profit the user made over the window. Open positions don't count, and fees are shown separately rather than subtracted. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **PnL, USD:** The realized profit to reach. * **Market (optional):** Comma separated coins, for example `BTC, HYPE`. Coins on builder-deployed perp dexes match by name too (`TSLA` matches `xyz:TSLA`). Leave it empty for every coin. * **Time, h**, **Start at** and **End at (optional):** Count only activity in this window. With none set, all available history counts. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. ## Funding received 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Hyperliquid**. 4. Select **Hyperliquid Funding Received** from the list of task types. 5. Click **Continue** to proceed to task settings. Net funding the user collected on perps: funding received minus funding paid. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Amount, USD:** The net funding to reach. * **Market (optional):** Comma separated coins, for example `BTC, HYPE`. Coins on builder-deployed perp dexes match by name too (`TSLA` matches `xyz:TSLA`). Leave it empty for every coin. * **Time, h**, **Start at** and **End at (optional):** Count only activity in this window. With none set, all available history counts. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. * **Is progressive reward?**, **Is continous** and **Max progressive value (optional):** Scale the reward with how many times the user reaches the target, up to the cap. ## Open position 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Hyperliquid**. 4. Select **Hyperliquid Open Position** from the list of task types. 5. Click **Continue** to proceed to task settings. The user holds a perp position right now. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Count:** How many open positions are needed. * **Market (optional):** Comma separated coins, for example `BTC, HYPE`. Coins on builder-deployed perp dexes match by name too (`TSLA` matches `xyz:TSLA`). Leave it empty for every coin. * **Side (optional):** `LONG` or `SHORT`, empty for either. * **Min notional, USD** and **Min leverage (optional):** Smaller or lower-leverage positions don't count. * **Perp dex (optional):** A builder-deployed perp dex by name, for example `xyz`. Use `*` for every dex, or leave it empty for Hyperliquid's main perp dex. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. ## Stop loss / take profit 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Hyperliquid**. 4. Select **Hyperliquid Stop Loss / Take Profit** from the list of task types. 5. Click **Continue** to proceed to task settings. The user set a stop loss or take profit order. The order doesn't need to trigger. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Count:** How many orders are needed. * **Kind (optional):** `STOP_LOSS` or `TAKE_PROFIT`, empty for either. * **Market (optional):** Comma separated coins, for example `BTC, HYPE`. Coins on builder-deployed perp dexes match by name too (`TSLA` matches `xyz:TSLA`). Leave it empty for every coin. * **Time, h**, **Start at** and **End at (optional):** Count only activity in this window. With none set, all available history counts. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. ## Trading streak 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Hyperliquid**. 4. Select **Hyperliquid Trading Streak** from the list of task types. 5. Click **Continue** to proceed to task settings. Consecutive days (UTC) the user traded. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Days:** The streak length to reach. * **Streak mode (optional):** `current` (the default) counts back from today and resets after a day without trading. `longest` is the best streak in the window, earned once and never lost. * **Min notional, USD (optional):** Trades smaller than this don't keep the streak going. * **Market (optional):** Comma separated coins, for example `BTC, HYPE`. Coins on builder-deployed perp dexes match by name too (`TSLA` matches `xyz:TSLA`). Leave it empty for every coin. * **Start at (optional):** Ignore trading before this date. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. ## Hold token 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Hyperliquid**. 4. Select **Hyperliquid Hold Token** from the list of task types. 5. Click **Continue** to proceed to task settings. The user holds at least the set amount of a spot token right now, including tokens locked in open orders. Staked HYPE doesn't count here, use the stake task. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Token:** The spot token ticker, for example `HYPE`. * **Amount:** The amount the user must hold. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. ## Stake HYPE 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Hyperliquid**. 4. Select **Hyperliquid Stake HYPE** from the list of task types. 5. Click **Continue** to proceed to task settings. HYPE the user has delegated to validators right now. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Amount, HYPE:** The amount that must be staked. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. ## Vault deposit 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Hyperliquid**. 4. Select **Hyperliquid Vault Deposit** from the list of task types. 5. Click **Continue** to proceed to task settings. The user's equity in Hyperliquid vaults right now. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Amount, USD:** The vault equity to reach. * **Vault address (optional):** One vault, such as HLP or your own. Empty counts every vault. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. ## Referral code 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Hyperliquid**. 4. Select **Hyperliquid Referral Code** from the list of task types. 5. Click **Continue** to proceed to task settings. The user signed up to Hyperliquid with your referral code. A referral is set once per account and never changes, so this proves the account came through you. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Referral code:** The code the user must have signed up with. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. ## Builder approval 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Hyperliquid**. 4. Select **Hyperliquid Builder Approval** from the list of task types. 5. Click **Continue** to proceed to task settings. The user approved your builder address, the one-time signature a Hyperliquid frontend asks for before it can place orders. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Builder address:** Your frontend's builder address. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. # KuCoin tasks Source: https://docs.claimr.io/tasks/kucoin-tasks Let users connect their KuCoin account to Claimr, verify KYC status, and track trading volume, holdings and deposits directly from the exchange. ## What are KuCoin tasks? KuCoin tasks allow users to connect their KuCoin account to Claimr, verify KYC status, and track trading volume directly from the exchange. These tasks enable Claimr to validate account ownership, confirm user verification, and calculate activity-based rewards using KuCoin data. There are five main types of KuCoin tasks: * **Connect KuCoin Account**: Link a user's KuCoin account via API key. * **KuCoin KYC**: Verify that the connected account has completed KYC verification. * **KuCoin Trading Volume**: Track the spot volume the user traded over a time window. * **KuCoin Hold Token**: Check that the user holds at least a set amount of a token. * **KuCoin Deposit**: Check that the user deposited at least a set amount of a token onto KuCoin. KuCoin task types overview To set up the task: 1. Go to the Onchain Actions category. 2. Select KuCoin to filter the available options. 3. Considering your aim, select the specific task type. ## Connect KuCoin account 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **KuCoin**. 4. Select **Connect KuCoin Account** from the list of task types. 5. Click **Continue** to proceed to task settings. Now move on to configuring the specific settings for your task. Connect KuCoin account task settings * **Completion points:** Set the number of points awarded when the user successfully connects their KuCoin account. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. Users must create an API key in their KuCoin account and connect it to Claimr. Follow the official KuCoin documentation to generate this key: [How to create API keys on KuCoin?](https://www.kucoin.com/support/360015102174) Once connected, Claimr automatically verifies the account and marks the task as complete. ## KuCoin KYC 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **KuCoin**. 4. Select **KuCoin KYC** from the list of task types. 5. Click **Continue** to proceed to task settings. Now move on to configuring the specific settings for your task. KuCoin KYC task settings * **Completion points:** Set the number of points awarded when the user's KuCoin account is verified through KYC. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 5% multiplier increases the final reward by 5%. This task confirms that the connected KuCoin account has successfully completed Know Your Customer (KYC) verification. This serves as an anti-sybil measure, confirming that the user is real and verified through KuCoin. Claimr doesn't receive KYC data directly, only the verified status. ## KuCoin trading volume 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **KuCoin**. 4. Select **KuCoin Trading Volume** from the list of task types. 5. Click **Continue** to proceed to task settings. Now move on to configuring the specific settings for your task. KuCoin trading volume task settings * **Completion points:** Set the number of points awarded when the user reaches the required trading volume. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Symbol:** The spot trading pair, written the way KuCoin writes it (for example, `BTC-USDT`). To count several pairs, separate them with commas. Their volumes are added up, so pick pairs that share a quote currency. * **Volume:** The volume the user must reach, in the pair's quote currency. * **Maker volume only? (optional):** Count only trades where the user provided liquidity as a maker. * **Time, h (optional):** Count only trades from the last number of hours. * **Start at** and **End at (optional):** Count only trades between these dates. With no time window set, the task counts the last 90 days. * **Is progressive reward? (optional):** Scale the reward with how many times the user reaches the volume. Example: if 10 USDT of volume earns 2 points, 20 USDT earns 4 points. * **Max progressive amount (optional):** The highest volume used to calculate progressive rewards. Example: with a limit of 100,000 USDT, a user who trades 1,000,000 USDT still receives the reward for 100,000 USDT. * **Is continuous (optional):** Keep the task open after completion, so users keep earning as their volume grows. ## KuCoin hold token 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **KuCoin**. 4. Select **KuCoin Hold Token** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Token:** The token ticker, for example `USDT`. * **Amount:** The amount of the token the user must hold. Claimr checks the balance when the user claims the task. The funding and trading accounts both count, including tokens locked in orders. Margin balances don't count, because they include borrowed funds. ## KuCoin deposit 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **KuCoin**. 4. Select **KuCoin Deposit** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Token:** The token ticker, for example `USDT`. * **Amount:** The amount the user must deposit, in the token. * **Network (optional):** Count only deposits that arrived on this network. Use KuCoin's chain name. Leave it empty to count any network. * **Time, h**, **Start at** and **End at (optional):** Count only deposits made in this window. Only deposits the exchange has credited to the account count. Deposits older than 89 days are never counted, because some exchanges keep no older deposit history. # LinkedIn tasks Source: https://docs.claimr.io/tasks/linkedin-tasks Reward users for reposting your LinkedIn content directly from the feed, verified automatically through the LinkedIn embed. ## What are LinkedIn tasks? LinkedIn tasks in Claimr allow you to reward users for interacting with your LinkedIn content directly from the feed. These tasks are verified automatically once the user connects their LinkedIn account and completes the repost action via Claimr. **Use LinkedIn tasks to:** * **Amplify your brand**: Let your followers help spread updates, partnership news, and major announcements within professional circles. * **Drive engagement**: Boost impressions and reposts on targeted posts to strengthen your organic reach. * **Automate reward validation**: Eliminate manual review by tracking reposts directly through the LinkedIn embed. ## Create LinkedIn task Choose the specific type of task you want to create for your campaign. LinkedIn task type section 1. Select **LinkedIn** to indicate that the task will be completed with this specific platform. 2. Considering your aim, select the specific task type from the expanded list. ## Configure task settings You'll now be able to configure the repost task based on your reward structure and post type: LinkedIn repost task settings * **Completion Points**: Set how many points a user earns for reposting the LinkedIn post. * **Points multiplier (%)**: Add an optional bonus. The multiplier increases the base reward by a percentage. For example, if your completion points are set to 100 and your multiplier is 5%, the final reward is 105 points. * **Embed Code**: Paste the LinkedIn embed iframe for the post you want users to share. [Need help? Here's how to copy a LinkedIn embed code](https://www.linkedin.com/help/linkedin/answer/a529065/embed-content-from-the-linkedin-feed). * **Commentary**: Add a brief description for context. Once you're done: * Click **Create task** to save and add it to your quest right away. You'll now see the task listed in your quest. From there, you can reorder it, delete it, or edit it anytime. * Or click **Advanced settings** to continue configuring more options specific to the selected task type. ## User experience Here's how it looks from the user's side: LinkedIn repost task user experience 1. The user logs in and connects their LinkedIn account. 2. They see the embedded LinkedIn post inside the widget. 3. After clicking Login and Repost, they automatically receive the assigned points. This process ensures that reposts are verified and trackable, without requiring manual submission. # MEXC tasks Source: https://docs.claimr.io/tasks/mexc-tasks Let users connect their MEXC account to Claimr, verify KYC status, and track trading volume, holdings and deposits directly from the exchange. ## What are MEXC tasks? MEXC tasks allow users to connect their MEXC account to Claimr, verify KYC status, and track trading volume directly from the exchange. These tasks enable Claimr to validate account ownership, confirm user verification, and calculate activity-based rewards using MEXC data. There are five main types of MEXC tasks: * **Connect MEXC Account**: Link a user's MEXC account via API key. * **MEXC KYC**: Verify that the connected account has completed KYC verification. * **MEXC Trading Volume**: Track the spot volume the user traded over a time window. * **MEXC Hold Token**: Check that the user holds at least a set amount of a token. * **MEXC Deposit**: Check that the user deposited at least a set amount of a token onto MEXC. MEXC task types overview All MEXC tasks belong to the **Onchain Actions** category and the **MEXC** group. To set up the task: 1. Go to the Onchain Actions category. 2. Select MEXC to filter the available options. 3. Considering your aim, select the specific task type. ## Connect MEXC account 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **MEXC**. 4. Select **Connect MEXC Account** from the list of task types. 5. Click **Continue** to proceed to task settings. Now move on to configuring the specific settings for your task. Connect MEXC account task settings * **Completion points:** Set the number of points awarded when the user successfully connects their MEXC account. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. Users must create an API key in their MEXC account and connect it to Claimr. Follow the official MEXC documentation to generate your key: [How to create API keys on MEXC?](https://www.mexc.com/announcements/article/mexc-api-opening-tutorial-360055933652) Once connected, Claimr automatically verifies the account and marks the task as complete. ## MEXC KYC 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **MEXC**. 4. Select **MEXC KYC** from the list of task types. 5. Click **Continue** to proceed to task settings. Now move on to configuring the specific settings for your task. MEXC KYC task settings * **Completion points:** Set the number of points awarded when the user's MEXC account is verified through KYC. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 5% multiplier increases the final reward by 5%. This task confirms that the connected MEXC account has successfully completed Know Your Customer (KYC) verification. This serves as an anti-sybil measure, confirming that the user is real and verified through MEXC. Claimr doesn't receive KYC data directly, only the verified status. ## MEXC trading volume 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **MEXC**. 4. Select **MEXC Trading Volume** from the list of task types. 5. Click **Continue** to proceed to task settings. Now move on to configuring the specific settings for your task. MEXC trading volume task settings * **Completion points:** Set the number of points awarded when the user reaches the required trading volume. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Symbol:** The spot trading pair, written the way MEXC writes it (for example, `BTCUSDT`). To count several pairs, separate them with commas. Their volumes are added up, so pick pairs that share a quote currency. * **Volume:** The volume the user must reach, in the pair's quote currency. * **Time, h (optional):** Count only trades from the last number of hours. * **Start at** and **End at (optional):** Count only trades between these dates. With no time window set, the task counts the last 30 days, the most MEXC keeps. * **Is progressive reward? (optional):** Scale the reward with how many times the user reaches the volume. Example: if 10 USDT of volume earns 2 points, 20 USDT earns 4 points. * **Max progressive amount (optional):** The highest volume used to calculate progressive rewards. Example: with a limit of 100,000 USDT, a user who trades 1,000,000 USDT still receives the reward for 100,000 USDT. * **Is continuous (optional):** Keep the task open after completion, so users keep earning as their volume grows. ## MEXC hold token 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **MEXC**. 4. Select **MEXC Hold Token** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Token:** The token ticker, for example `USDT`. * **Amount:** The amount of the token the user must hold. Claimr checks the balance when the user claims the task. Spot balances count, including tokens locked in open orders. ## MEXC deposit 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **MEXC**. 4. Select **MEXC Deposit** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Token:** The token ticker, for example `USDT`. * **Amount:** The amount the user must deposit, in the token. * **Network (optional):** Count only deposits that arrived on this network. Use the network name as MEXC shows it. Leave it empty to count any network. * **Time, h**, **Start at** and **End at (optional):** Count only deposits made in this window. Only deposits the exchange has credited to the account count. Deposits older than 89 days are never counted, because some exchanges keep no older deposit history. # OKX tasks Source: https://docs.claimr.io/tasks/okx-tasks Reward OKX users for connecting their account, passing KYC, trading, holding tokens and depositing onto the exchange. ## What are OKX tasks? OKX tasks let users connect their OKX account to Claimr through an API key they create on OKX. Claimr then reads the account to verify activity and reward it. There are 5 OKX task types: * **Connect OKX Account**: Link a user's OKX account with an API key. * **OKX KYC**: Verify that the connected account has completed identity verification. * **OKX Trading Volume**: Track the spot volume the user traded over a time window. * **OKX Hold Token**: Check that the user holds at least a set amount of a token. * **OKX Deposit**: Check that the user deposited at least a set amount of a token onto OKX. The user connects the account once, with the **Connect OKX Account** task. Every other OKX task reuses that key, and asks for one only if none is stored yet. ## Connect OKX account 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **OKX**. 4. Select **Connect OKX Account** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. Users create an API key in their OKX account settings and enter it in the task (API key, secret and passphrase). Only read-only keys are accepted. If a key can trade or withdraw, the task refuses it and asks the user for a read-only key, so Claimr never stores a key that could move funds. Once the key works, Claimr stores it for the user's other OKX tasks and marks the task as complete. ## OKX KYC 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **OKX**. 4. Select **OKX KYC** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. This task confirms that the connected OKX account has completed identity verification. The task passes once OKX reports KYC level 1 or higher. Claimr doesn't receive KYC data, only whether the account is verified. ## OKX trading volume 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **OKX**. 4. Select **OKX Trading Volume** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Symbol:** The spot trading pair, written the way OKX writes it (for example, `BTC-USDT`). To count several pairs, separate them with commas. Their volumes are added up, so pick pairs that share a quote currency. * **Volume:** The volume the user must reach, in the pair's quote currency. * **Maker volume only? (optional):** Count only trades where the user provided liquidity as a maker. * **Time, h (optional):** Count only trades from the last number of hours. * **Start at** and **End at (optional):** Count only trades between these dates. With no time window set, the task counts the last 90 days, the most OKX keeps. * **Is progressive reward? (optional):** Scale the reward with how many times the user reaches the volume. Example: if 10 USDT of volume earns 2 points, 20 USDT earns 4 points. * **Max progressive amount (optional):** The highest volume used to calculate progressive rewards. Example: with a limit of 100,000 USDT, a user who trades 1,000,000 USDT still receives the reward for 100,000 USDT. * **Is continuous (optional):** Keep the task open after completion, so users keep earning as their volume grows. ## OKX hold token 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **OKX**. 4. Select **OKX Hold Token** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Token:** The token ticker, for example `USDT`. * **Amount:** The amount of the token the user must hold. Claimr checks the balance when the user claims the task. The trading account and the funding account both count. Borrowed funds don't count. ## OKX deposit 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **OKX**. 4. Select **OKX Deposit** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Token:** The token ticker, for example `USDT`. * **Amount:** The amount the user must deposit, in the token. * **Network (optional):** Count only deposits that arrived on this network. Use the part of OKX's chain name after the token, for example `TRC20` for `USDT-TRC20`. Leave it empty to count any network. * **Time, h**, **Start at** and **End at (optional):** Count only deposits made in this window. Only deposits the exchange has credited to the account count. Deposits older than 89 days are never counted, because some exchanges keep no older deposit history. # Onchain KYC tasks Source: https://docs.claimr.io/tasks/onchain-kyc-tasks Check that users passed KYC on Coinbase or Binance, read from their wallet, with no API key. ## What are onchain KYC tasks? Onchain KYC tasks confirm that a user passed identity verification at a major exchange, using proof the exchange published onchain to the user's wallet. Users don't share an API key, and Claimr never receives their KYC data. There are two onchain KYC task types: * **Coinbase Verified**: The user holds Coinbase's Verified Account attestation on Base. * **Binance BABT**: The user holds a Binance Account Bound Token on BNB Chain. Both read the wallets the user signed in to Claimr with. One verified wallet is enough. ## Coinbase verified 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Identity & Proof of Humanity**. 3. In the Groups list, choose **KYC**. 4. Select **Coinbase Verified** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Require Coinbase One? (optional):** Check Coinbase One membership instead of a verified account. * **Countries (optional):** Comma separated ISO country codes, for example `US, GB`. The user must be verified in one of them. * **Excluded countries (optional):** Comma separated ISO country codes that can't take part. * **Verification link (optional):** Where users get verified, for example `https://www.coinbase.com/onchain-verify`. Coinbase issues these attestations on Base through the Ethereum Attestation Service. Claimr checks that Coinbase issued the attestation to the user's wallet and hasn't revoked it and that it hasn't expired. The country filters use a separate Coinbase country verification, which fewer users have. Users without it fail the task when either country filter is set. Claimr only compares the country and never stores it. ## Binance BABT 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Identity & Proof of Humanity**. 3. In the Groups list, choose **Binance**. 4. Select **Binance BABT** from the list of task types. 5. Click **Continue** to proceed to task settings. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Verification link (optional):** Where users mint their BABT, for example `https://www.binance.com/en/babt`. Only KYC-verified Binance users can mint a Binance Account Bound Token (BABT), and it can't be transferred. Holding one proves a verified Binance account. A BABT that Binance revoked no longer counts. # Onchain tasks Source: https://docs.claimr.io/tasks/onchain-tasks Track blockchain-based events directly in Claimr and automate rewards for verified on-chain activity without requiring API configuration. ## What are Onchain tasks? The Onchain task type allows you to track blockchain-based events directly in Claimr. Unlike API tasks that receive events through external API calls, Onchain tasks automatically read blockchain events directly and use them to trigger rewards. Use Onchain tasks to: * Reward users for specific blockchain actions recorded on-chain. * Track event counts or values tied to smart contract interactions. * Automate rewards for verified on-chain activity without requiring API configuration. Onchain tasks combine both event-based and value-based logic. They function similarly to API tasks but operate entirely on blockchain event data. For detailed information about general task settings, including task name, header, description, rewards, dependencies, and more, refer to [Task Settings](/tasks/task-settings). There are two main types of Onchain tasks you can configure: * **Onchain Events Count**: Count specific blockchain events. * **Onchain Events Value**: Track the total numeric value from blockchain events. ## Onchain events count Onchain events count type selection 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Web3**. 4. Then, select **Onchain Events Count** from the list of task types. 5. Click **Continue** to proceed to task settings. Now move on to configuring the specific settings for your task. Onchain events count settings * **Completion points:** Set the number of points awarded once the user reaches the required event count. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. For example, a 5% multiplier increases the final reward by 5%. * **Recurrence:** Control how often users can complete the task: * **Once** - can only be completed one time per user. * **8h** - available once every eight hours. * **Daily** - available once every 24 hours. * **Weekly** - available once every 7 days. * **Multiple** - stays open and can be completed as many times as needed, one after another, without any waiting time. * **Event category (optional):** Create a tag that helps you organize and group event types. * **Event name:** Set the exact event identifier being tracked. Example: "Session". * **Query (optional):** Create a filter that defines which blockchain events should be counted based on specific parameters inside the event data. Example: `[?age > '21']` This filter counts only those events where the field "age" is greater than 21. If no query is set, all received events are counted. * **Events count:** Set the minimum number of blockchain events required to trigger the reward. * **Start at (optional):** The date and time when the task becomes active. If set, events that occur before this time are ignored. * **End at (optional):** The date and time when the task stops being active. If set, events after this time are ignored. If both **Start at** and **End at** are defined, only events that occur within this period are counted. * **Claim button text (optional):** Customize the task's claim button. Example: "Get your reward". * **Refresh button text (optional):** Customize the button that updates task progress. Example: "Update". #### Optional toggles * **Hide progress?** Hide progress information from the user interface. * **Is progressive reward?** Enable scaling of the final reward based on how much the user exceeds the required event value. Example: if the expected value is 100 and the user reaches 300, they receive 3× the reward. * **Is continuous?** Keep the task open after completion so users can continue earning additional points each time they reach the required value again. This option also affects recurrence logic. * With daily recurrence and continuous off - the total value is counted across all events. * With daily recurrence and continuous on - only the value from the last 24 hours is considered. * **Max progressive value (optional):** Set the highest total value used to calculate progressive rewards. If the user exceeds this number, the reward is capped at the maximum. Example: if the maximum progressive value is 1,000 and the user reaches 10,000, they receive the reward for 1,000 only. Once you're done: Click **Create task** to save and add it to your quest right away. You'll now see the task listed in your quest. From there, you can reorder it, delete it, or edit it anytime. Or click **Advanced settings** to configure additional options specific to this task type. ## Onchain events value Onchain events value type selection 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Web3**. 4. Then, select **Onchain events value** from the list of task types. 5. Click **Continue** to proceed to task settings. Now move on to configuring the specific settings for your task. Onchain events value settings * **Completion points:** The number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. * **Recurrence:** Control how often users can complete the task: * **Once** - can only be completed one time per user. * **8h** - available once every eight hours. * **Daily** - available once every 24 hours. * **Weekly** - available once every 7 days. * **Multiple** - stays open and can be completed as many times as needed, one after another, without any waiting time. * **Event category (optional):** Create a tag that helps you organize and group event types. * **Event name:** Set the exact blockchain event identifier being tracked. Example: "Transfer". * **Query (optional):** Configure a path that extracts or filters the numeric value from incoming blockchain events. Example: `[].data.bet` - extracts the bet value from each event in a list. If no query is set, all event values are included. * **Events value:** Set the minimum total value across all received events required to trigger the reward. * **Start at (optional):** Set the date and time when the task becomes active. If set, events that occur before this time are ignored. * **End at (optional):** Set the date and time when the task stops being active. If set, events after this time are ignored. If both Start at and End at are defined, only events that occur within this period are counted. * **Claim button text (optional):** Customize the label for the task's claim button. Example: "Get reward". * **Refresh button text (optional):** Customize the label for the button that updates task progress. Example: "Update". **Optional toggles** * **Hide progress?** Hide progress information from the user interface. * **Is progressive reward?** Enable scaling of the final reward based on how much the user exceeds the required event value. Example: if the expected value is 100 and the user reaches 300, they receive 3× the reward. * **Is continuous?** Keep the task open after completion so users can continue earning additional points each time they reach the required value again. This option also affects recurrence logic. * With daily recurrence and continuous off - the total value is counted across all events. * With daily recurrence and continuous on - only the value from the last 24 hours is considered. * **Max progressive value (optional):** Set the highest total value used to calculate progressive rewards. If the user exceeds this number, the reward is capped at the maximum. Example: if the maximum progressive value is 1,000 and the user reaches 10,000, they receive the reward for 1,000 only. Once you're done: Click **Create task** to save and add it to your quest right away. You'll now see the task listed in your quest. From there, you can reorder it, delete it, or edit it anytime. Or click **Advanced settings** to configure additional options specific to this task type. # Tasks Source: https://docs.claimr.io/tasks/overview See what you can do with Claimr tasks and find your way into task creation, task settings, and every task type across social, Web3, forms, and more. Tasks are the individual actions you want users to complete. Each task represents a specific activity - visiting a page, signing up for your newsletter, connecting a wallet, sharing on social media, or any custom action you define. ## What you can do with Claimr tasks **Create diverse experiences**: Choose from a wide range of task types to keep your campaigns fresh and engaging. Use pre-built templates for quick setup or create custom tasks with webhooks and API integrations. **Give clear instructions**: Set up each task with descriptions and step-by-step guidance so users know exactly what to do. Add images or videos to make instructions even clearer. **Track progress automatically**: Claimr monitors task completion in real-time and gives users instant feedback on their progress. Set validation rules to ensure tasks are completed correctly. **Reward every action**: Attach points, badges, or exclusive perks to your tasks. Incentivize participation and drive the specific behaviors that help you reach your goals. **Build structured journeys**: Organize tasks within quests, then group quests into campaigns. This hierarchy creates a clear path for users to follow while helping you achieve your broader objectives. Add a new task to your quest and configure its core settings. Configure how users interact with your tasks and what they earn. Grow your community and engage users through Telegram. Increase your X presence and drive meaningful interactions. Boost visibility and engagement with your TikTok content. Grow your Discord community and reward member activity. Build a loyal community of subscribers and viewers. Reward wallet connections, balances, and on-chain activity. Trigger and verify tasks with custom HTTP requests. Reward users for bringing new participants into your campaign. Collect user data and feedback with integrated forms. # Polymarket tasks Source: https://docs.claimr.io/tasks/polymarket-tasks Reward Polymarket activity, from trading volume to positions in your own market, verified from the wallet the user connected. ## What are Polymarket tasks? Polymarket tasks reward prediction market activity, read from the Ethereum wallet the user signed in to Claimr with. Users don't need to share an API key. Polymarket trades from a separate wallet that the user's own address controls. Claimr finds it automatically: it asks Polymarket's public profile for it, and also works out each wallet type Polymarket creates for that address. Only the user's own wallets are ever counted. There are 5 Polymarket task types: * **Polymarket Trading Volume**: USDC the user traded on Polymarket over the window. * **Polymarket Trades Count**: How many trades the user made on Polymarket. * **Polymarket Markets Traded**: How many different markets the user has traded, over their whole history. * **Polymarket Portfolio Value**: The current value of the user's open positions. * **Polymarket Hold Position**: The user holds a position in your market right now, worth at least the set amount at the current price. Use it for "take a side on our market" quests. Polymarket's data API returns at most 5,500 trades per query. For very active traders, set a time window so the count stays accurate. ## Trading volume 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Polymarket**. 4. Select **Polymarket Trading Volume** from the list of task types. 5. Click **Continue** to proceed to task settings. USDC the user traded on Polymarket over the window. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Volume, USDC:** The volume the user must reach. * **Markets (optional):** Comma separated market condition IDs. Empty counts every market. * **Time, h**, **Start at** and **End at (optional):** Count only activity in this window. With none set, all available history counts. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. * **Is progressive reward?**, **Is continous** and **Max progressive value (optional):** Scale the reward with how many times the user reaches the target, up to the cap. ## Trades count 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Polymarket**. 4. Select **Polymarket Trades Count** from the list of task types. 5. Click **Continue** to proceed to task settings. How many trades the user made on Polymarket. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Count:** How many trades are needed. * **Min trade, USDC (optional):** Trades smaller than this don't count. * **Markets (optional):** Comma separated market condition IDs. * **Time, h**, **Start at** and **End at (optional):** Count only activity in this window. With none set, all available history counts. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. * **Is progressive reward?**, **Is continous** and **Max progressive value (optional):** Scale the reward with how many times the user reaches the target, up to the cap. ## Markets traded 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Polymarket**. 4. Select **Polymarket Markets Traded** from the list of task types. 5. Click **Continue** to proceed to task settings. How many different markets the user has traded, over their whole history. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Count:** How many markets are needed. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. ## Portfolio value 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Polymarket**. 4. Select **Polymarket Portfolio Value** from the list of task types. 5. Click **Continue** to proceed to task settings. The current value of the user's open positions. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Amount, USDC:** The portfolio value to reach. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. ## Hold position 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select **Onchain Actions**. 3. In the Groups list, choose **Polymarket**. 4. Select **Polymarket Hold Position** from the list of task types. 5. Click **Continue** to proceed to task settings. The user holds a position in your market right now, worth at least the set amount at the current price. Use it for "take a side on our market" quests. * **Completion points:** Set the number of points awarded when the user completes the task. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. Example: a 10% multiplier increases the final reward by 10%. * **Markets:** Comma separated market condition IDs. * **Outcome (optional):** The outcome the position must be on, for example `Yes`. Empty for any outcome. * **Amount, USDC:** The position value to reach. * **Trading link (optional):** A link shown under the progress bar, for example to your market. * **Claim Button Text**, **Refresh Button Text** and **Hide progress? (optional):** Customize the task card. # PoW tasks Source: https://docs.claimr.io/tasks/pow-tasks Verify user actions by requiring them to submit evidence of completion before earning rewards. ## What are PoW tasks? Proof of Work (PoW) tasks require users to submit proof that they completed a specific action. You review the submitted evidence and approve or reject it. This verification process ensures users genuinely engage with your content and earn rewards for real effort. **Use PoW tasks to:** * Verify that users completed specific actions (watched a video, wrote a review, created content) * Encourage meaningful interactions that require active participation * Reduce fraud by deterring bot activity * Collect and verify user-generated content For detailed information about general task settings, including task name, header, description, rewards, dependencies, and more, refer to [Task Settings](/tasks/task-settings). ## Task settings Claimr offers three types of Proof of Work tasks. 1. When creating your task, select **Identity & Proof of Humanity** from the category tabs. Identity and Proof of Humanity category selection 2. Select **Proof of Work** to indicate the task requires the users' proof of work. 3. Select the specific form task type from the list, considering your aim: **Image, Link, or Custom task**. Once you've selected the task type, move on to configuring the specific settings for your task. ### Custom task Require users to submit a text-based answer as verification of completing a task. Custom task PoW settings * **Completion points**: Set the number of points awarded once the user reaches the required event count. * **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 5% multiplier increases the final reward by 5%. * **Recurrence**: Control how often users can complete the task: * **Once** - can only be completed one time per user * **8h** - available once every eight hours * **Daily** - available once every 24 hours * **Weekly** - available once every 7 days * **Multiple** - stays open and can be completed as many times as needed, one after another, without any waiting time All other settings are optional. You can customize the task based on your specific needs. * **Message**: Enter the question or instruction that users will see and respond to. This can be the prompt for their text answer. * **WIP Message**: Add a message displayed after users submit their answer while awaiting verification. Example: "You'll get the points once our team checks the task" * **Auto confirm?**: Toggle this on to automatically approve all answers without manual review. Use with caution - only when confident in the verification method. * **Long Text?**: Toggle this on if you expect users to provide longer answers. This provides a larger text area for their response. * **Button text**: Customize the text of the button users click to submit their answer. Example: "Submit my task" * **Resubmit button text**: Customize the text of the button users click to resubmit if rejected. Example: "Resubmit my task" ### Image as Proof of Work Require users to upload an image as verification of completing a task. Image as Proof of Work settings * **Completion points**: Set the number of points awarded once the user's image is approved. * **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 5% multiplier increases the final reward by 5%. * **Recurrence**: Control how often users can complete the task: * **Once** - can only be completed one time per user * **8h** - available once every eight hours * **Daily** - available once every 24 hours * **Weekly** - available once every 7 days * **Multiple** - stays open and can be completed as many times as needed, one after another, without any waiting time All other settings are optional. You can customize the task based on your specific needs. * **WIP Message**: Message displayed after users upload their image while awaiting verification. Image PoW WIP message * **Show text input**: Toggle this on to add a text field alongside the image upload. Useful for collecting context, explanations, or user identification. * **Text Input Title**: Set the prompt for the text input field. Only appears when "Show text input" is enabled. Example: "Your nickname" * **Auto confirm?**: Toggle this on to automatically approve all image submissions without manual review. Use with extreme caution - only for tasks where any uploaded image constitutes valid proof. ### Link as Proof of Work Require users to submit a URL as verification of completing a task. Link as Proof of Work settings * **Completion points**: Set the number of points awarded once the user's link is approved. * **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 5% multiplier increases the final reward by 5%. * **Recurrence**: Control how often users can complete the task: * **Once** - can only be completed one time per user * **8h** - available once every eight hours * **Daily** - available once every 24 hours * **Weekly** - available once every 7 days * **Multiple** - stays open and can be completed as many times as needed, one after another, without any waiting time All other settings are optional. You can customize the task based on your specific needs. * **WIP Message (optional)**: Message displayed after users submit their link while awaiting verification. * **Regular Expression (optional)**: Enter a regular expression (RegEx) to validate the URL format. If the URL doesn't match the pattern, the submission will be rejected. Example: `.*🚀.*Claimr\.io.*` allows for any characters before or after the emoji and the website link. If you need help creating a regular expression for your specific requirements, refer to online or AI resources for guidance. **Regular expression builder:** [https://regex101.com/](https://regex101.com/) * **Auto confirm?**: Toggle this on to automatically approve all link submissions without manual review. ## Save and preview After configuring your PoW task settings: **Advance settings**: Click to configure additional task settings like dependencies, completion pop-ups, and metadata **Create task**: Click to save your task and add it to your quest To see how your task will appear to users, click **Preview**. This will open a new tab showcasing three different views: desktop, tablet, and mobile. You can toggle between these views to ensure your task looks and functions seamlessly across all devices. Preview mode Test your PoW task yourself before launching. Submit proof as a user would to verify the process works smoothly and your instructions are clear. ## Managing PoW submissions Track and review all PoW task submissions through the Analytics section of your Claimr dashboard. * **View submissions:** See a list of all users who have submitted proof for a particular PoW task. * **Review evidence:** Examine the submitted proof (image, link, or answer) provided by each user. * **Approve or reject:** Manually approve or reject each submission based on whether the user has fulfilled the task requirements. * **Analytics:** Track approved and rejected submissions. For more information, read [PoW analytics](/data-analytics/pow-analytics). # Reddit tasks Source: https://docs.claimr.io/tasks/reddit-tasks Reward users for upvoting Reddit posts, boosting visibility and directing attention to your campaigns and announcements. ## What are Reddit tasks? Reddit tasks in Claimr allow you to reward users for specific actions on Reddit. **Use Reddit tasks to:** * **Increase post visibility**: Boost upvotes to push your content higher within subreddit feeds. * **Support community growth**: Direct attention to announcements, campaigns, or Web3-related discussions. * **Automate validation**: No need for manual proof - just link the Reddit post and let users engage. ## Task type Choose the specific type of task you want to create for your campaign. Reddit task type section 1. Select **Reddit** to indicate that the task will be completed with this specific platform. 2. Considering your aim, select the specific task type from the expanded list. ## Reddit upvote Reward users for upvoting a specific Reddit post. Reddit upvote task settings * **Completion points**: Set how many points a user earns after successfully upvoting the Reddit post. * **Points multiplier (%)**: Add an optional bonus. The multiplier increases the base reward by a percentage. For example, if your completion points are set to 100 and your multiplier is 5%, the final reward is 105 points. * **Post URL**: Paste the full Reddit post link you want users to upvote. Once you're done: * Click **Create task** to save and add it to your quest right away. You'll now see the task listed in your quest. From there, you can reorder it, delete it, or edit it anytime. * Or, click **Advanced settings** to continue configuring more options specific to the selected task type. ## User experience Here's how it works for users: Reddit upvote task user experience 1. The user logs in and clicks the upvote task. 2. They're redirected to the linked Reddit post. 3. After upvoting, Claimr verifies the action, and the user is awarded points automatically. There's no need for screenshots or links - the task is confirmed based on interaction, providing a seamless and fast user experience. # SDK tasks Source: https://docs.claimr.io/tasks/sdk-tasks Trigger task completion manually from your own system using Claimr's SDK for maximum developer flexibility. ## What is the SDK task? The SDK task in Claimr is a fully developer-triggered task, designed for maximum flexibility. Unlike other tasks that rely on user-facing actions, SDK tasks are triggered manually from your own system using Claimr's SDK. Use SDK tasks to: * Reward users for in-product actions (e.g., completing onboarding, watching a full tutorial, etc.) * Trigger rewards based on events tracked in your own platform * Seamlessly integrate Claimr into your existing app or website ## Create an SDK task To create this task in Claimr: SDK task type selection 1. Go to your quest and click **+ Create new task**. 2. Under the Category section, select General. 3. In the Groups list, choose **SDK**. 4. Then, select **SDK FrontEnd** from the list of task types. 5. Click **Continue** to proceed to task settings. SDK task settings * **Completion points:** Set the number of points awarded once the user reaches the required event count. * **Points multiplier (%):** Add a percentage-based bonus to the total reward. For example, a 5% multiplier increases the final reward by 5%. ## How the task is completed To complete an SDK task, call the `complete_task` method of the Claimr SDK from the page that shows the widget: ```js theme={"dark"} window.claimr.complete_task('TASK_ID'); ``` Replace `TASK_ID` with the actual ID of the SDK task. Once the call succeeds, the task is marked as complete and the user is rewarded. The widget must be loaded when you make the call. If your app renders the widget itself, wait until `window.claimr.is_claimr_ready` is `true`. You can learn more about this method in the [SDK documentation](/sdk-guide). ## Use case example Let's say you run a crypto wallet app. You want users to receive rewards only after they import an existing wallet and activate two-factor authentication. Once these steps are verified in your system, you can call the `complete_task` method via the Claimr SDK, and the user gets rewarded within the Claimr quest. # Task settings Source: https://docs.claimr.io/tasks/task-settings Configure task info, general settings, rewards, completion pop-ups, dependencies, and advanced settings for any task type. Each task includes settings that control its behavior, appearance, and rewards. While some settings are universal across all tasks, each task type has unique configuration options based on its specific functionality. ## Before you start Make sure you have: * A task created within your quest * A clear understanding of what action you want users to complete * Your reward structure planned ## Access task settings From your campaign dashboard, go to the **Quests** tab and click on the quest containing the task you want to configure. Locate the task in your quest's task list. Task list with action options You'll see several action options: * **Edit**: Open the task settings panel (click this to configure your task) * **View**: Preview how the task appears to users * **Copy**: Duplicate the task with all its settings * **Delete**: Remove the task from your quest Click **Edit** to open the task settings panel. The panel opens with task-specific settings visible and other sections collapsed. ## Task info View your task's basic identification details at the top of the settings panel. Task info panel **ID**: Your task's unique identifier. Click the copy icon to copy it to your clipboard for API integrations or tracking purposes. **Name**: The internal name of your task. This auto-fills based on your task type but you can edit it anytime for better organization. ## Task settings Configure the specific behavior for this task type. These settings vary depending on which task you created. For detailed configuration options specific to each task type, visit the corresponding task article. ## General settings Configure how your task appears and communicates with users. Click the **+** icons to expand each option. General settings panel General settings panel expanded ### Task header Click **+ Task header** to add the main instruction users see for this task. Enter short, action-oriented text that clearly tells users what to do. Keep it concise and direct. **Task header tags** Use these tags within the task header to display reward information: * `{points}`: Displays the number of points users will earn * `{icon}`: Displays the icon associated with points in your campaign * `{xp}`: Displays the name or label used for points in your campaign (e.g., "XP", "Tokens") Example: "Complete this task to earn `{points}` `{xp}`" Click the trash icon to remove the task header. ### Task completion message Click **+ Task completion message** to add the message users see after successfully completing the task. Enter text that acknowledges their achievement and encourages next steps. Use the same tags available in task headers: `{points}`, `{icon}`, `{xp}` Click the trash icon to remove the completion message. ### Task failure message Click **+ Task failure message** to add a message shown when users fail to complete the task. Enter friendly, helpful text that guides users to try again. Click the trash icon to remove the failure message. ### Description Click **+ Description** to open a rich text editor where you create detailed task instructions. Description rich-text editor Add detailed instructions, examples, or links to help users complete the task successfully. 1. Click **+ Description** to open the text editor 2. Enter your description using the formatting tools 3. Select text style and color 4. Add links or images as needed 5. Click **Save** when finished **Task description**: The main content area where you write your instructions. **Edit**: Click to modify the description content. **Animation type**: Select from the dropdown to choose how the description appears. * "typing" displays the text with a typing animation effect * "none" shows the description immediately **Collapse description**: Toggle this on to condense the description initially. * **Toggle off**: Full description is visible immediately * **Toggle on**: Description shows condensed with a "Show more" option This keeps your task card clean while giving interested users access to full details. Use the task description to highlight benefits, provide clear examples, and include any helpful resources. The clearer your instructions, the higher your completion rate. ### Task description tags Personalize your task descriptions and dynamically display information relevant to each user, making the task experience more engaging and tailored. **How to use tags** Insert the tag directly into the text editor when creating or editing the task description. Simply type the tag (e.g., `{user.name}` or `{user.points}`). Save your changes to the task description. When a user views the task, the tags automatically replace with the corresponding information specific to that user. To see all available tags, visit the [Descriptions: creation, usage, tags](/descriptions-creation-usage-tags) article. Make sure all tags are correctly formatted so they are recognized and processed by Claimr. ### Task banner Click **+ Task banner** to upload a visual image for your task card. Upload an eye-catching image that represents your task or campaign theme. * Click the image thumbnail to edit or replace * Click the trash icon to remove the banner * Use high-quality images that match your brand ## Task rewards Define how users earn points and rewards for completing this task. Click **+** to expand the Task rewards section. Balance your reward structure to ensure it's both motivating and sustainable for your campaign. Too few points might not incentivize participation, while too many could deplete your reward pool quickly. Task rewards panel Task rewards panel expanded ### Points Enter the base reward given when a user successfully completes the task. Consider the effort required. Align with your campaign's point economy. ### Points multiplier Click **+ Points multiplier** to add a percentage boost to the base reward. Enter a percentage value to increase the points. Example: 100 points with 5% multiplier = 105 total points. ### Referral points Click **+ Referral Points** to set bonus points for users who referred someone that completes this task. Enter the number of points awarded to the referrer when their invitee completes this task. Encourage users to share your campaign and reward community growth. ### Rewards Click **+ Rewards** to set up custom rewards beyond points. Click **+ Create** to open the reward creation dialog where you can: * Name your reward * Upload an image * Choose reward type (Web3 token, Discord role, gift code, etc.) * Configure network or value as needed For complete instructions on creating and configuring rewards, check out the [Rewards](/rewards/overview) article. ## Completion pop-up Show users a custom message immediately after they complete your task. Click **+** to expand the Completion pop-up section. Completion pop-up section **Enable completion pop-up**: Toggle this on to activate the completion message. **Pop-up configuration**: View and edit the message users see after completing the task. Add your message with visuals, formatting, links, or call-to-action content. Click **Save** when finished. **Animation type**: Select how the pop-up appears from the dropdown menu. Use the completion pop-up to reinforce achievement, celebrate user success, give next steps, or drive further engagement. ## Dependencies Control the flow of your campaign by specifying which tasks must be completed before this one becomes accessible. Click **+** to expand the Dependencies section. Dependencies section **Open after tasks**: Select which tasks users must complete before accessing this task. Selected tasks appear as tags (e.g., "Watch a video"). Click the **x** to remove a dependency. **Is optional**: Toggle this on to make the prerequisite tasks optional rather than mandatory. * **Toggle off**: Users must complete all prerequisite tasks * **Toggle on**: Users can skip prerequisites Create a strategic path for users to follow by chaining tasks together. This builds engagement progressively and ensures users don't skip important steps. ## Advanced settings Add internal metadata and tracking information not visible to users. Click **+** to expand the Advanced settings section. Advanced settings section Use it for internal notes, tracking information, or reference IDs. Add any relevant details for your team's use. This information isn't shown to participants. ## Save and preview After configuring your task settings: **Save changes**: Click the green **Save changes** button at the bottom to apply all your configurations. **Close**: Click **Close** to exit without saving changes. **Preview**: Click **Preview** to see how your task appears to users. * Opens in a new tab * Shows desktop, tablet, and mobile views * Toggle between device types to ensure your task looks and functions seamlessly across all devices ## What to do next Now that your task is configured: 1. **Test your task** - Complete it yourself to verify everything works 2. **Add more tasks** - Build out your complete quest journey 3. **Monitor performance** in the [Data analytics](/data-analytics/overview) section - Track completion rates and user engagement # Telegram tasks Source: https://docs.claimr.io/tasks/telegram-tasks Connect with your community on Telegram, fostering engagement and growth with Claimr's Telegram task type. ## What is a Telegram task? Leverage the power of Telegram to grow your community and engage users within your Claimr campaigns. **Use Telegram tasks to:** * Increase your Telegram group or channel members. * Encourage users to participate in Telegram discussions or activities. * Promote your Telegram community within your Claimr campaigns. * Reward users for joining and interacting with your Telegram group or channel. * Track the effectiveness of your Telegram marketing efforts. For detailed information about general task settings, including task name, header, description, rewards, dependencies, and more, refer to the [Task settings](/tasks/task-settings) article. ## Task type Choose the specific type of task you want to create for your campaign. Telegram task type section 1. Select **Telegram** to indicate that the task will be completed with the Telegram platform. 2. Considering your aim, select the specific task type from the expanded list. ## Join Telegram channel ### Add the Claimr bot to the channel/group Before creating a Telegram task, it's essential to add the Claimr bot to your Telegram group or channel. This bot will facilitate seamless interaction between your campaign and Telegram, enabling you to track task completion and distribute rewards. Just copy Claimr's bot link [https://t.me/claimr\_bot](https://t.me/claimr_bot) and add it to your Telegram group/channel **as an admin**. Remember, accuracy is crucial when entering the ID to ensure Claimr can correctly interact with your Telegram group or channel. Join Telegram channel task settings **Completion points**: Set the base points a user earns once the required event count is reached. **Points multiplier (%)**: Apply a percentage bonus to the base points (e.g., 5 → +5%). **Group or Channel ID**: Add the numeric Telegram ID for the group/channel you're checking. * Option 1: Telegram app: open the group/channel, tap its name to view details, copy the ID (if visible), then paste it here. * Option 2: Web browser: open your group/channel on web.telegram.org; copy the number at the end of the URL (e.g., …/#-123456789). **Invite link**: Add the join link for your group/channel (e.g., `https://t.me/your_handle` or a generated invite link). **Is intent? (optional)**: Enable to require a manual confirmation step before the task is marked complete. ## Error handling While setting up your Telegram task, encountering errors is a possibility. Claimr provides clear error messages to help you troubleshoot and resolve any issues promptly. Telegram task error message 1. **Double-check the group/channel ID**: Verify that you've entered the correct Telegram group or channel ID in the task settings. 2. **Confirm bot membership**: Make sure the Claimr bot has been added as a member of your Telegram group or channel. If not, follow the instructions in the Claimr interface to add the bot. 3. **Check privacy settings (Groups)**: For Telegram groups, ensure the group's privacy settings allow the bot to see messages and member lists. If you continue to experience issues, contact Claimr's support team for further assistance. # TikTok tasks Source: https://docs.claimr.io/tasks/tiktok-tasks Increase your brand's visibility, reach a wider audience, and encourage users to actively engage with your TikTok content by incorporating Claimr tasks. ## What is a TikTok task? TikTok tasks are interactive activities within Claimr campaigns that leverage the TikTok platform to engage users and drive specific actions. These tasks can range from following your TikTok account and liking or sharing videos to participating in challenges and creating user-generated content. **Use TikTok tasks to:** * Increase your TikTok followers. * Promote your videos and drive engagement. * Run contests and giveaways on TikTok. * Increase brand awareness and social media presence. * Encourage users to participate in challenges or trends on TikTok. For detailed information about general task settings, including task name, header, description, rewards, dependencies, and more, refer to the [Task settings](/tasks/task-settings) article. ## Task type Choose the specific type of task you want to create for your campaign. TikTok task type section 1. Select **TikTok** to indicate that the task will be completed with the TikTok platform. 2. Considering your aim, select the specific task type from the expanded list. ## Task settings TikTok tasks in Claimr are **verified**. This means Claimr checks if the user has actually completed the required action before marking the task as complete. This ensures that users genuinely engage with your TikTok content. ### Followers count Reward users for having a certain number of followers on their TikTok account. TikTok followers count task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **Minimum Followers**: Enter the minimum required number of followers that a user must have on their TikTok account to complete this task. ### Name verification Reward users for changing their TikTok nickname to a specific value or pattern. This can promote your brand, campaign, or event or encourage users to align their TikTok identity with your community. TikTok name verification task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **Expected text (optional)**: Enter the exact text that must appear in the user's submission to mark the task as complete. For example, #Claimr or Check out my latest campaign. According to TikTok, users can change their nicknames once every 7 days. [TikTok's Help Center](https://support.tiktok.com/en/getting-started/setting-up-your-profile/changing-your-nickname) states that nicknames must adhere to their Community Guidelines. **RegEx (optional)**: Add a regular expression pattern to validate user submissions using advanced matching logic. For example, `^#Claimr\b` to require that the text starts with #Claimr. ### Bio verification Reward users for adding specific information to their TikTok bio. This can be useful for promoting your brand, campaign, or event, or for encouraging users to align their bio with your community. TikTok bio verification task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **Expected text (optional)**: Enter the text users need to include in their TikTok bio. This could be your brand name, a campaign slogan, any other specific text, or emojis. **RegEx (optional)**: Add a regular expression pattern to validate user submissions using advanced matching logic. **Example:** If you want users to include a specific emoji or a link to your website in their bio, you could use a regular expression like `.*🚀.*Claimr\.io.*` to allow for any characters before or after the emoji and the website link. **Resources** * **Regular expression builder**: [https://regex101.com/](https://regex101.com/) * **AI assistants** Regular expressions can be complex. If you need help creating a regular expression for your specific requirements, refer to online resources for guidance. ### Submit video Reward users for submitting videos on TikTok. This task type helps encourage users to create and share content related to your campaign, brand, or product. TikTok submit video task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **Recurrence**: Control how often users can complete the task: * Once - can only be completed one time per user. * Daily - available once every 24 hours. * Weekly - available once every 7 days. * Multiple - stays open and can be completed as many times as needed, one after another, without any waiting time. **Need approval? (optional)**: Turn on to require manual review and approval before the task is marked as complete. ### Post video Reward users for posting videos on TikTok. This task type helps encourage users to create and share content related to your campaign, brand, or product. TikTok post video task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. # UGC tasks Source: https://docs.claimr.io/tasks/ugc-tasks Reward users for creating and sharing content across social platforms like X, TikTok, and YouTube. ## What are UGC tasks? User-Generated Content (UGC) tasks reward users for creating and sharing content across social platforms. These tasks encourage users to produce posts, videos, images, or links related to your campaign and optionally reward them based on content performance. **Use UGC tasks to:** * Encourage content creation across platforms like X (Twitter), TikTok, and YouTube * Track post performance through impressions or views * Reward top contributors based on engagement metrics * Collect user-generated images and links For detailed information about general task settings, including task name, header, description, rewards, dependencies, and more, refer to [Task Settings](/tasks/task-settings). ## Configure UGC task When creating your task, select **User Generated Content** from the Groups section in the General category. UGC task type selection You'll see the following task options: * **Submit X post** - User submits their own X post for review * **Submit TikTok video** - User submits a TikTok video link for validation * **Submit YouTube video** - User submits a YouTube video link for approval * **UGC image** - User uploads an image as proof or content * **UGC link** - User submits a link as user-generated content Select the task type that matches your campaign needs, then click **Continue**. ## Submit X post Reward users for submitting a post on the X platform. This task type encourages users to create and share content related to your campaign, brand, or product on X. Submit X post task settings **Completion points**: Set the base points a user earns once the required event count is reached. **Points multiplier (%)**: Apply a percentage bonus to the base points (e.g., 5 → +5%). **Recurrence**: Control how often the same user can complete this task: * **Once** - can be completed one time per user * **8h** - available once every eight hours * **Daily** - available once every 24 hours * **Weekly** - available once every 7 days * **Multiple** - stays open and can be completed back-to-back with no waiting time **Expected text (optional)**: Require an exact string that must appear in the user's X post text. **RegEx (optional)**: Use a regular expression (RegEx) to define a pattern the post must match. This is useful for allowing different spellings, capitalizations, or the inclusion of emojis. Example: `.*🚀.*Claimr\.io.*` allows for any characters before or after the emoji and the website link. **Should contain image? (optional)**: Enable to require the X post to include at least one image. **Need approval? (optional)**: Enable to require manual review and approval before points are awarded. ## Submit TikTok video Reward users for submitting videos on TikTok. This task type encourages users to create and share content related to your campaign, brand, or product. Submit TikTok video task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **Recurrence**: Control how often users can complete the task: * **Once** - can only be completed one time per user * **Daily** - available once every 24 hours * **Weekly** - available once every 7 days * **Multiple** - stays open and can be completed as many times as needed, one after another, without any waiting time **Need approval? (optional)**: Turn on to require manual review and approval before the task is marked as complete. ## Submit YouTube video Reward users for submitting videos on YouTube. This task type encourages users to create and share content related to your campaign, brand, or product. Submit YouTube video task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **Recurrence**: Control how often users can complete the task: * **Once** - can only be completed one time per user * **Daily** - available once every 24 hours * **Weekly** - available once every 7 days * **Multiple** - stays open and can be completed as many times as needed, one after another, without any waiting time **Need approval? (optional)**: Turn on to require manual review and approval before the task is marked as complete. ## UGC image User uploads an image as proof or content. UGC image task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 5% multiplier increases the final reward by 5%. **Recurrence**: Control how often users can complete the task: * **Once** - can only be completed one time per user * **8h** - available once every eight hours * **Daily** - available once every 24 hours * **Weekly** - available once every 7 days * **Multiple** - stays open and can be completed as many times as needed, one after another, without any waiting time **Need approval? (optional)**: Turn on to require manual review and approval before points are awarded. ## UGC link User submits a link as user-generated content. UGC link task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 5% multiplier increases the final reward by 5%. **Recurrence**: Control how often users can complete the task: * **Once** - can only be completed one time per user * **8h** - available once every eight hours * **Daily** - available once every 24 hours * **Weekly** - available once every 7 days * **Multiple** - stays open and can be completed as many times as needed, one after another, without any waiting time **Regular Expression (optional)**: Enter a regular expression (RegEx) to validate the URL format. Example: `^(https?:\/\/)?(www\.)?([x|twitter]\.com)(\/.*)$` to allow for any characters before or after the URL pattern. **Need approval? (optional)**: Turn on to require manual review and approval before points are awarded. ## How "Multiple" setting works for users When a UGC task is set to recurrence = multiple, users see a gallery sourced from their connected account and the history of sent content. UGC gallery for multiple recurrence Users can: * Browse their previous submissions * Select content from their connected platform * Submit new content multiple times * Track which content has already been submitted ## Save and preview After configuring your UGC task settings: **Advance settings**: Click to configure additional task settings like dependencies, completion pop-ups, and metadata. To find out more, read our [Task Settings](/tasks/task-settings) article. **Create task**: Click to save your task and add it to your quest **Pro tip**: Enable "Need approval?" for tasks where content quality matters. This lets you review submissions before awarding points and ensures brand-appropriate content. # Connect a wallet Source: https://docs.claimr.io/tasks/web3-tasks/connect-a-wallet Incentivize users to connect their cryptocurrency wallets to your Claimr campaign. This task is often a crucial first step for enabling users to participate in Web3 activities, such as claiming tokens, minting NFTs, or interacting with decentralized applications (dApps). ### Before you start Make sure you have: * A quest created within your campaign * A clear understanding of which blockchain networks you want to support * A message prepared for wallet signature verification ### Create the task Follow the steps in [Web3 tasks](/tasks/web3-tasks/overview) to navigate to the task creation screen, select **Web3** from the Groups section, and choose **Connect a Wallet**. ### Task settings Connect a wallet task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **Message (optional)**: Enter the message that the user will be asked to sign when connecting their wallet. This signature verification process ensures that the user truly owns the wallet they are connecting. This message is a crucial part of the wallet connection process and helps prevent unauthorized access. Example: "I hereby verify that I own this wallet and am authorizing it to connect to this Claimr campaign." **Network selection toggles**: Choose the specific blockchain networks you want to allow users to connect their wallets to. **Wallet Name (optional)**: Specify the name of the wallet provider you want to use for this task. ### Helpful tips * Provide clear and concise instructions on how to connect a wallet in your task description * Reassure users about the security of their wallet connection and emphasize that you will not have access to their private keys * Enable multiple networks if your campaign supports cross-chain participation # Link3 balance Source: https://docs.claimr.io/tasks/web3-tasks/link3-balance Verify and reward users based on their balance of Link3 tokens. Link3 is a Web3 social network that utilizes NFTs for profile pictures and offers various social features. Encourage users to join the Link3 platform, participate in its ecosystem, or reward those who already hold Link3 tokens. ### Before you start Make sure you have: * A quest created within your campaign * Knowledge of which blockchain network(s) support Link3 tokens * A minimum Link3 token balance threshold determined ### Create the task Follow the steps in [Web3 tasks](/tasks/web3-tasks/overview) to navigate to the task creation screen, select **Web3** from the Groups section, and choose **Link3 Balance**. ### Task settings Link3 balance task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **Recurrence**: Control how often users can complete the task: * **Once** - can only be completed one time per user * **8h** - available once every eight hours * **Daily** - available once every 24 hours * **Weekly** - available once every 7 days * **Multiple** - stays open and can be completed as many times as needed, one after another, without any waiting time **Networks**: Select the blockchain network on which Link3 tokens are issued. * Click **Add network** to add multiple networks if Link3 is available on multiple chains **Amount**: Specify the minimum Link3 token balance required to complete the task. Example: Entering "100" would require users to hold at least 100 Link3 tokens in their wallet on the chosen network(s). ### Pro tips * Provide a brief introduction to Link3 and its features within the task description for users who might not be familiar with the platform * Include a link to your project's official Link3 profile to encourage users to connect with you there * Align your reward structure with the value of holding Link3 tokens and participating in the Link3 ecosystem * Consider offering exclusive access to events, content, or communities on the Link3 platform # Mint an NFT (1155) Source: https://docs.claimr.io/tasks/web3-tasks/mint-an-nft-1155 Incentivize users to mint an NFT using the ERC-1155 standard. ERC-1155 is a token standard that allows for both fungible and non-fungible tokens to be created within the same contract. This means it can be used to represent unique NFTs (like ERC-721) as well as semi-fungible tokens or multiple copies of the same NFT. ### Before you start Make sure you have: * A quest created within your campaign * The ERC-1155 NFT collection contract address * The specific Token ID you want users to mint * Knowledge of which blockchain network the NFT is deployed on * Mint fee amount (if applicable) ### Create the task Follow the steps in [Web3 tasks](/tasks/web3-tasks/overview) to navigate to the task creation screen, select **Web3** from the Groups section, and choose **Mint an NFT (EVM 1155)**. ### Task settings Mint an NFT (1155) task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **Recurrence**: Control how often users can complete the task: * **Once** - can only be completed one time per user * **8h** - available once every eight hours * **Daily** - available once every 24 hours * **Weekly** - available once every 7 days * **Multiple** - stays open and can be completed as many times as needed, one after another, without any waiting time **Network**: Select the blockchain network on which the NFT will be minted. * Click the first dropdown to choose a network (e.g., Ethereum) * Click the second dropdown to select Mainnet or Testnet **Contract Address**: Enter the contract address of the ERC-1155 NFT collection or project. * This is the specific contract where the ERC-1155 tokens are deployed * Example placeholder: "eg. 0x0d5cc359f67076b5804e2b32aad75bd8631cd12b" **Has server signature support (optional)**: Toggle this on if your NFT minting process requires server-side signature support. This is an advanced security feature that protects your NFT mint from unauthorized minting. To utilize this feature, you will need a special contract template. Request it from the Claimr support team. See the explanation in the [ERC-721 section](/tasks/web3-tasks/mint-an-nft-721) for why server-side signatures are important. **Token Id**: Specify the ID of the token within the ERC-1155 contract that you want users to mint. Each ID represents a different token type within the same contract. **Amount**: Specify the number of tokens with the specified ID that users need to mint to complete the task. This allows users to mint multiple copies of the same token. **Mint Fee (optional)**: If there's a fee associated with minting the NFT, specify the amount here. ### Pro tips * Provide clear and concise instructions on how to mint the ERC-1155 NFT, including any necessary steps like connecting a wallet, approving transactions, or paying minting fees * Specify the NFT collection or project name, the token ID, the benefits of owning the NFT, and any relevant links (e.g., to the minting website or marketplace) in the task description * Consider displaying images or previews of the NFTs within the task description to make it more engaging # Mint an NFT (721) Source: https://docs.claimr.io/tasks/web3-tasks/mint-an-nft-721 Incentivize users to mint an NFT using the ERC-721 standard. Use this task to drive engagement with your NFT projects, rewarding early adopters, or encouraging participation in exclusive communities or events. ### Before you start Make sure you have: * A quest created within your campaign * The NFT collection contract address * Knowledge of which blockchain network the NFT is deployed on * Mint fee amount (if applicable) ### Create the task Follow the steps in [Web3 tasks](/tasks/web3-tasks/overview) to navigate to the task creation screen, select **Web3** from the Groups section, and choose **Mint an NFT (EVM 721)**. ### Task settings Mint an NFT (721) task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **Recurrence**: Control how often users can complete the task: * **Once** - can only be completed one time per user * **8h** - available once every eight hours * **Daily** - available once every 24 hours * **Weekly** - available once every 7 days * **Multiple** - stays open and can be completed as many times as needed, one after another, without any waiting time **Network**: Select the blockchain network on which the NFT will be minted. * Click the first dropdown to choose a network (e.g., Ethereum) * Click the second dropdown to select Mainnet or Testnet **Contract Address**: Enter the contract address of the NFT collection or project. * This is the address where the NFT smart contract is deployed * Example placeholder: "eg. 0x0d5cc359f67076b5804e2b32aad75bd8631cd12b" **Has server signature support (optional)**: Toggle this on if your NFT minting process requires server-side signature support. This is an advanced security feature that protects your NFT mint from unauthorized minting by external users. To utilize this feature, you will need a special contract template. Request it from the Claimr support team. **Why server-side signature is important**: All data and events on the blockchain are publicly accessible. This means that anyone with technical knowledge can potentially exploit the NFT minting process. They could bypass your campaign's tasks and mint NFTs directly to their own wallets. Claimr's server-side signature adds a layer of protection. It utilizes a secure server-side wallet to sign a special message that is verified within the NFT contract. This ensures that only authorized mints initiated through your Claimr campaign can be successful. **Allow multiple mints? (optional)**: Toggle this on if you want to allow users to mint multiple NFTs within this task. By default, a wallet is typically allowed to mint a specific token only once. With this option enabled, the token can be minted multiple times across different tasks (they must be different tasks). **Mint Fee (optional)**: If there's a fee associated with minting the NFT, specify the amount here. **Is SB Token? (optional)**: Toggle this on if the NFT being minted is an SB (soul-bound) token. This option allows users to mint the token again even if they have already minted it previously but not within your campaign. Claimr will check the user's balance of this token. If it's greater than 0, the task will be marked as completed after the user clicks Complete. **Wallet already connected? (optional)**: Toggle this on if your campaign is running in a web browser environment where the user's wallet is already connected via SDK (Software Development Kit). This ensures a smooth and efficient minting experience for users in specific web browser environments where wallet connections are managed externally via SDK. Typically, when a user encounters an NFT minting task in Claimr, they are prompted to connect their wallet before proceeding. By enabling this toggle, Claimr will recognize the existing wallet connection and bypass the connection prompt, directly initiating the minting process. **Ignore platform settings (optional)**: Toggle this on to ignore platform-level settings for this task. **Internal reward id (optional)**: Enter an internal identifier for tracking purposes. This is for your internal use and not visible to users. ### Pro tips * Provide clear and concise instructions on how to mint the NFT, including any necessary steps like connecting a wallet, approving transactions, or paying minting fees * Specify the NFT collection or project name, the benefits of owning the NFT, and any relevant links (e.g., to the minting website or marketplace) in the task description * Consider displaying images or previews of the NFTs within the task description to make it more engaging # NFT balance Source: https://docs.claimr.io/tasks/web3-tasks/nft-balance Verify and reward users based on the number of NFTs they hold in their cryptocurrency wallet. Use this task to foster a sense of community among your NFT holders and encourage them to participate in exclusive events or activities. ### Before you start Make sure you have: * A quest created within your campaign * The NFT collection contract address(es) * A minimum NFT count determined ### Create the task Follow the steps in [Web3 tasks](/tasks/web3-tasks/overview) to navigate to the task creation screen, select **Web3** from the Groups section, and choose **NFT Balance**. ### Task settings NFT balance task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **Recurrence**: Control how often users can complete the task: * **Once** - can only be completed one time per user * **8h** - available once every eight hours * **Daily** - available once every 24 hours * **Weekly** - available once every 7 days * **Multiple** - stays open and can be completed as many times as needed, one after another, without any waiting time **Networks**: Select the blockchain network on which the NFT collection is issued. * Click **Add network** to add multiple networks * Enter the NFT contract address in the field provided. This ensures that the task accurately checks the user's NFT holdings across all relevant networks **Amount**: Specify the minimum number of NFTs required to complete the task. * Example: Entering "1" would require users to hold at least 1 NFT from the specified collection in their wallet on the chosen network(s). The NFT count is cumulative across all networks. **Is ERC1155?**: Toggle this on if the NFT collection uses the ERC-1155 standard instead of ERC-721. * ERC-721: Standard for unique, non-fungible tokens * ERC-1155: Standard that supports both fungible and non-fungible tokens ### Pro tips * Clearly specify the NFT collection or project name and the contract address in the task description to avoid confusion * Consider displaying images or previews of the NFTs within the task description to make it more engaging * Use this to gate access to exclusive content, events, or communities for NFT holders # Web3 tasks Source: https://docs.claimr.io/tasks/web3-tasks/overview Connect your Claimr campaigns to the blockchain and drive engagement through on-chain actions. ## What are Web3 tasks? Web3 tasks reward users for performing on-chain actions like connecting wallets, holding tokens, minting NFTs, or completing blockchain transactions. These tasks verify cryptocurrency wallet activity and blockchain interactions automatically. **Use Web3 tasks to:** * Verify wallet ownership and encourage wallet connections * Reward users for holding specific tokens or NFTs * Track on-chain activity like transactions, swaps, or contract deployments * Build blockchain-native communities through verified on-chain participation * Gate access based on wallet balance or transaction history For detailed information about general task settings, including task header, description, rewards, dependencies, and more, refer to [Task settings](/tasks/task-settings). ## Available Web3 tasks Claimr offers Web3 tasks across several categories. All tasks are found in the **Web3** group under the **Onchain Actions** category. #### Wallet & balance verification * [Connect a Wallet](/tasks/web3-tasks/connect-a-wallet) - User connects their crypto wallet to the app * [Wallet Balance](/tasks/web3-tasks/wallet-balance) - Check if user wallet balance meets required threshold * [Token Balance](/tasks/web3-tasks/token-balance) - Verify token balance in user's wallet * [NFT Balance](/tasks/web3-tasks/nft-balance) - Verify that user holds specific NFTs * [Link3 Balance](/tasks/web3-tasks/link3-balance) - Check Link3 profile balance or engagement level #### Transaction tracking * [Transactions Count](/tasks/web3-tasks/transactions-count) - Check number of on-chain transactions for a user * [Verify Transactions](/tasks/web3-tasks/verify-transactions) - Verify that user made a blockchain transaction * Verify EVM Token Transfer - Verify that user sent or received EVM tokens #### On-chain events * Onchain Events Count - Count specific blockchain events * Onchain Events Value - Track total value from on-chain events * Onchain Events Streak - Track how many days a blockchain event occurred in a row #### NFT actions * [Mint an NFT (EVM 721)](/tasks/web3-tasks/mint-an-nft-721) - User must mint an NFT on-chain (ERC-721 standard) * [Mint an NFT (EVM 1155)](/tasks/web3-tasks/mint-an-nft-1155) - User mints an ERC-1155 NFT * Mint a Random NFT (EVM 721) - User mints a randomly generated NFT * Mint a Zora NFT - User mints a Zora NFT collection item * Swap an NFT (EVM 721) - Verify that user completed an NFT swap transaction #### Smart contracts * Deploy EVM Contracts - User deploys a smart contract on EVM network ## Create a task From your campaign dashboard, go to the **Quests** tab and click on the quest where you want to add a Web3 task. On the quest settings page, click **+ Create new task**. Task type section In the Category section, click **Onchain Actions**. In the Groups section, click **Web3** and browse the available Web3 tasks. Select the task that matches your campaign goal and click **Continue**. ## Configure task settings Each Web3 task has specific configuration options. Common settings include: **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. **Network/Chain**: Select which blockchain network to verify (Ethereum, Polygon, Base, etc.) **Contract address** (for token/NFT tasks): Enter the smart contract address to verify **Minimum amount** (for balance tasks): Set the required threshold Click **Advance settings** to configure additional options like dependencies, completion pop-ups, and metadata. Click **Create task** to save your Web3 task. Example: Connect a wallet task preview Example: Select a wallet stage To see how your task will appear to users, click **Preview**. This will open a new tab showcasing three different views: desktop, tablet, and mobile. You can toggle between these views to ensure your task looks and functions seamlessly across all devices. **Pro tip**: Web3 tasks automatically verify on-chain activity, so users can't fake completion. This makes them ideal for gating high-value rewards or building verified Web3 communities. # Token balance Source: https://docs.claimr.io/tasks/web3-tasks/token-balance Verify and reward users based on the balance of a specific token they hold in their cryptocurrency wallet. Use this task to incentivize users to hold your project's token, reward early adopters, or encourage participation in token-gated communities or events. ### Before you start Make sure you have: * A quest created within your campaign * The token contract address(es) for the networks you want to support * A minimum token balance threshold determined ### Create the task Follow the steps in [Web3 tasks](/tasks/web3-tasks/overview) to navigate to the task creation screen, select **Web3** from the Groups section, and choose **Token Balance**. ### Task settings Token balance task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **Recurrence**: Control how often users can complete the task: * **Once** - can only be completed one time per user * **8h** - available once every eight hours * **Daily** - available once every 24 hours * **Weekly** - available once every 7 days * **Multiple** - stays open and can be completed as many times as needed, one after another, without any waiting time **Networks**: Select the blockchain network on which the token is issued. Click **Add network** to add multiple networks. For each network, you'll need to specify the **Contract Address** of the token on that specific network. This ensures that the task accurately checks the user's token balance across all relevant networks. **Amount**: Specify the minimum total token balance required to complete the task, across all specified networks. Example: If your token is "XYZ" and you want users to hold at least 10 XYZ tokens in total (across all networks they've added), enter "10". The balance is cumulative across all networks. **Is progressive reward? (optional)**: Toggle this on if you want to offer increasing rewards based on the user's total token balance. This works by setting a base reward amount for the minimum token balance and then multiplying that reward for each multiple of the minimum balance. Example: If the minimum balance is 5 tokens and the base reward is 10 points, a user with 12 tokens would receive 20 points (2× the base reward since they have more than twice the minimum balance). **Is continous (optional)**: Toggle this on to enable continuous checking of the token balance. **Max progressive amount (optional)**: Set the maximum amount for progressive rewards. This field appears when "Is progressive reward?" is enabled. ### Helpful tips * Use this task to foster a sense of community among your token holders and encourage them to actively participate in your project * Explain why you're checking token balances and how it relates to your campaign goals * Consider using progressive rewards to incentivize users to hold more tokens # Transactions count Source: https://docs.claimr.io/tasks/web3-tasks/transactions-count Verify and reward users based on the number of transactions they have made on a specific blockchain network. This task is useful for identifying active users, encouraging on-chain engagement, or rewarding loyal community members. ### Before you start Make sure you have: * A quest created within your campaign * Knowledge of which blockchain networks your target users are active on * A minimum transaction count threshold determined ### Create the task Follow the steps in [Web3 tasks](/tasks/web3-tasks/overview) to navigate to the task creation screen, select **Web3** from the Groups section, and choose **Transactions Count**. ### Task settings Transactions count task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 5% multiplier increases the final reward by 5%. **Networks**: Select the blockchain network on which you want to track user transactions. * Click the first dropdown to choose a network (e.g., Ethereum) * Click the second dropdown to select Mainnet or Testnet * Click **Add network** to track transactions across multiple networks * Users must meet the minimum count across all selected networks combined **Min Count**: Specify the minimum number of transactions a user must have made across all selected networks to be eligible for the task. Example: If you enter "10", users who have made at least 10 transactions in total across any of the chosen networks will qualify. The count is cumulative across all networks you've added. **Time, h (optional)**: Set a time window in hours for counting transactions. If specified, only transactions made within this time period will count. Leave blank to count all transactions from the wallet's history. ### Helpful tips * Provide clear instructions on how users can check their transaction count on the specified blockchain network * Be transparent about why you're tracking transaction count and how it relates to your campaign goals * Consider setting different minimum counts for different networks based on typical activity levels # Verify transactions Source: https://docs.claimr.io/tasks/web3-tasks/verify-transactions Verify and reward users for executing a specific transaction on a selected blockchain network. Use this task for incentivizing on-chain interactions with your smart contracts, rewarding users for participating in specific DeFi protocols, or tracking contributions to a DAO. ### Before you start Make sure you have: * A quest created within your campaign * The contract address for the transaction you want to verify * The Method ID of the specific function users should call * Knowledge of which blockchain network the transaction should occur on ### Create the task Follow the steps in [Web3 tasks](/tasks/web3-tasks/overview) to navigate to the task creation screen, select **Web3** from the Groups section, and choose **Verify Transactions**. ### Task settings Verify transactions task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **Networks**: Select the blockchain network on which the transaction should occur. Click **Add network** to add multiple networks. For each network, you'll need to specify the Contract Address. This ensures that the task accurately verifies transactions across all relevant networks. **Method ID**: Enter the unique identifier that specifies which function within a smart contract is being called during a transaction. This is a short code derived from the function's name and the types of its parameters. **How to find Method ID**: 1. Locate the transaction on a blockchain explorer (like Etherscan) 2. Click on the transaction hash to view its details 3. Look for the "Input Data" section 4. The Method ID is usually displayed at the beginning of the input data string (starting with "0x") **Min Count (optional)**: Specify the minimum number of times this transaction must be executed. Leave blank if a single transaction is sufficient. **Time, h (optional)**: Set a time window in hours for counting transactions. If specified, only transactions made within this time period will count. ### Pro tips * Provide clear instructions on how to execute the specific transaction, including any necessary steps like connecting a wallet, accessing the relevant dApp or smart contract, and providing the required parameters * Specify the purpose of the transaction, the smart contract involved, and any relevant links (e.g., to the dApp or blockchain explorer) in the task description * If the task involves interacting with smart contracts, emphasize security best practices and remind users to verify the transaction details before executing # Wallet balance Source: https://docs.claimr.io/tasks/web3-tasks/wallet-balance Verify and reward users based on the balance they hold in their cryptocurrency wallet. Use this task to incentivize users to hold a certain amount of a specific cryptocurrency or to reward those who have already invested in your project. ### Before you start Make sure you have: * A quest created within your campaign * Knowledge of which blockchain network(s) your users are active on * A minimum balance threshold determined ### Create the task Follow the steps in [Web3 tasks](/tasks/web3-tasks/overview) to navigate to the task creation screen, select **Web3** from the Groups section, and choose **Wallet Balance**. ### Task settings Wallet balance task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **Recurrence**: Control how often users can complete the task: * **Once** - can only be completed one time per user * **8h** - available once every eight hours * **Daily** - available once every 24 hours * **Weekly** - available once every 7 days * **Multiple** - stays open and can be completed as many times as needed, one after another, without any waiting time **Network**: Select the blockchain network on which you want to check the user's wallet balance. * Click the first dropdown to choose a network (e.g., Ethereum) * Click the second dropdown to select Mainnet or Testnet * Click **Add network** to check balances across multiple networks * Users must meet the minimum amount across all selected networks combined **Amount**: Specify the minimum balance required to complete the task. * Example: Entering "1" would require users to have at least 1 ETH in their wallet on the chosen network(s). The balance is cumulative across all networks you've added. **USD value? (optional)**: Toggle this on if you want to display the equivalent USD value of the required balance to users. This can provide additional context and clarity. ### Helpful tips * Provide clear instructions on how users can check their wallet balance on the specified blockchain network * Be transparent about why you're checking wallet balances and how it relates to your campaign goals * Consider setting different minimum amounts for different networks based on typical gas fees and activity # X (Twitter) tasks Source: https://docs.claimr.io/tasks/x-twitter-tasks Increase your X presence, promote your content, and encourage meaningful interactions with Claimr's X (Twitter) task types. ## What is an X task? X tasks are interactive activities within Claimr campaigns that leverage the X (formerly Twitter) platform to engage users and drive specific actions. These tasks can range from following your X account, retweeting posts, participating in discussions, or completing challenges. **Use X tasks to:** * Increase your X followers. * Promote your tweets and drive engagement (likes, retweets, comments). * Run contests and giveaways on X. * Increase brand awareness and social media presence. * Encourage users to participate in discussions or challenges on X. For detailed information about general task settings, including task name, header, description, rewards, dependencies, and more, refer to the [Task settings](/tasks/task-settings) article. ## Task type Choose the specific type of task you want to create for your campaign. X task type section 1. Select **X (Twitter)** to indicate that the task will be completed with the X platform. 2. Considering your aim, select the specific task type from the expanded list. ## Task settings Most X tasks in Claimr fall into two categories: * **Verified**: These tasks require users to verify their actions on X. This means Claimr will check if the user has actually completed the required action (e.g., followed your account, retweeted a post) before marking the task as complete. This ensures that users genuinely engage with your X content. * **Intent**: These tasks do not require verification. Users indicate their intent to complete the action (e.g., by clicking a button), and the task is marked as complete. This approach is helpful for tasks where verification is not feasible or necessary. ### Follow on X Reward users for following your account on X. Follow on X task settings **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 5% multiplier increases the final reward by 5%. **Completion points**: Set the number of points awarded once the user reaches the required event count. **Account Name field**: Enter the username of your X account that you want users to follow. Make sure to enter the correct username without the "@" symbol. ### Like a post Reward users for liking a specific post on your X account. Like a post task settings **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 5% multiplier increases the final reward by 5%. **Completion points**: Set the number of points awarded once the user reaches the required event count. **Post Link**: Enter the full URL of the X post that you want users to like. **Preview image (optional)**: Paste a direct image link to show a custom preview in the task. **Hide preview? (optional)**: Enable this to hide the post preview within the task. ### Repost Reward users for reposting a specific post on your X account. Repost task settings **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 5% multiplier increases the final reward by 5%. **Completion points**: Set the number of points awarded once the user reaches the required event count. **Post Link**: Enter the full URL of the X post that you want users to like. **Preview image (optional)**: Paste a direct image link to show a custom preview in the task. **Hide preview? (optional)**: Enable this to hide the post preview within the task. ### Post Reward users for creating a post on X with a specific message. Post task settings **Completion points**: Set the number of points awarded once the user reaches the required event count. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 5% multiplier increases the final reward by 5%. **Recurrence**: Control how often users can complete the task: * Once - can only be completed one time per user. * 8h - available once every eight hours. * Daily - available once every 24 hours. * Weekly - available once every 7 days. * Multiple - stays open and can be completed as many times as needed, one after another, without any waiting time. **Message**: Add the exact text you want users to include in their X post (max 280 chars). **Tweet Message Link (optional)**: Add the URL you want users to include in their X post (max 280 chars). **Hashtags (optional)**: List required hashtags as a comma-separated string (e.g., Claimr,web3). **Expected text (optional)**: Require an exact string that must appear in the user's X display name (e.g., brand name or emoji). **RegEx (optional)**: If you want users to include a specific emoji or a link to your website in their X post, you could use a regular expression like `.*🚀.*Claimr\.io.*` to allow for any characters before or after the emoji and the website link. **Resources** * **Regular expression builder**: [https://regex101.com/](https://regex101.com/) * **AI assistants** ### Comment Reward users for commenting on a specific post on your X account. Comment task settings **Completion points**: Set the base points a user earns once the required event count is reached. **Points multiplier (%)**: Apply a percentage bonus to the base points (e.g., 5 → +5%). **Recurrence**: Control how often the same user can complete this task: * Once: can be completed one time per user. * 8h: available once every eight hours. * Daily: available once every 24 hours. * Weekly: available once every 7 days. * Multiple: stays open and can be completed back-to-back with no waiting time. **Post Link**: Add the full URL of the X post you want users to comment on. **Hide preview? (optional)**: Enable to hide the post preview within the task. **Hashtags (optional)**: Enter any hashtags you want users to include in their comments (comma-separated). ### Quote Reward users for quoting a specific post on your X account. Quote task settings **Completion points**: Set the base points a user earns once the required event count is reached. **Points multiplier (%)**: Apply a percentage bonus to the base points (e.g., 5 → +5%). **Recurrence**: Control how often the same user can complete this task: * Once: can be completed one time per user. * 8h: available once every eight hours. * Daily: available once every 24 hours. * Weekly: available once every 7 days. * Multiple: stays open and can be completed back-to-back with no waiting time. **Post Link**: Add the full URL of the X post you want users to quote. **Preview image (optional)**: Paste a direct image link to show a custom preview in the task. **Hide preview? (optional)**: Enable to hide the post preview within the task. **Hashtags (optional)**: Enter any hashtags you want users to include in their quote (comma-separated). ### Followers count Reward users for having a certain number of followers on their X account. This can encourage users to grow their X presence and potentially increase your campaign's reach through their network. Followers count task settings **Completion points**: Set the base points a user earns once the required event count is reached. **Points multiplier (%)**: Apply a percentage bonus to the base points (e.g., 5 → +5%). **Minimum Followers**: Enter the minimum required number of followers that a user must have on their X account to complete this task. ### Name verification Reward users for changing their X display name to a specific value or pattern. This can be useful for encouraging users to align their X identity with your community. Name verification task settings **Completion points**: Set the base points a user earns once the required event count is reached. **Points multiplier (%)**: Apply a percentage bonus to the base points (e.g., 5 → +5%). **Expected text (optional)**: Enter the exact text that you expect users to include in their X display name. This could be your brand name, an emoji, or any other specific words. **RegEx (optional)**: To allow variations in the user's X display name, you can use a regular expression (RegEx) to define a pattern the name must match. This is useful for allowing different spellings, capitalizations, or the inclusion of emojis. **Examples** * **Include a specific emoji**: If you want to include a specific emoji (e.g., ✨) in the user's X name, you could use a regular expression like `.*✨.*` to allow for any characters before or after the emoji. * **Start with a specific word or phrase**: If you want to ensure the user's X name starts with a specific word or phrase, you could use a regular expression like `^YourKeyword` to match any string that begins with "YourKeyword". * **End with a specific word or phrase**: If you want to ensure the user's X name ends with a specific word or phrase, you could use a regular expression like `YourKeyword$` to match any string that ends with "YourKeyword". * **Contain a specific word or phrase**: If you want to ensure the user's X name includes a specific word or phrase, you could use a regular expression like `.*YourKeyword.*` to match any string that contains "YourKeyword". * **Match a specific format**: You can use regular expressions to define more complex patterns, such as email addresses, phone numbers, or dates. For example, to match a valid email address, you could use a regular expression like `[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}`. **Resources** * **Regular expression builder**: [https://regex101.com/](https://regex101.com/) * **AI assistants** **Example prompt for an AI Assistant** "Help me create a regular expression to match X usernames that start with 'Claimr' and contain at least one digit." ### Bio verification Reward users for adding specific information to their X bio. This can be useful for promoting your brand, campaign, or event, or for encouraging users to align their X bio with your community. Bio verification task settings **Completion points**: Set the base points a user earns once the required event count is reached. **Points multiplier (%)**: Apply a percentage bonus to the base points (e.g., 5 → +5%). **Expected text (optional)**: Enter the text users need to include in their X bio. This could be your brand name, a campaign slogan, a website link, or any other specific text. **RegEx (optional)**: To allow for variations in the user's X bio, you can use a regular expression (RegEx) to define a pattern the bio must match. This is useful for allowing different spellings, capitalizations, or the inclusion of emojis. **Example:** If you want users to include a specific emoji or a link to your website in their X bio, you could use a regular expression like `.*🚀.*Claimr\.io.*` to allow for any characters before or after the emoji and the website link. ### Submit X post Reward users for submitting a post on the X platform. UGC can be any form of content created by users, such as text posts (tweets), images, and videos. This task type helps encourage users to create and share content related to your campaign, brand, or product on X. Submit X post task settings **Completion points**: Set the base points a user earns once the required event count is reached. **Points multiplier (%)**: Apply a percentage bonus to the base points (e.g., 5 → +5%). **Recurrence**: Control how often the same user can complete this task: * Once: can be completed one time per user. * 8h: available once every eight hours. * Daily: available once every 24 hours. * Weekly: available once every 7 days. * Multiple: stays open and can be completed back-to-back with no waiting time. **Expected text (optional)**: Require an exact string that must appear in the user's X post text. **RegEx (optional)**: To allow for variations in the user's X bio, you can use a regular expression (RegEx) to define a pattern the bio must match. This is useful for allowing different spellings, capitalizations, or the inclusion of emojis. **Example:** If you want users to include a specific emoji or a link to your website in their X post, you could use a regular expression like `.*🚀.*Claimr\.io.*` to allow for any characters before or after the emoji and the website link. **Should contain image? (optional)**: Enable to require the X post to include at least one image. **Need approval? (optional)**: Enable to require manual review and approval before points are awarded. **Points per 1000 views**: This field allows you to specify the number of points (or other rewards) users earn for every 1000 views their UGC receives on X. This incentivizes users to create high-quality, engaging content that attracts views and promotes your campaign. **Example**: If you set "points per 1000 views" to 10, a user whose post receives 3,000 views would earn 30 points. ### Join X community Join X community task settings **Completion points**: Set the base points a user earns once the required event count is reached. **Points multiplier (%)**: Apply a percentage bonus to the base points (e.g., 5 → +5%). **Recurrence**: Control how often the same user can complete this task: * Once: can be completed one time per user. * 8h: available once every eight hours. * Daily: available once every 24 hours. * Weekly: available once every 7 days. * Multiple: stays open and can be completed back-to-back with no waiting time. **Community ID**: Add the numeric ID of the X Community users must join (e.g., 1783602868140028342). Open the community in a browser and copy the number at the end of the URL (`x.com/i/communities/`), then paste it here. # YouTube tasks Source: https://docs.claimr.io/tasks/youtube-tasks Incentivize users to subscribe to your channel or watch your videos, building a loyal community of viewers and subscribers. ## What is a YouTube task? Engage users with YouTube content and track their interactions with your channel or videos. **Use YouTube tasks to:** * Increase your YouTube channel subscribers. * Drive views and engagement on your videos. * Promote your YouTube content within your Claimr campaigns. * Reward users for interacting with your YouTube channel. * Track the effectiveness of your YouTube marketing efforts. For detailed information about general task settings, including task name, header, description, rewards, dependencies, and more, refer to the [Task settings](/tasks/task-settings) article. ## Task type This section allows you to choose the specific type of task you want to create for your campaign. YouTube task type section 1. Select **YouTube** to indicate that the task will be completed with this specific platform. 2. Considering your aim, select the specific task type from the expanded list. ## Task settings ### Submit YouTube video Reward users for submitting videos on YouTube. This task type helps encourage users to create and share content related to your campaign, brand, or product. Submit YouTube video task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **Recurrence**: Control how often users can complete the task: * Once - can only be completed one time per user. * Daily - available once every 24 hours. * Weekly - available once every 7 days. * Multiple - stays open and can be completed as many times as needed, one after another, without any waiting time. **Need approval? (optional)**: Turn on to require manual review and approval before the task is marked as complete. ### Subscribe to a channel Reward users for subscribing to a specific YouTube channel. Subscribe to a channel task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **YouTube channel ID**: Enter the unique ID of your YouTube channel to enable subscription verification. For example: UCLA\_DiR1fFkNvjvUpBHmylQ. To find it, go to your YouTube channel → About → More → Channel details → Copy channel ID. YouTube channel details menu, step 1 YouTube channel details menu, step 2 Remember, accuracy is crucial when entering the ID to ensure Claimr can correctly interact with your YouTube channel. ### Watch YouTube video Reward users for watching a specific YouTube video. Watch YouTube video task settings **Completion points**: Set the number of points awarded when the user completes the task. **Points multiplier (%)**: Add a percentage-based bonus to the total reward. For example, a 10% multiplier increases the final reward by 10%. **Recurrence**: Control how often users can complete the task: * Once - can only be completed one time per user. * Daily - available once every 24 hours. * Weekly - available once every 7 days. * Multiple - stays open and can be completed as many times as needed, one after another, without any waiting time. **Video ID**: Enter the unique ID of the YouTube video you want users to watch. For example: IGuHERKAiHs. You can find it in the video URL after v=. **Min watch time in seconds (optional)**: Set the minimum time users must watch the video to complete the task. For example, enter 20 to require at least 20 seconds of viewing. ## Error handling While setting up your YouTube task, encountering errors is a possibility. Verify that you've entered the correct YouTube channel ID and video ID in the task settings. If you continue to experience issues, reach out to Claimr's support team for further assistance. # Team roles and management Source: https://docs.claimr.io/team-roles-and-management The Team Management panel allows you to view and manage team members, their roles, and permissions. You can also invite new members to join your team and remove existing ones. **Open the Team Management panel**: From your Claimr main panel, click on the **Team** tab in the header menu. This will open the team management panel where you can view and edit your team members. ## Team roles Understanding the different team roles is crucial for effective collaboration and managing access to your Claimr organization and campaigns. ### Owner Owners have complete control over the organization's settings, campaigns, and team members. They can create, edit, and delete campaigns, manage team members' roles and permissions, and make changes to the organization's profile and billing information. ### Manager Team members with this role can modify quest settings, adjust rewards, and fine-tune various parameters of selected campaigns, ensuring an optimal experience for participants. However, they cannot modify organization-wide settings, manage other team members' roles, or delete campaigns entirely. This role strikes a balance between flexibility and control, making it ideal for marketing teams, content creators, or anyone responsible for specific campaign outcomes. ### Reviewer Team members have limited access to the quest settings. They can only view and manage PoW (Proof of Work) and UGC (User-Generated Content) tasks. All other settings and functionalities within the quest will be view-only. This mode is ideal for team members who are specifically responsible for handling and evaluating user-submitted content or work. ### Choosing the right role When inviting new team members, carefully consider the level of access they need. Granting the appropriate role ensures that team members have the necessary permissions to contribute effectively while maintaining the security and integrity of your organization's data. ## Invite a user to your team Click the **Invite** button above the table of your team members to initiate the invitation process. This will open the invitation form. Enter the email of the person you want to invite. Select the appropriate role for your teammate from the dropdown menu. * **Owner**: Has full control over the organization and all campaigns within it. * **Can Edit**: Can edit campaigns and quests but cannot manage the organization settings or team members. * **Can View**: Can only view campaigns and quests but cannot make any changes. Choose the campaigns to which you want to grant the invited user access. You can select multiple campaigns by checking the boxes next to their names. Click the **Invite teammates** button, so the invited user will receive an email invitation with a link to join the organization. This link will grant them access to the selected campaigns based on the role you assigned. ## Remove a user from your team In the team management list, find the user you wish to remove from your team members. Click the **Remove** button above the table of your team members. This will open a confirmation dialog box. In the dialog box, click **Yes, remove** to confirm your decision. This will immediately remove the user from your team. # Usage Data Source: https://docs.claimr.io/usage-data See detailed breakdowns, projections, and historical records of your subscription performance, connected directly to the values shown in Billing. Usage Data gives you an overview of your subscription performance. It connects directly with the values shown in Billing and expands them with detailed breakdowns. Projections highlight whether usage is on track or likely to exceed your plan, and historical records make it possible to compare consumption across different subscription periods. Usage Data also shows the actions behind that performance. Depending on your subscription type (Credits or Monthly Active Users), it details how much of the allocation has been used and which tasks or users contributed to it. The data updates in near real time, so you can monitor the progress of your campaigns as activity occurs. ## Tables There are several types of tables in Usage Data. ### Overview table The first table aggregates actions performed during the subscription period. Each row includes: Overview table aggregating actions performed during the subscription period * Platform (e.g., Twitter, Web, Web3) * Task name * Execution count * Credits spent (for credit-based subscriptions) This gives you a grouped summary of activity, showing how often each task was completed and how many credits it consumed in total. ### Detailed task log The second table provides a chronological log of every single task performed. Each row includes: Detailed task log showing a chronological record of every task performed * **#** - the sequence number of the action * **Platform** - where the task was executed * **Task** - the specific task type (e.g., Connect a Wallet, reCAPTCHA check, Follow on X) * **Credits** - the cost of that individual task in credits * **Date** - the exact timestamp of when the task was executed This log gives you a granular view of usage, making it possible to audit activity and track exactly when and how credits were spent. ## Graphs ### Credits usage graph Credits usage graph showing real-time usage, projected usage, and the subscription limit * Green area: credits used in real time. * Orange line: projected usage until the subscription ends. * Yellow line: subscription credit limit. This shows if you are likely to exceed your plan. ### Task type graph Task type graph showing execution counts by task type * Displays how many times each task type was executed. * Tasks can be enabled or disabled for comparison. ### Filtering and time ranges You can filter by campaign, subscription period, or custom date range. Resetting filters returns the view to the active subscription. #### History Past subscriptions are listed in a history table. This history allows you to compare previous subscriptions and track how your usage has changed over time. # Campaign UX requirements Source: https://docs.claimr.io/ux-requirements/campaign-ux-requirements Key design elements and considerations for building visually appealing, user-friendly Claimr campaigns, from user progress to leaderboards. ## Understanding Campaigns Example campaign structure A campaign in Claimr is a structured set of activities and challenges designed to engage users and drive specific actions. It's a container with various elements, such as quests, tasks, rewards, and leaderboards, all working together to achieve your campaign goals. ## 1. User progress block Example user progress block ### Username Displays the username of the logged-in user. If the user is not logged in, it might show a generic placeholder or prompt the user to log in. * **Clarity:** Use a legible font and appropriate font size. * **Placement:** Position the username prominently at the top of the page. * **Logged-out state:** Clearly indicate that the user is not logged in and provide a clear path to log in or sign up. ### User progress Shows the user's progress within the campaign. * **Visual clarity:** Use clear labels and visual cues to represent progress. * **Accessibility:** Ensure the progress bar is accessible to screen readers. **Logged-in state:** Display personalized information, such as the user's name, points, and a progress bar. **Logged-out state:** Show a simplified progress bar or a call to action to log in. For more information, see [User progress UX requirements](/ux-requirements/user-progress-ux-requirements). ### Login/Logout button Allows users to log in or out of their account. * **Clear labeling:** Use distinct labels or icons to indicate the logged-in or logged-out state. * **Placement:** Position the button near the user's name or progress information. ## 2. Highlighted quests Prominently displayed quests to attract attention and encourage participation. Example highlighted quests and user progress * **Visual prominence:** Use design elements (e.g., size, color, animation) to highlight these quests. * **Relevance:** Ensure the highlighted quests are relevant and engaging to users. ## 3. Campaign description Provides an overview of the campaign's goals, objectives, and rewards. * **Clarity:** Use clear and concise language. * **Engagement:** Write in a compelling and informative tone. * **Visual appeal:** Use formatting and visuals to enhance readability. ## 4. Challenges Activities that encourage users to go above and beyond the standard quests in your campaign. They offer a way to boost engagement and provide unique opportunities for users to earn rewards or recognition. Example challenges * **Clear presentation:** Clearly explain the challenge objectives and rewards. * **Optional participation:** Make it clear that these challenges are optional. * **Flexibility:** Allow for different naming conventions (Seasons, Eras, etc.). ## 5. Group Organizes quests into logical groups, making it easier for users to navigate your campaign and understand the relationships between different quests. This helps provide context and structure to the user journey. Example group of quests Example group of quests * **Grouping:** Visually group related quests together. * **State indicators:** Clearly indicate whether the group is locked or unlocked. * **Group description:** Provide a concise description of the quest group's theme or focus. For more information, see [Group UX requirements](/ux-requirements/group-ux-requirements). ### Quest card Represents an individual quest within a quest group. * **Preview:** Provide a preview of the quest's objectives and rewards. * **State indicators:** Clearly indicate whether the quest is active, locked, or completed. For more information, see [Quest card UX requirements](/ux-requirements/quest-card-ux-requirements). ### Tasks Specific actions within a quest. Example Follow X task Example Invite code task * **State indicators:** Clearly communicate the task's status (active, locked, or completed). * **Task header:** Provide a concise and informative title. * **Task description:** Offer clear instructions. * **Call to action:** Include a clear CTA button. For more information, see [Task UX requirements](/ux-requirements/task-ux-requirements). ### State indicators These visual cues help users quickly understand the overall status of campaigns, quests, and tasks: Active, Completed, or Locked. Example locked campaign state Example completed campaign state Example different quest states * **Visual clarity:** Use distinct colors, icons, timers, or labels to differentiate between the states. * **Accessibility:** Ensure the indicators are easily distinguishable for users with visual impairments, utilizing sufficient contrast and screen-reader-friendly descriptions. ### Pop-ups and notifications Provide feedback and information to users. Example submit email pop-up * **Visual appeal:** Use subtle animations, icons, or colors. * **Accessibility:** Ensure notifications are accessible to screen readers. * **Clear close option:** Provide a prominent close button. * **Mobile optimization:** Ensure pop-ups display correctly on smaller screens. For more information, see [Pop-ups UX requirements](/ux-requirements/pop-ups-ux-requirements). ### Close/View more buttons Allow users to close or expand certain sections or elements within the campaign. * **Clear labeling:** Use clear and concise labels (e.g., "Close," "View More"). * **Placement:** Position buttons logically based on the content they control. For more information, see [Interactive components UX requirements](/ux-requirements/interactive-components-ux-requirements). ## 6. Leaderboard The leaderboard displays a ranked list of users based on points or performance metrics. It helps foster engagement by highlighting top contributors or achievers. States and behaviors to design for: * **Default view:** Displays the full leaderboard with all ranked users visible. * **Collapsed leaderboard state:** Only the heading row and the top 9 ranked users are shown when the list is long. Include **View more** / **Hide** buttons to expand or collapse the list. Example leaderboard * **Leaderboard pop-up:** Design the button for flows when the leaderboard appears only after clicking it. Example leaderboard pop-up button * **Collapse button in pop-up:** When opened in a modal, include an option to collapse or minimize the leaderboard view. * **Pagination:** If the full list is too long to load at once, add pagination to allow users to browse through pages of results. Example leaderboard pagination * **Clear rankings:** Present user rankings and relevant metrics clearly. * **Visual hierarchy:** Use size, color, and placement to highlight top performers. # Group UX requirements Source: https://docs.claimr.io/ux-requirements/group-ux-requirements UX design considerations for presenting groups of quests within your Claimr campaigns, including state indicators and layout options. ## Understanding Groups Example quest group with title and description A group in Claimr is a collection of related quests that contribute to the overall campaign objective. Grouping quests helps users understand the structure of your campaign and navigate through related challenges. ## Group state indicators Like individual tasks, quest groups in Claimr can also have different states, which should be clearly communicated to the user through visual cues and messaging. Possible states for a quest group: * **Active:** The quest group is currently accessible, and users can participate in its quests. This is often indicated by a distinct visual style, such as a brightly colored header or a prominent "Active" label. Active quest group example * **Completed:** The user has successfully completed all the quests within this group. This might be visually represented with a checkmark, a trophy icon, or a "Completed" label. Completed quest group example * **Locked:** The quest group is currently inaccessible due to certain conditions. There are a few common reasons for a group to be locked: Locked quest group example: not enough points * **Not enough points:** Users need to earn a specific number of points or complete other quests to unlock this group. This is often visually indicated with a lock icon or a progress bar showing how many points are still needed. * **Timer:** The quest group is locked until a specific time or date. This can be represented with a timer or a countdown clock, clearly showing when the group will become available. * **Inactive (Upcoming):** The quest group is not yet active but will become available at a scheduled time in the future. This can be indicated with a "Coming Soon" label or a date and time for when the group will become active. * **Inactive (Past):** The quest group is no longer active and is not available for participation. This might be visually de-emphasized or have a label indicating it's expired or past. **Design requirements:** * **Visual clarity:** Use distinct colors, icons, or labels to clearly differentiate between each state. * **Accessibility:** Ensure the indicators are easily distinguishable for users with visual impairments, utilizing sufficient contrast and screen-reader-friendly descriptions. * **Consistency:** Maintain a consistent visual style for state indicators across all quest groups and individual quests within your campaign. * **Informative tooltips or labels:** Consider using tooltips or concise labels to provide additional context or information about the reason for a locked state (e.g., "Unlocks after completing \[Quest Name]"). ## Group header Provides a clear and concise title for the group, summarizing its theme or focus. * **Clarity:** Use descriptive and easily understandable language. * **Visual prominence:** Make the header visually distinct to differentiate it from individual quests. ## Group description Provides additional context or information about the group. * **Conciseness:** Keep the description brief and focused. * **Informative:** Clearly convey the theme or purpose of the group. ## Quest cards Each quest within the group is represented by a quest card. * **Visual clarity:** Use clear visuals and labels to distinguish between different quest states. * **Information hierarchy:** Prioritize important information. * **Engagement:** Design visually appealing cards. For more information, see [Quest card UX requirements](/ux-requirements/quest-card-ux-requirements). ## Navigation and layout Present the quests within a group clearly and in an organized manner, allowing for easy navigation and exploration. * **Logical grouping:** Group related quests together visually. * **Clear hierarchy:** Establish a clear visual hierarchy between the group header, description, and individual quest cards. * **Responsive design:** Ensure the group layout adapts well to different screen sizes and devices. ### Layout options * **Grid layout:** Arrange quest cards in a grid format. This is ideal for showcasing multiple quests simultaneously and allowing users to quickly scan and compare options. * **Slider layout:** Present quest cards in a horizontal slider. This is suitable for limited space or when you want to emphasize a sequential flow of quests. Example slider layout # Interactive components UX requirements Source: https://docs.claimr.io/ux-requirements/interactive-components-ux-requirements UX design requirements for buttons and input fields within your Claimr campaigns, ensuring they are user-friendly, accessible, and visually appealing. Interactive components, such as buttons and input fields, are essential elements for gathering user information and enabling interactions within your Claimr campaigns. Designing user-friendly interactive components is crucial for ensuring a smooth and efficient user experience. ## Log in / Log out buttons Facilitate user authentication and session management. Example log in button Example log out button * **Clear labels:** Use concise and descriptive labels like "Log In" and "Log Out." * **Visual distinction:** Differentiate the two buttons through color, styling, or placement. * **Feedback:** Provide visual feedback upon interaction, such as a loading state or change in button appearance. * **Accessibility:** Ensure buttons have clear focus states. ## Action buttons Trigger specific actions within the campaign (e.g., "Submit," "Next," "Follow"). Example active CTA Example disabled CTA * **Clear labels:** Use action-oriented verbs that accurately describe the button's function. * **Visual hierarchy:** Make action buttons prominent and visually distinct from other elements. * **Disabled state:** Clearly indicate when a button is disabled (e.g., grayed out, with a tooltip explaining why). * **Feedback:** Provide visual feedback upon interaction, such as a loading state or change in button appearance. ## Checkbox Allow users to select or deselect options. Example checkbox * **Clear labels:** Provide concise labels adjacent to checkboxes, describing the corresponding options. * **Visual states:** Clearly differentiate between checked, unchecked, and disabled states using distinct visual cues (e.g., checkmark, empty box, grayed-out box). * **Hit area:** Make the clickable area surrounding the checkbox large enough for easy interaction. ## Text input Enable users to enter textual information. Example text input in different states * **Clear labels:** Provide descriptive labels above or adjacent to input fields. * **Input field size:** Adjust the input field size appropriately based on the expected input length. * **Placeholder text/hint:** Use placeholder text or hints to guide users on the expected input format or content. * **Disabled state:** Clearly indicate when an input field is disabled (e.g., grayed out). * **Error handling:** Provide clear error messages and guidance if input validation fails. ## Upload image Allow users to upload image files. Example upload image Example submit uploaded image Example verification state * **Clear CTA:** Use a clear button or label (e.g., "Upload Image") to initiate the upload process. * **File selection:** Provide a standard file selection dialog for users to choose an image file. * **Image preview:** Display a preview of the uploaded image before submission. * **File validation:** Implement file type and size validation to prevent errors. * **Error handling:** Provide clear error messages if file validation fails. * **Accessibility:** Ensure the upload process is accessible to screen readers and keyboard users. # UX requirements Source: https://docs.claimr.io/ux-requirements/overview Design checklists covering campaign structure, groups, quest cards, quests, tasks, user progress, pop-ups, and interactive components in Claimr. ### The importance of UX for campaigns * **Feature visibility:** Claimr's flexibility comes with the ability to customize the look and feel of your campaigns extensively. However, without UX design, certain features may not be displayed correctly or prominently, hindering user engagement and campaign success. * **User-friendly interface:** Intuitive navigation and clear layouts are essential for a positive user experience. Poor UX design can lead to frustration, causing users to abandon your campaign. * **Optimized engagement:** By incorporating UX best practices, you can guide users through your campaign seamlessly, encouraging them to complete tasks, earn rewards, and ultimately achieve your campaign goals. * **Brand consistency:** A well-designed campaign reflects positively on your brand and reinforces your message. UX design helps maintain a cohesive and professional look that strengthens your brand identity. ### Key UX considerations for your campaign Before diving into building your campaign with Claimr, take the time to plan and design the user experience. Consider the following: * **User flow:** Map out the steps you want users to take within your campaign, from initial landing to completing tasks and claiming rewards. * **Layout and visuals:** Ensure your designs are visually appealing, easy to navigate, and align with your brand identity. * **Mobile responsiveness:** Test that your campaign looks and functions flawlessly across different devices, including desktops, tablets, and smartphones. Explore the essential UX checklists to guarantee your Claimr campaign looks and performs its best. Design elements and considerations for the overall campaign structure. UX requirements for presenting groups of quests. Design elements for creating effective and engaging quest cards. Design elements for building visually appealing, user-friendly quests. Requirements for presenting tasks clearly throughout their lifecycle. How to design clear, informative displays of user progress. Requirements for designing effective, user-friendly pop-ups. Requirements for buttons and input fields across your campaigns. # Pop-ups UX requirements Source: https://docs.claimr.io/ux-requirements/pop-ups-ux-requirements UX design requirements for pop-ups within your Claimr campaigns, covering login, wallet connect, task completion, challenges, leaderboard, and notifications. Pop-ups provide a way to deliver important information or enable focused interactions within your Claimr campaigns. ## General requirements * **Purposeful use:** Use pop-ups sparingly and only when necessary to avoid disrupting the user flow. * **Clear close option:** Provide a prominent and easily accessible close button. * **Visual hierarchy:** Use headings, subheadings, and bullet points to organize content. * **Mobile optimization:** Ensure pop-ups are responsive and adapt well to smaller screens. * **Accessibility:** Design with accessibility in mind, including appropriate color contrast, keyboard navigation, and screen reader compatibility. ## Login Example login pop-up * **Clear purpose:** Explain why login is required and its benefits. * **Multiple options:** Offer various login methods (e.g., email, social media). * **Error handling:** Provide clear error messages and guidance. ## Wallet connect Example wallet connect pop-up * **Clear instructions:** Provide step-by-step instructions on how to connect a wallet. * **Supported wallets:** Display a list of supported wallets and their logos. * **Security information:** Assure users about the security of their wallet connection. * **Error handling:** Provide clear error messages and troubleshooting tips if connection issues arise. ## Platform login Example platform login pop-up * **Platform branding:** Incorporate the branding of the relevant platform for visual consistency. * **Clear instructions:** Explain the login process and any required permissions. * **Error handling:** Display clear error messages if login attempts fail. ## Email login * **Clear input fields:** Provide well-labeled input fields for email and password. * **Password recovery:** Include a "Forgot Password" link for users who need assistance. * **Error handling:** Display clear error messages if login attempts fail. ## Completed task Example completed task pop-up * **Congratulatory message:** Celebrate the user's achievement. * **Reward display:** Clearly showcase the earned reward. * **Call to action (CTA):** Encourage further progress or exploration. ## Challenge details Example challenge details pop-up * **Challenge information:** Clearly present the challenge's objectives, rules, rewards, and any time constraints. * **Progress tracking:** Include a progress bar or indicator to show the user's advancement towards the challenge goal. * **CTA:** Include a "Participate" or similar button to prompt users to join the challenge. ## Leaderboard * **Default view:** Displays the full leaderboard with all ranked users visible. * **Collapsed leaderboard state:** Only the heading row and the top 9 ranked users are shown when the list is long. Include **View more** / **Hide** buttons to expand or collapse the list. Example leaderboard * **Leaderboard pop-up:** Design the button for flows when the leaderboard appears only after clicking it. Example leaderboard pop-up button * **Collapse button in pop-up:** When opened in a modal, include an option to collapse or minimize the leaderboard view. * **Pagination:** If the full list is too long to load at once, add pagination to allow users to browse through pages of results. Example leaderboard pagination * **Clear rankings:** Present user rankings and relevant metrics clearly. * **Visual hierarchy:** Use size, color, and placement to highlight top performers. ## Action status notifications * **Concise message:** Provide a brief message about the action's status. * **Visual cues:** Use colors, icons, or animations for visual feedback. * **Additional information:** Include relevant details or instructions. # Quest card UX requirements Source: https://docs.claimr.io/ux-requirements/quest-card-ux-requirements Key design elements and considerations for creating effective and engaging quest cards in your Claimr campaigns. ## Understanding Quest cards Quest cards serve as the primary interface for users to interact with individual quests within your campaign. Each card should provide a clear overview of the quest's objectives, rewards, and progress, enticing users to embark on the journey. ## Quest state indicators Clearly communicate the current state of the quest: Active, Completed, or Locked. Quests at different states * **Visual clarity:** Employ distinct colors, icons, or labels to differentiate between each state. * **Accessibility:** Ensure the indicators are easily distinguishable for users with visual impairments. * **Consistency:** Maintain a consistent visual style for state indicators across all quests. * **Placement:** Position these indicators prominently on the quest card. ## Image Provides a visual representation of the quest's theme. Example quest card with an image * **Relevance and quality:** Choose high-quality images that are relevant to the quest's content. * **Size and aspect ratio:** Ensure the image is appropriately sized and cropped. * **Accessibility:** Provide alternative text descriptions for images. ## Quest name Clearly and concisely conveys the essence of the quest. * **Clarity:** Use action-oriented language and avoid jargon. * **Length:** Keep the title short enough to fit within the card's layout. * **Hierarchy:** Use a larger font size and/or bolder font weight to distinguish the title. ## Short quest description Provides a brief overview of the quest's objectives and rewards. * **Conciseness:** Craft a succinct description. * **Clarity:** Use plain language and avoid technical terms. * **Enticement:** Use persuasive language to encourage participation. ## User progress bar Visually represents the user's progress towards completing the quest. Example quest name, user progress bar, rewards, and counter * **Clarity:** Use a clear and easily understandable progress indicator. * **Visual feedback:** Provide updates to the progress bar as the user completes tasks. * **Accessibility:** Ensure the progress bar is accessible to screen readers. ## Counters Display numerical information related to the quest, such as the number of tasks completed or rewards earned. * **Clarity:** Use clear labels and units of measurement. * **Placement:** Position counters near relevant elements. ## Rewards Showcase the rewards that users can earn by completing the quest. * **Visual appeal:** Use high-quality images or icons to represent the rewards. * **Clarity:** Clearly indicate the type and quantity of rewards offered. ## CTA button Prompts users to take action and start or continue the quest. Example CTA buttons for different states * **Clarity:** Use action-oriented language. * **Visual prominence:** Make the button stand out. * **Accessibility:** Ensure the button is easily clickable. * **State differentiation:** Visually distinguish between active and inactive states. ## Quest blockers and dependencies Display any conditions or requirements that must be met before a user can start or continue a quest. Example quest card with dependencies * **Clarity:** Clearly communicate the blockers and any actions the user needs to take. Show any other quests that must be completed before this quest can be unlocked. * **Visual cues:** Use icons or labels to visually distinguish blockers. ## Countdown Displays a timer for time-sensitive quests. Example quest card with a countdown timer * **Clarity:** Use a large, easy-to-read font and clear time units. * **Urgency:** Consider using color or animation to create a sense of urgency. # Quest UX requirements Source: https://docs.claimr.io/ux-requirements/quest-ux-requirements Key design elements and considerations for building visually appealing and user-friendly Claimr quests, from the header to the footer. ## What is a Claimr Quest? A quest in Claimr is a structured set of tasks designed to engage users and guide them towards specific goals within a campaign. Example quest header ## 1. Quest header This section displays the core information about the quest, including its name, the organization offering it (your company), and a brief description. ### Quest name Clearly displays the name of the quest. * Use a clear and concise title that reflects the quest's theme or objective. ### Organization name Clearly displays the name of the organization or company associated with the campaign. * Ensure consistency with branding guidelines. ### Quest description Provides a brief overview of the quest's objectives and actions required. * Use clear and concise language, avoiding jargon. ## 2. Rewards section This section highlights the rewards users can earn by completing the quest. ### Rewards Displays the rewards associated with the quest. * Use high-quality images or icons to represent rewards. * Clearly communicate the type and value of each reward. ### Points Displays the number of points the user can earn by completing the quest. * Use a clear numerical representation and label (e.g., "0/400 Points"). ### Quest timer Displays the time remaining for the quest or the time until it becomes available. * Use a clear and easy-to-understand timer format. ## 3. Task section This section presents the tasks users need to complete within the quest. It includes all tasks within the quest, and each task has a header, body, and a CTA button. Example individual task Example list of tasks ### Task header Provides a concise and informative title for the task. * Use action-oriented language. ### Task body Provides the main content or details of the task, including any necessary information, instructions, or visuals. * Use headings, subheadings, bullet points, and other formatting elements to organize the content. * Incorporate relevant visuals, such as images, videos, or diagrams. ### CTA button Provides a clear action button for users to engage with the task. * Use action-oriented and concise language. For more information, see [Task UX requirements](/ux-requirements/task-ux-requirements). ## 4. More quests section This section shows a preview of other quests available in the campaign. * Present quest previews in a visually appealing and concise manner. ## 5. Footer This section contains actions or buttons related to the quest. * Use clear labeling (e.g., "Close," "View More"). # Task UX requirements Source: https://docs.claimr.io/ux-requirements/task-ux-requirements UX design requirements for presenting tasks within your Claimr quests, covering active, locked, completed, and pending states plus popular task types. ## Understanding Tasks Tasks are specific actions or objectives that users need to complete within a quest. They are the building blocks of quests and contribute to the overall user journey within a Claimr campaign. Tasks can exist in 4 different states: Example completed, active, and locked task 1. **Completed:** The user has successfully finished it. 2. **Active:** Currently available and ready for the user to complete. 3. **Locked:** Currently unavailable, possibly due to prerequisites or time constraints. The reason for being locked should be clear to the user. 4. **Pending:** Waiting for an external event or action (like a payment confirmation or approval) before it can be completed. ## Active tasks This section focuses on the UX requirements for tasks that are currently active and available for users to complete. Example active task ### Task header Provides a concise and informative title for the task, summarizing its objective. * **Clarity:** Use action-oriented language and avoid jargon. * **Prominence:** Display the title with visual emphasis. ### Task description Provides clear instructions on what the user needs to do to complete the task. * **Clarity:** Use simple language and break down complex tasks into smaller, manageable steps. ### Task body * **Purpose:** This is where you provide the main content or details of the task, including any necessary information, instructions, or visuals. * **Visual clarity:** Use headings, subheadings, bullet points, and other formatting elements to organize the content and make it easy to scan. * **Visual aids:** Incorporate relevant visuals, such as images or videos, to enhance understanding and engagement. * **Conciseness:** Keep the content focused and avoid unnecessary information. ### CTA button Provides a clear action button for users to engage with the task (e.g., "Start task," "Complete," "Submit"). * **Clarity:** Use action-oriented and concise language. * **Visual prominence:** Make the button stand out with contrasting colors or clear affordances. ## Locked tasks This section focuses on the UX requirements for tasks that are currently locked and unavailable to users. Example locked task ### Task state indicators Clearly communicates that the task is locked and unavailable for completion. * **Visual clarity:** Use distinct visual cues to indicate the locked state. This could include: * **Color:** Use a different color for locked tasks (e.g., gray or a less prominent color). * **Icons:** Use a lock icon or a similar visual symbol to represent the locked state. * **Blurring or dimming:** Consider blurring or dimming the task's content to visually reinforce that it's inaccessible. * **Placement:** Position the indicators prominently, ideally near the task title or in a location that is easily noticeable. ### Task description Provides a brief description of the locked task, explaining what it entails and how to unlock it. * **Conciseness:** Keep the information brief and focused. * **Visual hierarchy:** Use design elements to guide the user's eye. ## Completed tasks This section focuses on the UX requirements for tasks that have been successfully completed by the user. Example completed task ### Task state indicators Clearly communicates that the task has been completed. * **Visual clarity:** Use distinct colors, icons, or labels to indicate the completed state. * **Accessibility:** Ensure high contrast and consider screen reader compatibility. * **Placement:** Position indicators prominently near the task title. ### Task header Displays the title of the completed task. ### Completion message Provides feedback to the user acknowledging their completion of the task. This can include congratulatory messages, information about rewards earned, or prompts to proceed to the next task or quest. Example completion message * **Clarity:** Use positive and encouraging language. * **Informative:** Communicate the outcome of completing the task. ## Pending tasks This section focuses on the UX requirements for tasks that are currently pending, meaning they are waiting for an external event or action before they become available or completed. ### Task state indicators Clearly communicates that the task is pending and not yet ready for the user to interact with. * **Visual clarity:** Use distinct visual cues to indicate the pending state. This could include: * **Color:** Use a specific color for pending tasks (e.g., yellow or orange). * **Icons:** Use an hourglass icon, a clock icon, or a similar visual symbol to represent waiting or pending action. * **Labels:** Add a clear "pending" label to the task. * **Placement:** Position the indicators prominently in a location that is easily noticeable. ### Task description Provides a brief description of the pending task, explaining what it entails and what needs to happen for it to become active or complete. * **Clarity:** Use concise and straightforward language to explain the pending state and the reason for it. * **Informative:** Clearly communicate what the user needs to do or what event they are waiting for (e.g., "Waiting for payment confirmation," "Pending approval"). * **Visual hierarchy:** Use design elements like font size, color, and spacing to guide the user's eye to the most important information. ## Popular task types While tasks in Claimr campaigns can share general states (Active, Completed, Locked, Pending), each task type comes with a unique UX layout and distinct design elements. These layouts influence how users engage with the task and must be accounted for in your design implementation. Below are examples of the most common and structurally rich task types to guide your UX preparation. ### Log in and follow X task This task requires users to log in with their X account and follow a designated profile to earn a reward. It combines both authentication and an external platform action. Example log in and follow X task UX elements to include in the design: * **Instructional header:** A clear, action-based task title displayed at the top. * **Login button:** A prominent button prompting X authentication. Ensure the state of the button (active, disabled) is clearly visually indicated. * **Terms & Conditions checkbox:** Required before login becomes available. Include: * Checkbox * Linked text for "Terms and Conditions" and "Privacy Policy" * **Target account preview:** A banner or embedded card showing users which account they're about to follow. #### Conditional or alternative UI elements Example conditional UI elements for the Follow X task Depending on task status or user action, the following additional UI elements may be present: * **Confirmation state:** After login, users may be shown buttons: * "Follow \[Account Name]" (deep linking to follow action) * "Confirm" (another task used to validate action post-follow), with the user's handle displayed under the button for clarity * **Help block (optional but recommended):** If task completion fails, show: * Alert-style message (e.g., "Can't complete the task?") * Bullet list of common fixes (e.g., public account, shadowban info) * **Error hint / validation:** If task validation fails or the user attempts action before authentication, provide clear error messages or red input hints if applicable. ### Join Telegram group task This task asks users to join a Telegram group. It includes platform authentication and group-specific context. Example join Telegram group task **UX requirements:** * **Instruction header:** Clearly state what the user is expected to do (e.g., "Login and join a group to earn"). * **Group preview:** Display group avatar and name (visual identity is important). * **Login button:** Must include the platform icon (Telegram) and clearly indicate the action. * **Terms and Privacy checkbox:** Mandatory acceptance before proceeding. * **State awareness:** If the user is already logged in, indicate which Telegram account is connected. * **Multiple buttons:** Be ready to include both Login and Confirm buttons, if required by the flow. ### Referral link task The user is asked to share a unique referral link and bring a specific number of users into the campaign. Example referral link task Example referral link task, progress state **UX requirements:** * **Instruction header:** Include the referral goal (e.g., "Invite 10 referrals"). * **Generate Link button:** Clear CTA styled button with appropriate icon (e.g., globe). * **Referral progress display:** Show current count vs. required (e.g., "0 / 10") - use a progress bar where applicable. * **Copy interaction:** Make it obvious that the user can copy the link; include feedback when copied. * **Responsiveness:** Ensure long links fit or truncate well on small screens. ### Custom event task This task is based on fulfilling a set number of customized actions within the campaign to unlock a reward. Example custom event task **UX requirements:** * **Instruction header:** Use clear action-based titles (e.g., "Complete to earn"). * **Progress indicator:** Numeric (e.g., "0 / 10") with an accompanying visual progress bar. * **Refresh button:** Prominently placed to allow users to update their progress manually. * **Feedback state:** If the progress bar updates after an action, animate the update subtly for clarity. ### UGC link task The user is required to paste a URL (e.g., tweet, blog post, YouTube link) and submit it for validation. Example UGC link task Example UGC link task, submitted state **UX requirements:** * **Instruction header:** Clearly state what kind of link needs to be submitted. * **Input field:** Styled input area with placeholder (e.g., "[http://www.link.com](http://www.link.com)"). * **Submit button:** Actionable and responsive. Disabled until a valid-looking URL is entered. * **Error state:** Show visual feedback if the input is empty or malformed. * **Success handling:** Provide confirmation once submitted. ### UGC image task The user is asked to upload an image, video, or other file to complete the task. Example UGC image task Example UGC image task, preview state **UX requirements:** * **Instruction header:** Clarify what kind of file is expected. * **File picker button:** Clearly styled button labeled "Choose file." * **Preview area:** Show a thumbnail or preview of the selected file. * **File constraints:** Display any limits. * **Submit & Reset buttons:** Submit to finalize; Reset to remove the file. * **Disabled state:** Submit button should remain disabled until a valid file is selected. ### Fortune wheel task The user interacts with a wheel spinner to receive a randomized reward. Example fortune wheel task **UX requirements:** * **Instruction header:** Describe the action (e.g., "Spin to earn points"). * **Spinner wheel:** Central animated spinner with reward values clearly labeled. * **Spin button:** Prominent CTA button below the spinner. * **Result display:** Upon spin completion, show the earned reward. ### Scratch card task The user is presented with a scratch card interface to reveal a randomized reward. Example scratch card task **UX requirements:** * **Instruction header:** Communicate the task goal (e.g., "Scratch to earn"). * **Scratch UI:** Visually styled card grid with interactive scratch zones. * **Prize pool info:** Show prize range or potential outcomes (e.g., 0, 100, 150, 200). * **Reward feedback:** Visually reveal the prize after scratch. * **Result summary:** Display total reward value (e.g., "Total reward: 200 Points"). ### Watch YouTube task The user must connect a YouTube account and complete a viewing task (e.g., watch a video). Example watch YouTube task **UX requirements:** * **Instruction header:** Explain the viewing requirement (e.g., "Watch to earn 100 Points"). * **Login button:** Prominent CTA with the YouTube icon. Disabled until the Terms & Conditions checkbox is checked. * **Terms & Conditions checkbox:** Required for login activation. Include linked text for both documents. * **Post-login state:** Example watch YouTube task, post-login state * Show embedded video player with required video. * Display timer if set in task settings (e.g., "Timer: 59 / 100"). * Include visual progress bar synced with watch time. * **Completion state:** * Automatically completes after watch time is fulfilled. * Lock input and update UI to reflect completion. * **Responsiveness:** Video player, progress bar, and buttons should adapt seamlessly on mobile devices. * **Fallback behavior:** Include error state if the video fails to load or embed. # User progress UX requirements Source: https://docs.claimr.io/ux-requirements/user-progress-ux-requirements How to design clear and informative displays of user progress within Claimr, covering the logged-in and logged-out states and what to include in each. ## Understanding User progress Displaying user progress is crucial for motivating users and encouraging continued participation in your campaigns. By showing users their achievements, points earned, and overall progress, you can create a more engaging and rewarding experience. Users can be in one of two states: * **Logged in:** When users are logged in, they see personalized information, such as their name, points, and progress bar. They also have the option to log out. * **Logged out:** When users are not logged in, they see basic information and are encouraged to log in or sign up. ## Logged in state This state should clearly indicate that the user is currently logged in to their account and provide relevant information and actions related to their profile and progress. Example logged in state ### 1. User name * Display the user's name prominently to provide a personalized experience. * Use a legible font and appropriate font size for easy readability. ### 2. User progress bar * Visually represent the user's overall progress toward completing the campaign or quest. * Choose an easily understandable progress indicator (e.g., bar, percentage). * Use colors and animations to make the progress bar visually engaging and dynamic. * Ensure the progress bar is accessible to screen readers and provides alternative text descriptions. ### 3. User points * Show the accumulated points the user has earned within the campaign or quest. * Use a clear numerical representation and label (e.g., "Points: 150"). * Display the points prominently, potentially using a larger font size or distinct color. ### 4. Log out button * Allow users to log out of their account securely. * Use clear labeling (e.g., "Log out") and consider using a recognizable icon. * Typically located near the user's name or profile information. * Implement a confirmation dialog to prevent accidental logouts. ## Logged out state This state should clearly indicate that the user is not logged in and provide a clear path to log in or sign up. ### 1. Log in button Example log in state Include a prominent "Log in" button to allow existing users to access their accounts. This button should be visible and accessible. ### 2. Title Display a clear and concise title that explains the purpose of the section. For example, you could use "Welcome to \[Campaign name]" or "Sign in to continue." ### 3. Brief description Provide a brief explanation of the benefits of logging in or the features users can access once logged in. This could include things like: * Accessing personalized campaigns and quests. * Tracking progress and earning rewards. * Connecting with other users. ### Additional considerations * Use clear messaging and visual cues to differentiate this state from the logged-in state. * Consider adding a "Sign up" button for new users, a preview of campaign features, or a link to your Privacy Policy. * Hide personalized elements like the user's name, points, and progress bar until they are logged in. # Assign webhooks Source: https://docs.claimr.io/webhooks-guide/assign-webhooks Assign Claimr's pre-defined webhooks to your applications, configure their settings, and test the integration before going live. Claimr provides pre-defined webhooks that you can assign to send real-time data to your applications when specific events occur. This allows you to integrate Claimr with other systems and automate workflows. Pre-defined webhook types in Claimr ## Webhook types * **User activity hook**: Triggered when a user acts within a campaign (e.g., completes a task, claims a reward). * **User login hook**: Triggered when a user logs in to Claimr. * **User reward hook**: Triggered when a user claims a reward. * **Referral hook**: Triggered when a referral-related event occurs (e.g., a new user signs up via a referral link). ## Assign a webhook Assign webhook modal window In your Claimr dashboard, go to the **API** section. Find the webhook you want to assign (e.g., "User activity hook"). Click **Assign** next to the webhook. This will open an **Assign webhook** modal window. Within the modal window, you'll configure the webhook settings: * **ID**: A unique identifier for your webhook. It is automatically generated by Claimr but can be edited. * **URL**: This is the URL of the external endpoint that will receive the webhook data. This must be a publicly accessible endpoint that can accept HTTP POST requests. You'll need to obtain this URL from the application you're integrating with. * **Secret**: A secret key used to verify the authenticity of the webhook requests. When you set a secret, Claimr will use it to generate a signature that's included with each webhook request. Your receiving application should verify this signature to ensure the request came from Claimr and hasn't been tampered with. * **Campaigns**: This section allows you to specify which campaigns this webhook applies to. * If you leave this section empty (no checkboxes selected), the webhook will be triggered for *all* your campaigns. * If you select one or more campaigns, the webhook will *only* be triggered for events within those specific campaigns. Once you've filled in the configuration, click **Assign** to save the settings. ## Benefits of secret keys By utilizing secret keys, Claimr provides a robust mechanism to ensure that your webhook communications are secure and reliable. * **Data Integrity**: Ensures that the data received in webhook notifications has not been modified or corrupted during transmission. * **Authentication**: Verifies that the webhook message originated from Claimr and not from a malicious actor. * **Security**: Adds an extra layer of security to your webhook integration, protecting your campaign data from unauthorized manipulation. ## Testing your webhook Claimr provides a built-in testing tool to verify that your webhook integration is working correctly before you go live. This allows you to simulate a webhook event and see the data that would be sent to your endpoint. Testing your webhook Navigate to the "API" section of your Claimr admin panel, find the webhook you want to test (e.g., "User activity hook"). You should see a testing area associated with that webhook. Enter a valid Claimr User ID into the "User:" field. Click the "Test" button. This will trigger a simulated `user_activity` event for the specified user. * **Response Body**: Claimr will display the *exact* JSON payload that would be sent to your webhook endpoint in the "Response body:" section. Carefully review this data to ensure it matches the expected format and contains all the necessary information. * **Response Result**: Claimr will also show a summary of the test result: * **Success**: A boolean value (`true` or `false`) indicating whether Claimr was able to send the test message. Note that this only confirms that Claimr sent the message; it does not guarantee that your endpoint received it successfully. * **Status**: The HTTP status code returned by your endpoint (if it was reached). A status code of `200` indicates success on your endpoint's side. * **Data**: This will usually display a snippet of the response from *your* server. If your server is set up to return a confirmation message, you'll see it here. If your server returned an error, or if the request failed to reach your server, you might see an error message or HTML code here. ### Test example Check an example of a successful test. The "Response body:" section displays the JSON payload that was sent. Successful webhook test example Here's a breakdown of the fields in the example payload: * **`id`**: A unique identifier for this specific webhook message. * **`scope`**: Indicates the webhook was triggered by a user activity event. * **`user`**: The ID of the user who performed the action. * **`user_id`**: The ID of the user. * **`wallet`**: The user's connected wallet address. * **`email`**: The user's email address. * **`campaign`**: Information about the campaign. * **`id`**: The unique ID of the campaign. * **`name`**: The name of the campaign. * **`event`**: Details about the specific event. * **`type`**: The type of event (an action was completed). * **`data`**: Additional data about the event. * **`account`**: The associated account. * **`action`**: Information about the completed action. * **`id`**: The action's ID. * **`name`**: The action's name. * **`type`**: The action's type. * **`meta`**: The additional metadata. * **`xp`**: The number of points awarded. * **`total_xp`**: The user's total points. * **`ref_xp`**: Points earned from referrals. * **`ugc_xp`**: Points earned from user-generated content. * **`xp_mul`**: The points multiplier. * **`rank`**: The user's rank. * **`team`**: The user's team. The "Response result:" section shows `Success: true` and `Status: 200`, indicating that the test message was sent successfully and your endpoint (presumably) responded with a success code. The testing tool simulates the webhook event from Claimr's side. It's still important to ensure your endpoint is correctly configured to receive and process the webhook data. # Webhooks Source: https://docs.claimr.io/webhooks-guide/overview Learn how Claimr webhooks deliver real-time updates to your applications, enhancing efficiency and user engagement. ## Understanding webhooks and endpoints Webhooks are a powerful tool for staying informed about real-time events happening within your Claimr campaigns. They provide an efficient way to receive instant updates, allowing your application to react dynamically to user actions and provide a more personalized experience. #### What is a webhook? A webhook is an automated message that Claimr sends to your application whenever a specific event occurs in your campaigns. Instead of your application constantly checking for new information (a process called "polling"), Claimr proactively notifies you when something important happens, such as a user completing a task or claiming a reward. Webhooks in Claimr have an organization-wide scope. This means that any user activity within your entire organization, across all associated campaigns, will trigger a notification to your registered endpoint. #### What is an endpoint? To receive these webhook messages, you need to set up a dedicated URL on your server, called an endpoint. This endpoint acts as the receiving address where Claimr can deliver these real-time updates. It's important to ensure that your endpoint is properly configured to receive and process incoming data. #### Why use webhooks? Webhooks offer several advantages over traditional polling methods: * **Real-time updates**: Get instant notifications about important events, enabling your application to react quickly and provide timely feedback to users. * **Efficient data handling**: Receive only the data you need, when you need it, reducing unnecessary data transfer and processing. * **Reduced polling**: Eliminate the need for your application to continuously check for updates, saving resources and improving performance. To dive deeper into specific aspects of webhooks in Claimr, check out our detailed articles. Register, configure, and test webhooks in Claimr. Understand the different webhook scopes and the events they cover. # Set up webhooks Source: https://docs.claimr.io/webhooks-guide/set-up-webhooks Step-by-step guide on registering, configuring, and testing webhooks in Claimr, including secret keys, payloads, and retry policy. ## Register and configure webhooks in Claimr To receive real-time updates from Claimr, you first need to register a webhook. This involves providing Claimr with the URL of your endpoint (where you want to receive the data) and defining the scope of events you're interested in. You can register a webhook through the [Claimr API documentation](/api-reference/webhooks/set-webhook). 1. **Access webhooks section**: Navigate to the webhooks section within the Claimr API documentation. 2. **Set up POST request**: You'll typically use a POST request to register a new webhook. 3. **Define request body**: In the request body, you'll provide the following information: * **`scope`**: Specify the type of events you want to receive updates for (e.g., `user_activity`). * **`url`**: Provide the URL of your endpoint. * **`secret`** (optional): Include a secret key for added security. * **`hook_id`** (optional): Assign a unique ID to your webhook for easy identification. **Request body example** ```json theme={"dark"} { "scope": "user_activity", "url": "https://your-endpoint-url.com", "secret": "your-secret-key", "hook_id": "your-webhook-id" } ``` ### Benefits of secret keys By utilizing secret keys, Claimr provides a robust mechanism to ensure that your webhook communications are secure and reliable. * **Data Integrity**: Ensures that the data received in webhook notifications has not been modified or corrupted during transmission. * **Authentication**: Verifies that the webhook message originated from Claimr and not from a malicious actor. * **Security**: Adds an extra layer of security to your webhook integration, protecting your campaign data from unauthorized manipulation. **Secret key example** ```javascript theme={"dark"} const payload = JSON.stringify(data); const signature = crypto.createHmac('sha256', secret).update(payload).digest('hex'); ... 'x-claimr-signature': signature ``` ## Real-time activity tracking Once you've set up a webhook, Claimr will instantly send updates to your endpoint whenever a relevant event occurs within your campaigns. This allows your application to track user activity in real-time and respond accordingly. **Example scenario** Let's say a user logs in to your campaign and starts completing tasks. As the user interacts with your campaign (e.g., completes a "reCAPTCHA" task), Claimr will immediately send a webhook notification to your endpoint with detailed information about the user's activity. ### Webhook payload The webhook payload will contain a wealth of information, including: * A unique ID for the action (`"id": "lisjywHXKAq6yQe2bH6Pd"`) * The user's ID (`"user": "23945872938472"`) * The user's connected wallet and email (if applicable) * The campaign ID and name (`"campaign": { "id": "sue7r1vO", "name": "Test campaign" }`) * Details about the specific event, such as the task ID, type, and name (`"event": { "type": "action_completed", "data": { "action": { "id": "_g06CbGQ", "name": "reCAPTCHA", "type": "recaptcha" } } }`) ### How to use this data You can utilize this real-time data to: * Update user progress and rewards within your own applications. * Trigger personalized notifications or messages based on user actions. * Track campaign performance and identify areas for improvement. * Integrate with other tools and services (e.g., send data to analytics platforms or trigger actions in Zapier). ## Test your webhook Claimr allows you to test your webhook setup to ensure it's working correctly. Testing your webhook In the API section of your Claimr admin panel, you'll find a dedicated area for testing webhooks. Enter a test User ID in the provided field. Click the **Test** button to send a simulated user activity event to your webhook endpoint. Claimr will display a response indicating whether the test message was successfully sent. You should also check your endpoint to confirm that it received the data. ### Test example This example shows the detailed information included in a webhook payload, such as user data, campaign details, event type, and associated points and rewards. ```json theme={"dark"} { "id": "lisjywHXKAq6yQe2bH6Pd", "scope": "user_activity", "user": "23945872938472", "wallet": "", "email": "", "campaign": { "id": "sue7r1vO", "name": "Test campaign" }, "event": { "type": "action_completed", "data": { "action": { "id": "_g06CbGQ", "name": "Test action", "type": "test_action" }, "xp": 100 } }, "total_xp": 1500, "ref_xp": 50, "ugc_xp": 25, "xp_mul": 1.1, "rank": 1, "team": "red pill" } ``` ### Explanation of the fields * **`id`**: A unique identifier for this specific webhook message. * **`scope`**: Indicates the type of event that triggered the webhook (e.g., `user_activity`). * **`user`**: The ID of the user who performed the action that triggered the webhook. * **`wallet`**: The user's connected wallet address, if applicable. * **`email`**: The user's email address, if available. * **`campaign`**: Contains information about the campaign where the action occurred, including: * **`id`**: The unique ID of the campaign. * **`name`**: The name of the campaign. * **`event`**: Details about the specific event that triggered the webhook, including: * **`type`**: The type of event (e.g., `action_completed`, `quest_completed`). * **`data`**: Additional data related to the event, such as: * **`action`**: Information about the completed action, including its ID, name, and type. * **`xp`**: The number of experience points awarded for completing the action. * **`total_xp`**: The user's total accumulated experience points. * **`ref_xp`**: The amount of XP the user has earned from referrals. * **`ugc_xp`**: The amount of XP the user has earned from user-generated content. * **`xp_mul`**: The multiplier applied to the XP earned for this action. * **`rank`**: The user's current rank in the campaign leaderboard. * **`team`**: The user's team, if applicable. ## Configuring multiple endpoints In Claimr, you can configure multiple endpoints for a single webhook. Each endpoint will receive the same webhook payload whenever the associated event is triggered. When registering a webhook, you can provide a list of endpoint URLs instead of just one. **Why use multiple endpoints?** * Mirroring data to multiple servers for redundancy. * Sending different types of data to different applications or services. * Integrating with multiple analytics or monitoring tools. If you're using multiple endpoints for the same scope, it's recommended to assign a unique `hook_id` to each webhook for easier management and tracking. ## Retry policy In situations where your server may experience temporary downtime or unresponsiveness, Claimr employs a retry policy to ensure the reliable delivery of webhook notifications. ### Understanding retry policy A retry policy is a mechanism that attempts to redeliver webhook messages if the initial delivery attempt fails due to server unavailability. Claimr's retry policy utilizes increasing intervals between attempts, allowing time for your server to recover and become responsive. ### Claimr's retry intervals * **First retry**: 5 seconds after the initial attempt. * **Second retry**: 30 seconds after the first retry. * **Third retry**: 1 minute after the second retry. * **Final retry**: 5 minutes after the third retry. ## Undelivered events If all retry attempts prove unsuccessful, the event will be recorded as undelivered. This allows you to investigate potential issues and take necessary action to ensure future notifications are delivered successfully. # Webhook scopes Source: https://docs.claimr.io/webhooks-guide/webhook-scopes Explanation of the different webhook scopes in Claimr and the events they cover, so your application only receives relevant updates. Webhook scopes allow you to define the specific types of events that trigger notifications from Claimr to your application. This gives you granular control over the information you receive, ensuring your application only receives relevant updates. ## Webhook scopes in Claimr **`user_activity`**: This scope covers a wide range of user actions within your Claimr campaigns, such as: * **Task Completion**: When a user successfully completes a task within a quest. * **Quest Completion**: When a user completes an entire quest. **`user_reward`**: This scope focuses on events related to users receiving rewards, including: * **Reward Allocation**: When a user receives a reward for completing a task, quest, or other action. **`referral`**: This scope covers events related to user referrals, including: * **Referral Join**: When a new user joins your campaign through a referral link. * **Referral Action**: When a referred user completes an action within your campaign (which may result in bonus points for the referrer). **`user_login`**: This scope focuses on user authentication events: * **Sign-in**: When a user logs in to your campaign using any supported method (e.g., wallet, Twitter, Discord). ## Choosing the right scope The appropriate scope for your webhook depends on the specific needs of your application. * If you need to track all user activity within your campaigns, the `user_activity` scope is a good choice. * If you're primarily interested in reward-related events, use the `user_reward` scope. * For referral tracking, choose `referral`. * If you want to monitor user login and logout events, the `user_login` scope is most suitable. **Example:** The `user_login` scope is particularly useful for integrations with tools like Zapier. By tracking user login events, you can trigger automated workflows in Zapier, such as adding new users to your email list or CRM system. If you have questions about specific webhook scopes or need further clarification, please refer to the Claimr [API documentation](/api-guide/overview) or contact our support team. # Framer integration Source: https://docs.claimr.io/widget/claimr-widget-integrations/framer-integration Set up a frame and configure a Code Override to embed the Claimr widget into your Framer designs. Integrating your Claimr widget into Framer allows you to seamlessly display your interactive content within your Framer designs. This guide will walk you through the process, which involves setting up a frame and configuring a Code Override to embed the widget. ## Create a frame in Framer In Framer, everything begins with a frame. This frame will serve as the container for your Claimr widget. * Create a new **Frame** in your Framer project. * You can style this frame as needed, or leave it with default styling. ## Access Code overrides To embed the Claimr widget, you will use Framer's Code Overrides feature, which allows you to extend component functionality with custom code. * Select your newly created Frame. * In the right-hand properties panel, scroll down and open the **Code Overrides** tab at the bottom. * Click the **+** button to add a new file. If no override file exists, you will be prompted to create one. ## Create the Override File This file will contain the custom code necessary to initialize and load your Claimr widget. Creating a Code Override file in Framer Name your file (for example, `claimrIntegration.tsx`) and click **Create**. In the newly opened code editor, paste the override code for your integration. This code sets up the mechanism to load the Claimr widget. ## Edit the Override Code You will need to modify the override file to include specific `data-` attributes that define your Claimr widget's behavior and link it to your campaign. Editing the Code Override in Framer Replace the contents of the override file with the code below, then fill in the values from your Claimr embed code: * `data-organization`: Your organization ID. * `data-campaign`: Your campaign ID. * `data-container`: The ID of the element the widget renders into. The override gives your frame this ID, so you can keep the default value. The script tag's ID must stay exactly `claimr-script`: the script reads its settings from the element with that ID. **Example of an override function** ```tsx theme={"dark"} import type { ComponentType } from "react" import { useEffect } from "react" const CLAIMR_CONTAINER_ID = "claimr-widget" function loadClaimr() { // Load the script once, even if the page renders the frame more than once. if (document.getElementById("claimr-script")) return const script = document.createElement("script") script.id = "claimr-script" script.src = "https://widgets.claimr.io/claimr.min.js" script.setAttribute("data-organization", "YOUR_ORGANIZATION_ID") script.setAttribute("data-campaign", "YOUR_CAMPAIGN_ID") script.setAttribute("data-container", CLAIMR_CONTAINER_ID) script.setAttribute("data-autoresize", "true") document.body.appendChild(script) } export function withClaimr(Component): ComponentType { return (props) => { useEffect(loadClaimr, []) // The widget renders inside the element whose ID matches data-container. return } } ``` ## Link override to your frame After editing the override code, you need to apply it to your specific Framer frame. Linking a Code Override to a Framer frame * In the **Layers** tab, select the Frame you created before. * In the **Code Overrides** section of the right-hand properties panel, select your newly created file. * From the function dropdown, choose `withClaimr`. ## Finalize and publish your project Once the override is linked, save your changes and publish the project to see the integrated widget. * Framer typically autosaves your changes. Ensure all modifications are saved. * Click **Publish** to deploy your project. * Verify on the published page that the Claimr widget is successfully integrated and functioning correctly within your Framer design. # Google Analytics Client ID Source: https://docs.claimr.io/widget/claimr-widget-integrations/google-analytics-client-id Enhance your Claimr widget's Google Analytics integration by passing the GA4 Client ID for more accurate, cross-session user tracking. ## Why Client ID? Claimr can automatically retrieve the Google Analytics Client ID for more accurate user tracking within your widget. This provides a more complete picture of user behavior in your Google Analytics 4 reports. * **Improved cross-session tracking:** Accurately track user behavior even if they close and reopen the browser or switch devices. * **More accurate user counts:** Avoid counting the same user multiple times. * **Richer data in Google Analytics:** Get a complete picture of user engagement within your Claimr widget. ## Automatic Client ID retrieval (recommended) Once you integrated your Claimr widget with Google Analytics 4 (using either the `data-ga4` attribute in your embed script or the `ga4` URL parameter, as described in [Google Analytics integration](/widget/claimr-widget-integrations/google-analytics-integration)), Claimr usually finds the Client ID automatically. How it works: Claimr checks for the standard Google Analytics cookie (`_ga`). This cookie contains the Client ID in the format `GA1.1.USER_ID`. Claimr extracts the `USER_ID` portion and uses it for tracking. You generally do not need to add any extra code. ## Manual Client ID passing (alternative) If the automatic retrieval doesn't work, or if you need more control, you can manually pass the Client ID using a URL parameter: * Add `?ga4cid=USER_ID` to your Claimr campaign URL, replacing `USER_ID` with the actual Client ID from the `_ga` cookie. **Example** ``` https://campaign?ga4cid=123456789.987654321 ``` Replace `123456789.987654321` with the actual Client ID and `https://campaign` with your base campaign URL. ## Verification To check the integration, you can use tools from Google Analytics. # Google Analytics integration Source: https://docs.claimr.io/widget/claimr-widget-integrations/google-analytics-integration Integrate the Claimr widget with Google Analytics 4 using the data-ga4 embed script attribute or a URL parameter. Claimr supports two methods for integrating with GA4: ## Method 1: Using the data-ga4 attribute in the embed script This is the recommended method for most implementations. You add your GA Measurement ID (which looks like `G-XXXXXXXXXX` or `GA4-KEY`) directly to the Claimr embed script. * Log in to your Google Analytics account. * Go to the Admin section. * In the Property column, select your GA property. * Click on "Data streams," then select your web data stream. * Your Measurement ID will be displayed at the top. It typically starts with "G-". For detailed instructions, see Google's documentation: [Find your Google tag ID](https://support.google.com/analytics/answer/9539598?hl=en). Add the `data-ga4` attribute to your Claimr script tag, replacing `"GA4-KEY"` with your actual Measurement ID: ```html theme={"dark"} ``` Make sure you replace `ORGANIZATION_NAME`, `CAMPAIGN_NAME`, and `CLAIMR_CONTAINER_ID` with your actual values. ## Method 2: Passing the GA4 Key in the URL This method is useful if you cannot directly modify the embed script, or if you need to dynamically change the GA4 Measurement ID. 1. **Find your GA4 measurement ID:** (Same as Method 1) 2. **Construct the URL:** Add the `ga4` parameter to your Claimr campaign URL, replacing `"GA4-KEY"` with your actual Measurement ID: ```html theme={"dark"} https://campaign?ga4=GA4-KEY ``` ## Verifying GA4 integration After implementing either method, you should start seeing events from your Claimr widget in your GA4 Realtime reports. It may take a few minutes for data to appear. You can use the Realtime view to test if events are being tracked correctly. # Google Tag Manager integration Source: https://docs.claimr.io/widget/claimr-widget-integrations/google-tag-manager-integration Use GTM to manage your Claimr tracking and other marketing tags without directly modifying your website's code. Google Tag Manager provides a centralized platform for managing tracking codes (tags) for various services, including Google Analytics, advertising platforms, and more. Claimr supports two methods for integrating with GTM: ## Method 1: Using the data-gtm attribute in the embed script This method is the most straightforward and is recommended for most setups. You add your GTM Container ID (which looks like `GT-XXXXXXXXX`, `G-XXXXXXXXX`, or `AW-XXXXXXXXX`) directly to the Claimr embed script. * Log in to your Google Tag Manager account. * Select the container you want to use for your Claimr widget. * Your Container ID will be displayed prominently on the container's overview page (e.g., `GT-XXXXXXX`). For more detailed instructions, refer to Google Tag Manager's documentation: [Set up and install Tag Manager](https://support.google.com/tagmanager/answer/6103696?hl=en). Add the `data-gtm` attribute to your Claimr script tag, replacing `"GTM-TAG"` with your actual GTM Container ID: ```html theme={"dark"} ``` Replace `ORGANIZATION_NAME`, `CAMPAIGN_NAME`, and `CLAIMR_CONTAINER_ID` with actual values. ## Method 2: Passing the GTM container ID in the URL This method is useful if you can't directly modify the embed script or if you need to dynamically change the GTM Container ID. 1. **Find your GTM Container ID:** (Same as Method 1) 2. **Construct the URL:** Add the `gtm` parameter to your Claimr campaign URL, replacing `"GTM-TAG"` with your actual GTM Container ID: ``` https://campaign?gtm=GTM-XXXXXXX ``` Replace `https://campaign` with your actual Claimr campaign URL. ## Verifying GTM integration After implementing either method, you'll need to configure your Claimr events *within* Google Tag Manager. This typically involves creating: 1. **Triggers:** These define *when* to fire a tag (e.g., when a specific Claimr event occurs). 2. **Tags:** These send data to your analytics or marketing platforms (e.g., a Google Analytics 4 event tag). 3. **Variables** View our documentation for the specific event names and data that are available for tracking. Once your GTM configuration is complete and published, you should start seeing Claimr events in your connected platforms (e.g., Google Analytics). Use the Real-time reports in those platforms to verify that data is being received correctly. # Hotjar integration Source: https://docs.claimr.io/widget/claimr-widget-integrations/hotjar-integration Integrate Hotjar with the Claimr widget by passing your Hotjar Site ID via a URL parameter to capture session recordings and heatmaps. ## Integration steps Integrate Hotjar by passing your Hotjar Site ID (`hjid`) via a URL parameter. * Log in to your Hotjar account. * Go to "Sites & Organizations". * Your Site ID (`hjid`) will be listed next to your site. For detailed instructions, refer to Hotjar's documentation: [Where can I find my Hotjar Site ID?](https://help.hotjar.com/hc/en-us/articles/4403117281815-Where-can-I-find-my-Hotjar-Site-ID-). Add the `hjid` parameter to your Claimr campaign URL, replacing `"HOTJAR_CAMPAIGN_ID"` with your actual Hotjar Site ID: ``` https://campaign?hjid=HOTJAR_CAMPAIGN_ID ``` ## Verifying Hotjar integration After adding the `hjid` parameter, go to your Hotjar dashboard and check if data is being collected for your site. You should be able to see recordings, heatmaps, and other Hotjar features working within the Claimr widget. # HTML integration Source: https://docs.claimr.io/widget/claimr-widget-integrations/html-integration A short, structured instruction set for integrating the Claimr widget into a static HTML website. This guide provides a short, structured instruction set for integrating your Claimr widget into a static HTML website. Start by opening the HTML file for your website. You should have a basic site structure already in place, including ``, ``, and `` sections, along with any existing content elements. Create an HTML element where your Claimr widget will be embedded. This element will serve as the widget's container. * You can use any suitable HTML element, typically a `
`. * Assign a unique `id` to this container. **Example:** ```html theme={"dark"}
``` Next, you will add the Claimr embed script into your HTML file. 1. Go to your Claimr account to copy the embed script for your campaign. 2. Paste this ` ``` ## Finalize integration After making these changes: * Save your HTML file. * Refresh your web page. The Claimr widget will now be successfully connected and displayed on your site. # Claimr widget integrations Source: https://docs.claimr.io/widget/claimr-widget-integrations/overview Integrate third-party marketing and analytics platforms with the Claimr widget to extend its functionality and gain insights into user behavior. The Claimr widget integrates with various third-party marketing and analytics platforms to enhance functionality and provide insights into user behavior. These integrations allow you to connect your Claimr campaigns with the tools you already use, extending the power of both. Since the Claimr widget runs in its own separate area (an iframe), you'll need to take a few extra steps to connect it with other tools. This makes sure data is shared correctly. To see details about our integrations and for step-by-step instructions, see the dedicated articles below. Send widget events to your GA4 property. Improve cross-session tracking accuracy by passing the GA4 Client ID. Manage Claimr tracking and other marketing tags through GTM. Capture session recordings and heatmaps of widget interactions. Embed the Claimr widget into your Webflow site. Embed the Claimr widget into your Framer site using a Code Override. Embed the Claimr widget into a static HTML website. ## Troubleshooting If you encounter problems, start with these troubleshooting steps. These common fixes can resolve many integration issues. * **Double-check ID:** Verify that you have correctly entered any platform-specific IDs (like GA4 Measurement ID, Hotjar Site ID, etc.). A simple typo can prevent the integration from working. * **Clear your cache:** Clear your browser cache and any server-side caching. Outdated cached files can sometimes interfere with the integration process. * **Iframe restrictions:** Some browser settings or security configurations might interfere with iframe communication. If you're having trouble, try testing in a different browser or adjusting your browser's security settings. * **Contact Claimr support:** Reach out for assistance if you've tried these steps and are still experiencing issues. The Claimr support team can provide tailored guidance. # Webflow integration Source: https://docs.claimr.io/widget/claimr-widget-integrations/webflow-integration Set up the HTML elements and script attributes needed to embed the Claimr widget into your Webflow site. This guide will walk you through the process of embedding your Claimr widget into your Webflow site. You'll set up the necessary HTML elements and configure the widget script to display correctly. ## Get Claimr's embed code First, retrieve the embed code for your specific Claimr campaign. Navigate to your campaign in Claimr. Click **Publish** in the upper right corner. Click **Get embed code**. Copy the provided ` ``` In this example: * **`data-organization`** and **`data-campaign`**: Select which organization and campaign the widget loads. * **`data-container`**: The ID of the element the widget renders into. * **`data-language`**: Opens the widget in French. Keep `id="claimr-script"` exactly as it is. The script reads its attributes from the element with that ID, so a script tag with any other ID does not load the widget. ## List of data attributes This section lists all supported `data-*` attributes for the Claimr widget. Add them to the script tag (or to the `` tag where specified) to control the widget's behavior, appearance, or user experience. Attributes marked with an asterisk `*` are required or applied by default. ### Default attributes | Attribute | Description | Accepted Values | Example | | - | - | - | - | | `data-organization*` | Unique ID of your organization. Ensures correct widget settings. | String | `my-awesome-org` | | `data-campaign*` | ID of the specific campaign to display. | String | `giveaway-2025` | | `data-container*` | ID of the HTML element where the widget will render. | Element ID (string) | `claimr-widget-container` | | `data-autoresize*` | Automatically adjusts the container height to fit the widget. Any value turns it on, including `false`. To turn it off, remove the attribute. | `true` | `true` | ### Feature control | Attribute | Description | Accepted values | Example value | | - | - | - | - | | `data-theme` | Applies a predefined visual theme. | Theme name (string) | `dark-mode` | | `data-theme-key` | `localStorage` key to read the theme from, kept in sync automatically if the value changes. Takes priority over `data-theme` when set. | String | `app-theme` | | `data-language` | Sets the widget's display language. | Language code (string) | `en` | | `data-debug` | Outputs debug information in browser console. You can also add `?dcl=1` to the page URL. | `true` | `true` | | `data-ga4` | Google Analytics 4 Measurement ID for event tracking. | GA4 Measurement ID (string) | `G-XXXXXXXXXX` | | `data-gtm` | Google Tag Manager Container ID for GTM integration. | GTM Container ID (string) | `GTM-XXXXXXX` | ### Advanced integration | Attribute | Description | Accepted values | Example value | | - | - | - | - | | `data-headless` | Enables headless mode (functionality without UI). | true or false | `true` | | `data-platform` | Declares the main platform environment (e.g., web). | String | `telegram` | | `data-sub-platform` | More specific platform context (e.g., Telegram, TrustWallet). | String | `trustwallet` | | `data-device` | Indicates user's device type (affects layout). | String (mobile, desktop, etc.) | `mobile` | | `data-user-token` | Authenticated user token for secure sessions. | String | `abc123xyz789` | | `data-env` | Declares the current environment. | dev, prod | `dev` | ### Contextual display settings | Attribute | Description | Accepted values | Example value | | - | - | - | - | | `data-show-tags` | Shows quests and groups that have any of these tags. See [Tag-based customization](#tag-based-customization). | Comma-separated tags | `beta_testers` | | `data-hide-tags` | Hides quests and groups that have any of these tags. See [Tag-based customization](#tag-based-customization). | Comma-separated tags | `new,vip` | | `data-route` | Sets the initial route within the widget. | Internal route path | `/quests/winter-challenge` | | `data-quest` | Loads a specific quest on widget load. | Quest ID (string) | `quest_id_abc123` | | `data-ref` | Referral code or user identifier. | String | `ref_friend_xyz` | | `data-groups` | Filters visible groups by IDs. | Comma-separated Group IDs | `group_alpha,group_beta` | | `data-contest-id` | Links widget to a specific contest by ID. | Contest ID (string) | `spring_contest1` | | `data-user-ref-id` | Attributes the visit to a specific referring user, in addition to `data-ref`. | String | `user_123` | | `data-user-ref-tag` | Optional tag to further classify the referral set with `data-user-ref-id`. | String | `campaign_launch` | ### Pre-quest badge The SDK includes a built-in badge, award toasts, and claim button for [pre-quests](/sdk-guide#pre-quests): rewards visitors bank on your site before they sign in. These attributes configure it. You can change the same settings at runtime with the [`configure_pre_quest()`](/sdk-guide#pre-quests) SDK method. | Attribute | Description | Accepted values | Example value | | - | - | - | - | | `data-pre-quest` | Turns the badge and toasts on or off. On by default. | `true` or `false` | `false` | | `data-pre-quest-position` | Corner of the page the badge sits in. Defaults to `bottom-right`. | `top-left`, `top-right`, `bottom-left`, `bottom-right` | `bottom-left` | | `data-pre-quest-icon` | Image shown on the badge and toasts. | URL (absolute, relative, or `data:`) | `/images/coin.svg` | | `data-pre-quest-template` | Toast text. Supports the `{amount}`, `{type}`, and `{reason}` placeholders. | String | `+{amount} {type} for {reason}` | | `data-pre-quest-duration` | How long an award toast stays visible, in milliseconds. Defaults to `4000`. | Number | `6000` | | `data-pre-quest-claim-url` | Page where visitors sign in and collect their rewards. Adds a claim button to the badge. The page must render the widget. | URL | `/quests` | | `data-pre-quest-claim-label` | Claim button text. Defaults to `Claim rewards`. | String | `Collect your XP` | | `data-pre-quest-claim-target` | Link target for the claim button. Defaults to `_blank`. | `_blank`, `_self` | `_self` | | `data-pre-quest-claim-threshold` | Minimum banked XP before the claim button appears. Defaults to `0`. | Number | `100` | | `data-pre-quest-bg` | Background color of the badge and toasts. | CSS color | `#111827` | | `data-pre-quest-color` | Text color of the badge and toasts. | CSS color | `#ffffff` | | `data-pre-quest-accent` | Accent color of the badge and toasts. | CSS color | `#facc15` | ## Tag-based customization Personalize the user experience by dynamically showing or hiding Quests and Groups using tags. First, assign tags to your Quests/Groups in the Claimr admin panel. Then, use these `data-` attributes in your widget script to control their visibility: * **`data-hide-tags`**: This attribute hides Quests or Groups tagged with any of the comma-separated tags provided. For example, if a Quest Group in your admin panel is tagged `new`, adding `data-hide-tags="new"` to your script will hide that specific group: ```html theme={"dark"} ``` * **`data-show-tags`**: Conversely, this attribute is used to show Quests or Groups tagged with any of the listed comma-separated tags. This is useful if certain content is hidden by default or by other conditions and you want to make it visible for specific users (e.g., `data-show-tags="beta_testers"`). Using these attributes activates Claimr's tag system. The widget receives the "show" or "hide" tags from your script, compares them against the tags on your content elements, and adjusts visibility accordingly. This enables targeted experiences like geo-restrictions or A/B testing. # Widget configurations Source: https://docs.claimr.io/widget/widget-configurations Configure the Claimr widget to highlight specific components, adjust layouts, and personalize how quests, tasks, challenges, and leaderboards are displayed. The widget is the interface where users interact with quests, tasks, challenges, and leaderboards. It defines how campaign content is displayed and how users track their own progress. You can configure the widget to highlight specific components, adjust layouts, and add personalization. To access widget settings: 1. Go to **Campaigns**. 2. Select the campaign you want to configure. 3. Open the **Customization** menu. 4. Select **Widget settings**. ## User progress User progress settings control whether users can see their own progress, switch accounts, or view profile details inside the widget. These options affect how much visibility and control users have over their activity and identity in the campaign. User progress settings panel **Show user progress toggle** * When enabled, users see their current progress at the top of the widget. * Recommended if you want to motivate users with visible feedback. * Can be disabled if you prefer a minimal, distraction-free widget. **Show logout button** * Allow users to log out from the widget when they want to disconnect their account or switch to a different one. **Enable user profile pop-up** * Opens a popup with user profile details. * Useful when campaigns use profile-based data. * Can be disabled for simple use cases where profile data is not needed. ## Localization Localization settings control whether users can select their preferred language directly in the widget. This allows the widget interface to adapt to different audiences without requiring changes in campaign setup. Localization settings panel For more details about configuring multiple languages in campaigns, read our article on [Localization](/localization). ## Shortcuts Shortcuts provide fast access to selected quests. Use this section to decide whether shortcuts should appear in the widget and how they are displayed. Shortcuts settings panel If you enable **Use shortcuts**, an additional section appears in the widget with highlighted quests. You can then choose a display mode: * Default - Compact layout for shortcuts. * Quest card view - Full card layout, matching the style of other quest cards. ## Challenges Challenges display in the widget as a separate content type, distinct from quests. Use this section to control how challenge cards are arranged. Challenges settings panel If you enable **Show challenges**, challenge cards become visible in the widget. You can then adjust their layout: * Wrap challenge cards - Resize and wrap cards to fit the widget width. * Left-align challenge cards - Align all challenge cards to the left edge. ## Groups Groups control how quests are displayed and organized within the widget. You can adjust the layout, alignment, navigation, and handling of completed quests. Groups layout settings panel **Quest cards layout** Choose how quest cards are arranged in a group layout: * Single row - all quests are shown in a single horizontal row. * Wrap cards - quests wrap into multiple rows when space runs out. **Card alignment** Align quest cards to the center or left inside a single-row group. **Slider arrows** Display horizontal navigation arrows when quest cards are in a single row. **Layout style** Present quests as grouped tabs or as a single inline list. * Tabs - quests are grouped under selectable tabs. * Inline - all quests are shown in a continuous list. **Group names** Show or hide the names of quest groups above their quests. * Enable - displays the name of each quest group above its quests. * Disable - hides group names for a cleaner layout. **Quest open mode** Select how quest details are shown: within the same view or in a pop-up. * Available only if Layout style is set to Tabs. * Options: Popup or Inline. **Inline quest countdown** Enable inline quest countdown. * Available only if Layout style is set to Tabs and Quest open mode is set to Inline. Completed quests settings panel **Wrap completed quests** Group completed quests visually or display them alongside active quests in the same layout. **Reorder completed quests** Automatically move completed quests to the end of their group. **Completed quests group** Show all completed quests separately from active ones. **Reorder quest groups** Move groups with completed quests to the bottom of the widget. ## Leaderboard The leaderboard displays top participants inside the widget. Leaderboard settings panel **Leaderboard** Display a leaderboard panel inside the widget to showcase top participants. **Collapsed view** Show only top participants by default in a minimized leaderboard layout. **Display mode** Select how the leaderboard is shown: within the same view or in a pop-up. ## Tasks Tasks control how individual quest tasks are displayed inside the widget. Tasks settings panel **Collapsible tasks** Allow users to expand or collapse individual task cards. **Task order** Prioritize active tasks by automatically moving completed ones to the bottom of the list. ## More quests The More quests section adds an extra section with additional quests at the end of the current view. More quests settings panel **Card alignment** Align extra quest cards to the center or left inside the active quest layout. **Slider arrows** Display arrows to navigate through quest cards. ## Popups Use popups to notify users about task completions. Popups settings panel **Completed task pop-up** Use a pop-up message to notify users when a task is completed. ## Additional components Additional components provide extra context and engagement features within the quest widget. Additional components settings panel **Quest progress bar** Show user progress based on completed tasks in the quest. **Quest participants count** Display the number of users currently participating in the quest. ## Close button Close button settings panel **Custom Close button** Choose which button appears for closing quests. **Button view** * Go back - displays a back arrow icon that returns the user to the previous view. * Close icon - displays an X icon that closes the view. # Widget themes Source: https://docs.claimr.io/widget/widget-themes Use themes to match the Claimr widget to your brand, switch appearance automatically, and keep light and dark modes consistent with your product. Use themes to customize the visual appearance of the Claimr widget on your platform. Custom themes let you: * Match the widget to your brand or app styling * Automatically switch appearance based on user preferences * Keep dark mode and light mode consistent with your product * Reuse the same widget across campaigns with different visual identities Inside the Claimr platform, the Theme tab in the widget preview lets you toggle between Light and Dark. These are the default base styles, which you can use for quick testing. Light and Dark theme preview toggle However, this toggle does not affect your live widget. The final theme applied is always controlled by you - via the `set_theme()` method on your platform. ## Apply a theme via method To dynamically apply a theme to the Claimr widget, use the following SDK method in your code: ```javascript theme={"dark"} window.claimr.set_theme("your_theme_name") ``` The `set_theme()` method accepts a string as a parameter - the name of your custom theme. This injects the value as a `data-theme` attribute into the `` of the widget iframe. Once applied, your CSS can target this attribute to apply theme-specific styles, giving you full control over the widget's appearance.