> ## 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.

# Rules configuration

> These fields are common across all loyalty rules and define the general properties of a rule.

<head>
  <script type="application/ld+json">
    {JSON.stringify({
            "@context": "https://schema.org",
            "@graph": [
              {
                "@type": "TechArticle",
                "headline": "Rules configuration",
                "description": "These fields are common across all loyalty rules and define the general properties of a rule.",
                "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/rules-configuration"
              },
              {
                "@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": "Rules configuration"}
                ]
              }
            ]
          })}
  </script>
</head>

<Frame>
  ![Snag admin loyalty rule configuration panel with reward and timing options](https://assets.snagsolutions.io/public/docs/rules-configuration.webp)
</Frame>

## Basic Details

* **Name & description**: Enter a unique name and a brief description for the rule.
* **Section**: Select where this rule will appear on the loyalty page.
* **Start & end time**: Select when the rule becomes active. It won't be shown before the start time. The end time is optional - if set, the rule will expire and disappear automatically.
* **Required rule**: Enable this to make the rule mandatory to complete before any other non-required rules can be completed.
* **Hide from UI**: Enable this to hide the rule from the loyalty page. Useful for background rewards or API-triggered flows.

## Contract Address Section

Only shown for rules that require it. Otherwise, these fields won’t appear.

* **Contract address**: Enter the smart contract address relevant to the rule you're creating, such as a token contract, collection contract or a contract tied to a specific event.
* **Network**: Select the blockchain network where the contract is deployed.

## Reward Section

### Type of Reward

Choose between Points, Multiplier, or Tokens as the reward mechanism for this rule.

1. **Reward**: Grants a fixed number of points when the rule is completed.
   * **Points to reward**: Enter the amount and type of points the user will earn upon completing the rule.
2. **Multiplier Reward**: Multiply all future rewards the user earns from other rules.
   * **Multiplier**: Enter the multiplier value applied to future rewards. This value must be greater than 1.
   * **Currencies to apply**: Select which point types the multiplier will affect.
   * **Apply multiplier to user’s existing balance**: Enable this to retroactively increase the user’s existing point balance based on the set multiplier.
3. **Tokens**: Pays an on-chain token (a custom ERC-20 or the chain native token) directly into the user’s wallet on completion. Requires the Pro plan and a funded relayer on a supported chain. Multipliers do not apply to token rewards. See [Token Rewards](/loyalty/token-rewards) for setup and requirements.

* **Update cadence**: Select how often we’ll validate user completion and update their balance.
  * Immediately: Completion is checked as soon as the user performs the action (e.g. answering a quiz, clicking a link).
  * Daily / Weekly / Monthly: Completion is checked at the end of each period and balances are updated if completed (e.g. Twitter follower rules).
  * Note: Some rules have default cadences that can't be changed due to their logic.
* **User reward frequency**: Select how often a user can receive this reward.
  * One time: The rule will disappear after the user completes it once.
  * Daily / Weekly / Monthly: Users can complete the rule again in the next period.
    * Daily resets at midnight UTC.
    * Weekly resets at midnight on Monday.
    * Monthly resets at midnight on the 1st of the month.
  * Note: Some rules have default frequencies that can't be changed due to their logic.

## Custom Settings Section

Appears only for rules that require specific configurations. This section includes unique settings tailored to the rule type.
