> ## Documentation Index
> Fetch the complete documentation index at: https://docs.snagsolutions.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Available loyalty rules

> Explore 50+ loyalty rules in Snag: social quests (X, Discord, Telegram), onchain actions (mint, hold, swap), gaming integrations, and custom function rules.

<head>
  <script type="application/ld+json">
    {JSON.stringify({
            "@context": "https://schema.org",
            "@graph": [
              {
                "@type": "TechArticle",
                "headline": "Available loyalty rules",
                "description": "Explore 50+ loyalty rules in Snag: social quests (X, Discord, Telegram), onchain actions (mint, hold, swap), gaming integrations, and custom function rules.",
                "author": {"@type": "Organization", "name": "Snag Solutions", "url": "https://www.snagsolutions.io/"},
                "publisher": {"@type": "Organization", "name": "Snag Solutions", "url": "https://www.snagsolutions.io/", "logo": {"@type": "ImageObject", "url": "https://assets.snagsolutions.io/public/docs/snag-logo-dark-no-bg.svg"}},
                "mainEntityOfPage": "https://docs.snagsolutions.io/loyalty/available-loyalty-rules"
              },
              {
                "@type": "BreadcrumbList",
                "itemListElement": [
                  {"@type": "ListItem", "position": 1, "name": "Home", "item": "https://docs.snagsolutions.io/welcome"},
                  {"@type": "ListItem", "position": 2, "name": "Loyalty", "item": "https://docs.snagsolutions.io/loyalty/loyalty-overview"},
                  {"@type": "ListItem", "position": 3, "name": "Loyalty rules", "item": "https://docs.snagsolutions.io/loyalty/available-loyalty-rules"},
                  {"@type": "ListItem", "position": 4, "name": "Available loyalty rules"}
                ]
              }
            ]
          })}
  </script>
</head>

<Frame>
  ![Snag loyalty rules catalog showing 50+ available engagement rule types](https://assets.snagsolutions.io/public/docs/loyalty-rules.webp)
</Frame>

## Overview

Snag loyalty supports a wide variety of platforms and user actions both on & offchain. With your Snag Loyalty Program you can track, evaluate, and reward user contributions across social (X, Discord, Telegram, and others) as well as anything onchain (bridge funds, hold token, connect wallet, and more). Using Snag's REST API you can also integrate contributions from an external application like a game or offchain social app.

## User onboarding rules

<Accordion title="Complete Profile Details" icon="address-card" iconType="regular">
  Reward users for completing their profile by filling out required details such
  as bio, social links and other personal information. When setting up this
  rule, you can define which fields must be completed to qualify for the reward.

  [View more details](/loyalty/rules/complete-profile)
</Accordion>

<Accordion title="Refer a Friend" icon="share" iconType="regular">
  Reward users for referring friends with customizable fixed or percentage rewards.

  [View more details](/loyalty/rules/refer-friends)
</Accordion>

<Accordion title="Check In" icon="badge-check" iconType="regular">
  Reward users for checking in on a link of your choice.

  [View more details](/loyalty/rules/check-in)
</Accordion>

## Connect accounts rules

<Accordion title="Connect Email" icon="envelope" iconType="regular">
  Reward users for connecting their email address.

  [View more details](/loyalty/rules/connect-email)
</Accordion>

<Accordion title="Connect X" icon="x-twitter" iconType="regular">
  Reward users for connecting their X (Twitter) account.

  [View more details](/loyalty/rules/connect-twitter)
</Accordion>

<Accordion title="Connect Discord" icon="discord" iconType="regular">
  Reward users for connecting their Discord account.

  [View more details](/loyalty/rules/connect-discord)
</Accordion>

<Accordion title="Connect Telegram" icon="telegram" iconType="regular">
  Reward users for connecting their Telegram account.

  [View more details](/loyalty/rules/connect-telegram)
</Accordion>

<Accordion title="Connect YouTube" icon="youtube">
  Reward users for connecting their YouTube account.

  [View more details](/loyalty/rules/connect-youtube)
</Accordion>

<Accordion title="Connect Steam" icon="steam" iconType="regular">
  Reward users for connecting their Steam account.

  [View more details](/loyalty/rules/connect-steam)
</Accordion>

<Accordion title="Connect Epic" icon="joystick" iconType="regular">
  Reward users for connecting their Epic account.

  [View more details](/loyalty/rules/connect-epic)
</Accordion>

<Accordion title="Connect Tiktok" icon="tiktok" iconType="regular">
  Reward users for connecting their Tiktok account.

  [View more details](/loyalty/rules/connect-tiktok)
</Accordion>

<Accordion title="Connect Reddit" icon="reddit" iconType="regular">
  Reward users for connecting their Reddit account.

  [View more details](/loyalty/rules/connect-reddit)
</Accordion>

<Accordion title="Connect Instagram" icon="instagram" iconType="regular">
  Reward users for connecting their Instagram account.

  [View more details](/loyalty/rules/connect-instagram)
</Accordion>

<Accordion title="Connect GitHub" icon="github" iconType="regular">
  Reward users for connecting their GitHub account.

  [View more details](/loyalty/rules/connect-github)
</Accordion>

<Accordion title="Connect Wallet" icon="wallet" iconType="regular">
  Reward users for connecting their wallet.

  **Supported wallets:** EVM, Solana, IMX, SUI, and TON.

  [View more details](/loyalty/rules/connect-wallet)
</Accordion>

## Social quests

<Accordion title="React to an X Post" icon="x-twitter" iconType="regular">
  Reward users for reacting to a post on X (Twitter).

  {' '}

  [View more details](/loyalty/rules/x-post-reaction)
</Accordion>

<Accordion title="Post on X" icon="x-twitter" iconType="regular">
  Reward users for creating a new post on X (Twitter).

  {' '}

  [View more details](/loyalty/rules/x-new-tweet)
</Accordion>

<Accordion title="Follow an X Account" icon="x-twitter" iconType="regular">
  Reward users for following a specific account on X (Twitter).

  {' '}

  [View more details](/loyalty/rules/follow-x-account)
</Accordion>

<Accordion title="Add Text to X Bio" icon="x-twitter" iconType="regular">
  Reward users for adding specific text to their X (Twitter) bio.

  {' '}

  [View more details](/loyalty/rules/x-text-in-bio)
</Accordion>

<Accordion title="Comment on an X Post with Text" icon="x-twitter" iconType="regular">
  Reward users for adding specific text to their X comment.

  {' '}

  [View more details](/loyalty/rules/x-text-in-comment)
</Accordion>

<Accordion title="Add Text to X Username" icon="x-twitter" iconType="regular">
  Reward users for adding specific text to their X (Twitter) username.

  {' '}

  [View more details](/loyalty/rules/x-text-in-username)
</Accordion>

<Accordion title="Reach X Followers" icon="x-twitter" iconType="regular">
  Reward users based on the number of their X (Twitter) followers.

  [View more details](/loyalty/rules/x-followers)
</Accordion>

<Accordion title="Get X Post Impressions" icon="x-twitter">
  Reward users for getting views on their eligible X posts.

  [View more details](/loyalty/rules/x-post-impression)
</Accordion>

<Accordion title="Get Discord Role" icon="discord" iconType="regular">
  Reward users for having a specific role in your Discord server.

  **Set up steps:**

  <Steps>
    <Step title="Add the Bot to Your Discord Server">
      Invite the bot to your server using \[link] to enable role tracking.
    </Step>

    <Step title="Configure Role Tracking">
      Enter the Discord role ID or channel ID in the rule setup to track users with the specified role.
    </Step>
  </Steps>

  [View more details](/loyalty/rules/discord-member-role)
</Accordion>

<Accordion title="Grant Discord Role" icon="discord" iconType="regular">
  Grant a specific Discord role to users when they claim the reward. [View more
  details](/loyalty/rules/discord-grant-role)
</Accordion>

<Accordion title="Join Discord Server" icon="discord">
  Reward users for joining your Discord server.
</Accordion>

<Accordion title="Send Discord Messages" icon="discord" iconType="regular">
  Reward users for sending messages in your Discord server.

  [View more details](/loyalty/rules/discord-messages)
</Accordion>

<Accordion title="Join Telegram Group" icon="telegram" iconType="regular">
  Reward users for joining your Telegram group.

  [View more details](/loyalty/rules/telegram-join)
</Accordion>

<Accordion title="Send Telegram Messages" icon="telegram" iconType="regular">
  Reward users for sending messages in your Telegram group.

  [View more details](/loyalty/rules/telegram-messages)
</Accordion>

<Accordion title="Add an Item to Steam Wishlist" icon="steam" iconType="regular">
  Reward users for adding items to their Steam wishlist.

  [View more details](/loyalty/rules/steam-wishlist)
</Accordion>

<Accordion title="Subscribe to a YouTube Channel" icon="youtube" iconType="regular">
  Reward users for subscribing to a YouTube channel.

  [View more details](/loyalty/rules/youtube-subscriber)
</Accordion>

<Accordion title="Comment on a YouTube Video" icon="youtube" iconType="regular">
  Reward users for commenting on a YouTube video.

  [View more details](/loyalty/rules/youtube-comment)
</Accordion>

<Accordion title="Comment on a Reddit Post" icon="reddit" iconType="regular">
  Reward users for commenting on a Reddit post.

  [View more details](/loyalty/rules/reddit-comment)
</Accordion>

<Accordion title="Star a GitHub Repository" icon="github" iconType="regular">
  Reward users for starring a GitHub repository.

  [View more details](/loyalty/rules/github-repo-star)
</Accordion>

<Accordion title="Fork a GitHub Repository" icon="github" iconType="regular">
  Reward users for forking a GitHub repository.

  [View more details](/loyalty/rules/github-repo-fork)
</Accordion>

<Accordion title="Become a GitHub Repository Collaborator" icon="github" iconType="regular">
  Reward users for becoming a collaborator on a GitHub repository.

  [View more details](/loyalty/rules/github-repo-collaborator)
</Accordion>

<Accordion title="Merge a GitHub PR" icon="github" iconType="regular">
  Reward users for merging pull requests to a specific branch in a GitHub repository.

  [View more details](/loyalty/rules/github-merge-pr)
</Accordion>

<Accordion title="Post on TikTok" icon="tiktok" iconType="regular">
  Reward users for creating posts on TikTok.

  [View more details](/loyalty/rules/tiktok-post)
</Accordion>

<Accordion title="Post on Instagram" icon="instagram" iconType="regular">
  Reward users for creating posts on Instagram.

  [View more details](/loyalty/rules/instagram-post)
</Accordion>

<Accordion title="Follow a TikTok Account" icon="tiktok" iconType="regular">
  Reward users for following a specific account on TikTok.

  [View more details](/loyalty/rules/tiktok-follow)
</Accordion>

<Accordion title="Follow an X Account (X Pro)" icon="x-twitter">
  Reward users for following a specific account on X.

  <Note>
    This rule require X pro.
  </Note>
</Accordion>

<Accordion title="Repost an X Post (X Pro)" icon="x-twitter" iconType="regular">
  Reward users for reposting a post on X (Twitter). You can add a multiplier for verified X accounts.

  <Note>
    This rule require X pro.
  </Note>
</Accordion>

<Accordion title="Like an X Post (X Pro)" icon="x-twitter" iconType="regular">
  Reward users for liking a post on X (Twitter). You can add a multiplier for verified X accounts.

  <Note>
    This rule require X pro.
  </Note>
</Accordion>

<Accordion title="Comment on X Post (X Pro)" icon="x-twitter" iconType="regular">
  Reward users for commenting on a post on X (Twitter).

  <Note>
    This rule require X pro.
  </Note>
</Accordion>

<Accordion title="Post on X with Hashtag (X Pro)" icon="x-twitter">
  Reward users for creating a new post on X (Twitter) with a specific hashtag.

  {' '}

  [View more details](/loyalty/rules/x-new-tweet)
</Accordion>

<Accordion title="Get an X Post Liked by Project (X Pro)" icon="x-twitter">
  Reward users for getting a like on their X (Twitter) posts from your project.

  <Note>
    This rule require X pro.
  </Note>
</Accordion>

## Token activity rules

<Accordion title="Mint an NFT" icon="sparkles" iconType="regular">
  Reward users for minting a specific NFT.

  [View more details](/loyalty/rules/token-mint)
</Accordion>

<Accordion title="Purchase an NFT" icon="cart-shopping" iconType="regular">
  Reward users for purchasing a specific NFT.

  [View more details](/loyalty/rules/token-purchase)
</Accordion>

<Accordion title="Hold an NFT" icon="gem" iconType="regular">
  Reward users for holding a specific NFT.

  [View more details](/loyalty/rules/token-hold)
</Accordion>

<Accordion title="Sell an NFT" icon="tag" iconType="regular">
  Reward users for selling a specific NFT.

  [View more details](/loyalty/rules/token-sale)
</Accordion>

<Accordion title="Hold a Fungible Token" icon="coins" iconType="regular">
  Reward users for holding a set amount of ERC-20 tokens or native currency.

  [View more details](/loyalty/rules/token-hold-erc20)
</Accordion>

<Accordion title="Swap Tokens" icon="arrow-right-arrow-left">
  Reward users for swapping tokens.
</Accordion>

## Smart contract rules

<Accordion title="Smart Contract Event" icon="file-code" iconType="regular">
  Reward users for interacting with a specific smart contract.

  {' '}

  {' '}

  <Info> Reach out to Snag to learn more about how this works.</Info>
  This allows you to track events on any EVM smart contract & use that data to
  create rules.

  **Rule set up:**

  * You provide your smart contract address, the chain/network on which it is deployed, and a full/partial ABI containing the event you want to track.
  * This populates an event dropdown from which you can select the relevant event.
  * You can add additional evaluation logic on the parameters emitted in the event (e.g. only reward if `sender` = "0x123…").

  **Examples:**

  * Tracking trading activity (e.g. rewarding users based on the number of trades).
  * Token transfers (e.g. matching specific token ids or amounts).
  * Tracking staking activities.

  [View more details](/loyalty/rules/contract-event)
</Accordion>

<Accordion title="Provide Liquidity on Uniswap V2" icon="unicorn">
  Reward users for supplying liquidity on Uniswap V2.
</Accordion>

<Accordion title="Provide Liquidity on Uniswap V3" icon="unicorn">
  Reward users for supplying liquidity on Uniswap V3.
</Accordion>

## Other rules

<Accordion title="Submit Text Input" icon="input-pipe" iconType="regular">
  Reward users for submitting custom input requested by your project.

  [View more details](/loyalty/rules/text-input)
</Accordion>

<Accordion title="Enter a Code" icon="input-numeric" iconType="regular">
  Reward users for entering a specific code provided by your project.

  [View more details](/loyalty/rules/code-entry)
</Accordion>

<Accordion title="Click a Link" icon="hand-pointer" iconType="regular">
  Reward users for clicking on a link.

  [View more details](/loyalty/rules/link-click)
</Accordion>

<Accordion title="Answer a Quiz" icon="message-check" iconType="regular">
  Reward users for selecting the correct answer in a quiz.

  [View more details](/loyalty/rules/quiz)
</Accordion>

<Accordion title="Answer a Poll" icon="poll-people" iconType="regular">
  Reward users for answering a poll.

  [View more details](/loyalty/rules/poll)
</Accordion>

<Accordion title="Spend in Shopify Store" icon="shopify">
  Reward users based on how much they spend in your Shopify store. [View more
  details](/loyalty/rules/spend-in-shopify-store)
</Accordion>

<Accordion title="Participate in Governance Vote" icon="box-ballot" iconType="regular">
  Reward users for participating in governance votes.

  [View more details](/loyalty/rules/snapshot-governance)
</Accordion>

<Accordion title="Create a Partner Account" icon="user-plus" iconType="regular">
  Reward users for creating an account with your partner.

  [View more details](/loyalty/rules/create-partner-account)
</Accordion>

<Accordion title="External Rule" icon="gear" iconType="regular">
  Manual point creation via API. Reward users for any other contribution with a
  set amount of points via our POST `api/loyalty/transactions` endpoint.

  [View more details](/loyalty/external-rules)
</Accordion>

<Accordion title="Custom Function Rule" icon="code" iconType="regular">
  Reward users based on custom logic using Stratus functions. Write JavaScript code to evaluate complex conditions and determine rewards dynamically.

  [View more details](/loyalty/rules/stratus-function)
</Accordion>

<Accordion title="Points Airdrop" icon="parachute-box">
  Reward users with points using a CSV upload or API integration.
</Accordion>

## Related pages

<CardGroup cols={2}>
  <Card title="Rules Configuration" icon="gear" href="/loyalty/rules-configuration">
    Configure reward amounts, schedules, and evaluation settings.
  </Card>

  <Card title="External Rules" icon="plug" href="/loyalty/external-rules">
    Reward users for any action via the API transactions endpoint.
  </Card>

  <Card title="Stratus Functions" icon="function" href="/stratus/functions">
    Write custom rule logic with serverless JavaScript functions.
  </Card>

  <Card title="Multipliers" icon="calculator" href="/loyalty/multipliers">
    Boost rewards with time-based or condition-based multipliers.
  </Card>
</CardGroup>
