Onchain Mission Strategies

Overview

On-chain missions support various strategies for both ERC20 Token Activity and NFT Activity. These strategies define how frequently and under what conditions users can earn points for completing blockchain-based actions.


Strategy Types

We support the following strategies:

  1. CLAIM_ONCE
  • The mission can only be claimed once per user.
  • Commonly used for one-time actions such as:
    • Minting an NFT once.
    • Holding a token and claiming once, upon meeting the condition.
  1. CLAIM_DAILY
  • The mission can be claimed once per day, as long as the on-chain condition is met.
  • Users are eligible to claim daily if they continuously perform the qualifying activity (e.g., minting a new NFT each day).
  1. CLAIM_RECURRING
  • The mission can be claimed multiple times, with no daily or one-time restriction.
  • Only supported for NFT activity types.
  • Requires a unique qualifying event each time (e.g., minting or holding a different NFT).

ERC20 Token Activity:

Sub-Type: HOLD_ERC20_BALANCE

  • Supported Strategies: CLAIM_ONCE, CLAIM_DAILY.
  • CLAIM_ONCE connects an EVM wallet that holds the minimum required balance of the specified ERC20 token. If eligible, they can claim the mission once.
  • CLAIM_DAILY: As long as the user holds the token balance each day, they can claim the mission once per day.

NFT Activity

Sub-Types: HOLD_NFT_BALANCE, MINT_NFT

🔸 HOLD_NFT_BALANCE

  • CLAIM_ONCE: User holds at least the required number of NFTs from the specified ERC721/ERC1155 contract and can claim once.
  • CLAIM_DAILY: If the user holds qualifying NFTs, they are eligible to claim once per day.
  • CLAIM_RECURRING: User must hold unique NFTs that haven’t been claimed previously.
  • Additional notes:
    • If Token ID 34 is claimed once, it cannot be reused.
    • If Token ID 34 is transferred and attempted again by another user or the same user, it will be ineligible.

🔸 MINT_TOKEN

  • CLAIM_ONCE: The user can mint once and claim the mission.
  • CLAIM_DAILY: User is eligible to claim once per day, as long as they mint at least one token per day.
  • CLAIM_RECURRING: User can claim multiple times; each minting action must be unique (e.g., minting a new token each time).

Strategy Identification via Mission Flags (User-Side Logic)

The mission response payload contains a set of flags that help determine the mission strategy. Here's how the strategy type can be identified on the frontend/client based on the combination of these fields:

CLAIM_DAILY Strategy:

Identification:

{
  "is_recurring": true,
  "is_multi_claim_mission": false,
  "is_recurring_claimed": true,
  "recurring_reset_at": "2024-11-01T00:00:00Z"
}

User Action

  • After claiming, the user must wait until the next UTC reset (based on recurring_reset_at) before becoming eligible again. Refer to GetMission API Documentation.

CLAIM_RECURRING Strategy

Identification:

{
  "is_recurring": true,
  "is_multi_claim_mission": true
}

User Action

  • Users can claim the mission multiple times as long as each on-chain action is unique (e.g., new NFT minted, new token held). Refer to GetMission API Documentation
  • There is no cooldown like a daily reset.