Skip to main content

Overview

This loyalty rule allows admins to reward users based on the sale of tokens in specific collections. This rule is useful having rotation of tokens.
Token Sale

Rule Configuration Fields

Contract Address

  • Token Contract Address: Enter the contract address of the token.
  • Network: Select the blockchain network where the contract is deployed.

Reward

  • Type of Reward: Choose between “Points” or “Multiplier”.
  • Points: Users will get the defined no of points.
  • Multiplier: Users will get the multiplier of the defined amount.

Update Cadence

The Update Cadence field is crucial as it defines:
  1. Reward Frequency: Determines how often the user will receive rewards (e.g., Daily, Weekly, Monthly).
  2. Sale Verification: Specifies when the system will check the token sale to determine eligibility.
  3. Relation to Start Time: The first verification of token sale and reward distribution will begin at the defined Start Time. Subsequent verifications and rewards will follow the selected cadence (e.g., if the cadence is set to “Daily,” the system will check and reward sales every 24 hours from the Start Time).

Custom Settings

  • Only reward users that sold on native marketplace
  • Only reward users with unlisted tokens. This can only be enabled if all the collections are of erc721 type.
  • Skip the multiplier for this rule
  • Add API to get dynamic rewards for each token: Configure an external API endpoint to provide custom reward amounts for individual tokens. You’ll need to provide:
    • Custom Rewards URL: Your API endpoint URL that returns paginated reward data
    • API Key: Authentication key sent in the x-api-key header
    Your API must return a paginated JSON response with tokenId and reward (or points/bonus) fields. The API endpoint must be accessible from Snag’s servers and handle pagination through a next field. See Custom Rewards API for detailed API format requirements and examples. This feature works for both ERC721 and ERC1155 token standards. Use the numeric token ID (e.g., 123, 456 for ERC721 or 1, 2, 3 for ERC1155). When multiple collections are configured, the same token ID across different collections will all match the custom reward for that token ID. Interaction with Token Hold Ranges: When custom rewards are enabled alongside token hold ranges, the system calculates rewards per token:
    • Tokens with custom rewards use their specified reward amount from the API
    • Tokens without custom rewards fall back to the range amount for the user’s total token count
    • The final reward is the sum of all individual token rewards
    Example: If a user holds tokens 1, 2, and 3, and their total count (3) falls within range 1-5 with a range reward of 10 points:
    • Token 1 has custom reward 50 from API → uses 50 points
    • Token 2 has custom reward 100 from API → uses 100 points
    • Token 3 has no custom reward → uses 10 points (range fallback)
    • Total reward: 160 points (50 + 100 + 10)
  • Add custom reward for each token: Upload a CSV file directly through the UI to assign custom reward amounts for specific tokens. The CSV file must include exactly two columns: tokenId and reward. Both columns are required, and values must be positive numbers. The file is validated before upload to ensure proper formatting. This feature works for both ERC721 and ERC1155 token standards. Use the numeric token ID (e.g., 123, 456 for ERC721 or 1, 2, 3 for ERC1155). When multiple collections are configured, the same token ID across different collections will all match the custom reward for that token ID. Example CSV format:
    tokenId,reward
    123,50
    456,100
    789,25
    
    When multiple collections are configured, if token ID 1 exists in multiple contracts, defining 1,50 in your CSV will apply the 50-point reward to all instances of token ID 1 across all configured collections.
    Interaction with Token Hold Ranges: When custom rewards are enabled alongside token hold ranges, the system calculates rewards per token:
    • Tokens with custom rewards use their specified reward amount
    • Tokens without custom rewards fall back to the range amount for the user’s total token count
    • The final reward is the sum of all individual token rewards
    Example: If a user holds tokens 1, 2, and 3, and their total count (3) falls within range 1-5 with a range reward of 10 points:
    • Token 1 has custom reward 50 → uses 50 points
    • Token 2 has custom reward 100 → uses 100 points
    • Token 3 has no custom reward → uses 10 points (range fallback)
    • Total reward: 160 points (50 + 100 + 10)
  • Only reward users that have sold with full royalty paid
  • Only reward users that have verified Twitter accounts.
  • Only reward users who have sold in specific currency.

Call to Action (Optional)

This will show a call to action in our loyalty rule.
  • Link: Provide a URL for users to take further action.
  • Button Text: Define the button label.