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

# User Support Tool

> Get help with Snag including support channels, documentation, and contact information.

<head>
  <script type="application/ld+json">
    {JSON.stringify({
            "@context": "https://schema.org",
            "@graph": [
              {
                "@type": "TechArticle",
                "headline": "User Support Tool",
                "description": "Get help with Snag including support channels, documentation, and contact information.",
                "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/support/user-support"
              },
              {
                "@type": "BreadcrumbList",
                "itemListElement": [
                  {"@type": "ListItem", "position": 1, "name": "Home", "item": "https://docs.snagsolutions.io/welcome"},
                  {"@type": "ListItem", "position": 2, "name": "Support", "item": "https://docs.snagsolutions.io/support/user-support"},
                  {"@type": "ListItem", "position": 3, "name": "User support"}
                ]
              }
            ]
          })}
  </script>
</head>

The User Support tool is a powerful admin interface designed to help support staff and administrators quickly find, investigate, and manage user accounts. It provides comprehensive visibility into user profiles, loyalty balances, transaction history, and account management capabilities.

## Overview

The User Support tool enables you to:

* **Search for users** by multiple identifiers (wallet address, user ID, display name, social handles)
* **View complete user profiles** including metadata, social connections, and profile information
* **Manage loyalty balances** across multiple wallets and currencies
* **Review activity history** including transactions, multipliers, and badges
* **Take administrative actions** such as blocking users, updating balances, and merging wallets
* **Add internal notes** for tracking support interactions and user status

## Searching for Users

You can search for users using any of the following identifiers:

* **Wallet address** (e.g., `0x1234...5678`)
* **User ID** (unique identifier assigned to each user)
* **Display name** (user's profile name)
* **Social handles** including:
  * Twitter/X username
  * Discord username
  * Telegram username
  * Other connected social accounts

<Note>
  Search terms must be at least 5 characters long. The search is
  case-insensitive and supports partial matches.
</Note>

### Search Process

<Steps>
  <Step title="Enter search term">
    Type your search query in the search field. You can use wallet addresses, user IDs, display names, or social handles.
  </Step>

  <Step title="Click Search">
    Click the Search button or press Enter to execute the search.
  </Step>

  <Step title="Review results">
    If multiple users match your search, you'll see a list of matching users. Click on any user to view their detailed profile.
  </Step>
</Steps>

## User Profile Overview

When you select a user, the tool displays a comprehensive profile card showing:

### Profile Information

* **Profile image** and display name
* **User ID** and **Loyalty Account ID** (with copy buttons)
* **Social connections** (Twitter, Discord, Telegram, etc.)
* **Location** and **Portfolio** links (if available)
* **Link to public profile** for viewing the user's public-facing profile page

### Balance Overview

The balance section displays:

* **Total multiplier** across all active multipliers
* **Total balances** for each loyalty currency (summed across all wallets)
* **Per-wallet balances** showing individual wallet addresses and their respective balances

<Info>
  If a user has multiple wallets linked to their account, each wallet's balance
  is displayed separately. You can merge wallets to consolidate balances.
</Info>

## Managing User Accounts

### Updating Balances

You can manually adjust a user's loyalty balance for any currency:

<Steps>
  <Step title="Click Update Balance">
    Click the "Update Balance" button next to the wallet you want to modify.
  </Step>

  <Step title="Adjust amounts">
    Enter the new balance amounts for each currency. The system will automatically
    calculate the difference and create a transaction.
  </Step>

  <Step title="Confirm changes">
    Review the changes and confirm. The system creates a credit or debit transaction to adjust the balance to your specified amount.
  </Step>
</Steps>

<Warning>
  Balance updates create permanent transaction records. Always verify the
  correct amounts before confirming changes.
</Warning>

### Merging Wallets

When a user has multiple wallets, you can merge balances from one wallet into another:

<Steps>
  <Step title="Click Merge Here">
    Click the "Merge Here" button next to the destination wallet (the wallet that will receive the merged balance).
  </Step>

  <Step title="Select source wallets">
    Choose which wallets to merge from and which currencies to transfer.
  </Step>

  <Step title="Review merge plan">
    The system shows you the planned transfers. Review to ensure accuracy.
  </Step>

  <Step title="Execute merge">
    Confirm the merge operation. All selected balances will be transferred to the destination wallet.
  </Step>
</Steps>

<Note>
  After merging wallets, balances from source wallets are debited and added to
  the destination wallet. This operation creates transaction records for audit
  purposes.
</Note>

### Blocking and Unblocking Users

You can block users to prevent them from earning points or completing actions:

<Steps>
  <Step title="Click Block/Unblock">
    Click the "Block" or "Unblock" button next to the user's wallet address.
  </Step>

  <Step title="Provide reason">
    Enter a reason for blocking the user. This helps track why users were blocked.
  </Step>

  <Step title="Set block exemption">
    Optionally mark the user as "block exempt" to prevent automatic blocking in
    future block runs.
  </Step>

  <Step title="Confirm action">
    Confirm the block or unblock action.
  </Step>
</Steps>

<Info>
  Blocked users cannot earn points or complete loyalty actions. Unblocking
  restores full access. Users marked as "block exempt" won't be automatically
  blocked in future automated block runs.
</Info>

### User Verification Status

Users can be marked as "Verified" to indicate manual verification. This status:

* Prevents automatic blocking in block runs
* Can be removed by clicking the X icon next to the "Verified" badge
* Helps track users who have been manually reviewed

## Activity History

The Activity section provides detailed history of user actions across three tabs:

### Transactions Tab

Shows all loyalty transactions including:

* **Timestamp** of each transaction
* **Rule name** that triggered the transaction
* **Wallet address** that received the points
* **Amount** and **currency** of the transaction
* **Currency image** for visual identification

### Multipliers Tab

Displays active multipliers including:

* **Timestamp** when multiplier was applied
* **Multiplier amount** (e.g., 1.5x, 2x)
* **Rule name** or description
* **Wallet address** associated with the multiplier

### Badges Tab

Shows earned badges with:

* **Timestamp** when badge was earned
* **Badge image** and **name**
* **Status** (active/inactive)
* **Wallet address** of the badge recipient

<Note>
  Activity history supports pagination. Use the scroll functionality to load
  more historical data.
</Note>

## Internal Notes

You can add internal notes to track support interactions, user status, or any relevant information:

<Steps>
  <Step title="Locate notes field">
    Find the "Internal Notes" textarea in the user profile card (top right section).
  </Step>

  <Step title="Add notes">
    Type your notes. Examples include: - "Likely Sybil account" - "Under review
    for suspicious activity" - "Customer support ticket #12345" - "Verified
    identity on 2024-01-15"
  </Step>

  <Step title="Auto-save">
    Notes are automatically saved after 1 second of inactivity (debounced). You'll see a success toast when notes are saved.
  </Step>
</Steps>

<Info>
  Internal notes are limited to 500 characters and are only visible to admin
  users. They persist across sessions and help maintain context for support
  interactions.
</Info>

## Advanced Actions

### Handling Compromised Wallets

When a user reports that their wallet has been compromised, you have several options depending on the situation:

#### Understanding Wallet Restrictions

<Info>
  The main wallet is the core account object and **cannot be disconnected by users**. Users can only disconnect secondary wallets (additional wallets connected to their account). This restriction prevents users from gaming the leaderboard by rotating through wallets that share multipliers.
</Info>

#### Option 1: Transfer Balances to New Wallet (Recommended)

If the user wants to preserve their loyalty progress, you can transfer their balance from the compromised wallet to a new wallet:

<Steps>
  <Step title="Locate the compromised wallet">
    Search for the user using the compromised wallet address in the User Support tool.
  </Step>

  <Step title="Debit balance from old wallet">
    Click "Update Balance" next to the compromised wallet and set all balances to zero, or use the balance update feature to debit the full amount.
  </Step>

  <Step title="Credit balance to new wallet">
    Search for or create the user account with the new wallet address, then use "Update Balance" to credit the same amounts to the new wallet.
  </Step>

  <Step title="Document the transfer">
    Add internal notes documenting the wallet transfer and reason (e.g., "Wallet compromised - balance transferred to 0x... on 2024-01-15").
  </Step>
</Steps>

<Note>
  After transferring balances, the user can connect their social accounts to the new wallet through profile settings. Their progress will be preserved on the new wallet.
</Note>

#### Option 2: User Self-Service (If Multi-Wallet Enabled)

If the user has multiple wallets connected and multi-wallet support is enabled:

* Users can disconnect their secondary wallets from profile settings
* Users can connect those secondary wallets to a new primary wallet
* Points from the disconnected wallets will transfer with them to the new wallet
* **Note:** Users cannot disconnect their main wallet themselves

<Info>
  This option only works if the user already has multiple wallets connected. If they only have one wallet (the compromised one), they'll need admin assistance.
</Info>

#### Option 3: Wipe User Metadata (Fresh Start)

If the user wants to start completely fresh with a new wallet:

<Warning>
  This action is **irreversible** and will delete:

  * Profile details and metadata
  * Balances and transaction history
  * All associated user data

  Only use this action when the user explicitly wants to start from scratch or for GDPR compliance/account deletion requests.
</Warning>

<Steps>
  <Step title="Click Wipe User Metadata">
    Click the "Wipe User Metadata" button in the user profile card.
  </Step>

  <Step title="Confirm action">
    Read the warning message carefully and confirm that you want to proceed.
  </Step>

  <Step title="Wait for completion">
    The wipe operation may take a few minutes to complete. You'll receive a notification when it's finished.
  </Step>

  <Step title="User connects new wallet">
    After wiping, the user can connect their social accounts to a new wallet through profile settings and complete rules again to earn points.
  </Step>
</Steps>

<Note>
  After wiping user metadata, the user will need to reconnect their social accounts and complete loyalty rules again to start earning points. All previous progress will be lost.
</Note>

### Copying User Details

You can quickly copy user information:

* **Copy User ID**: Click the copy button next to the User ID
* **Copy Wallet Address**: Click the copy button next to the wallet address
* **Copy All User Details**: Use the copy button next to the user's name to copy a JSON representation of all user data including loyalty accounts

<Tip>
  The "Copy All User Details" feature exports a complete JSON object that
  includes user information and all associated loyalty accounts. This is useful
  for debugging or exporting user data.
</Tip>

## Multiple User Results

When your search returns multiple users, you'll see a list view showing:

* **Profile images** and **display names**
* **User IDs** and **wallet addresses**
* **Current balances** for each loyalty currency
* **Social handles** (Twitter, Discord, Telegram)

Click on any user in the list to view their detailed profile and manage their account.

## Best Practices

<AccordionGroup>
  <Accordion title="When to update balances">
    Update balances when:

    * Correcting errors in point calculations
    * Compensating users for support issues
    * Adjusting balances after rule changes
    * Manual adjustments for special promotions

    Always document the reason in internal notes.
  </Accordion>

  <Accordion title="When to merge wallets">
    Merge wallets when:

    * Users have accidentally created multiple accounts
    * Consolidating accounts after identity verification
    * Cleaning up duplicate or test accounts

    Verify wallet ownership before merging to prevent fraud.
  </Accordion>

  <Accordion title="Handling compromised wallets">
    When a user reports a compromised wallet:

    **Preserve progress (recommended):**

    * Debit balance from compromised wallet
    * Credit balance to new wallet
    * User connects social accounts to new wallet

    **User self-service (if multi-wallet enabled):**

    * User disconnects secondary wallets
    * User connects secondary wallets to new primary wallet
    * Points transfer automatically

    **Fresh start:**

    * Use "Wipe User Metadata" if user wants to start over
    * User reconnects social accounts and completes rules again

    Always verify wallet ownership before transferring balances.
  </Accordion>

  <Accordion title="When to block users">
    Block users when:

    * Detecting fraudulent or Sybil activity
    * Violation of terms of service
    * Suspicious behavior patterns
    * Request from compliance or legal team

    Always provide a clear reason for blocking.
  </Accordion>

  <Accordion title="Using internal notes effectively">
    Use internal notes to:

    * Track support ticket numbers
    * Document user verification status
    * Note suspicious activity patterns
    * Record important user interactions
    * Maintain context for future support interactions

    Keep notes concise and professional.
  </Accordion>
</AccordionGroup>

## Troubleshooting

### User Not Found

If a user doesn't appear in search results:

* Verify the search term is correct (minimum 5 characters)
* Try searching with different identifiers (wallet address vs. user ID)
* Check if the user account exists in the system
* Ensure you're searching within the correct website/organization context

### Balance Discrepancies

If balances don't match expected values:

* Review the Transactions tab to see all balance changes
* Check for failed transactions that may not have been applied
* Verify multipliers are correctly applied
* Look for transactions from multiple wallets

### Multiple Wallet Issues

If a user has multiple wallets causing confusion:

* Review all wallets in the balance section
* Consider merging wallets if they belong to the same user
* Verify wallet ownership before taking actions
* Check the Activity tab to see which wallet was used for each transaction

### Compromised Wallet Reports

If a user reports their wallet has been compromised:

* **Verify the request**: Confirm the user's identity before taking any action
* **Check for multiple wallets**: If they have secondary wallets, they can disconnect and reconnect them to a new primary wallet themselves
* **Transfer balances**: Use the balance update feature to debit from the old wallet and credit to the new wallet
* **Document the action**: Always add internal notes explaining the wallet transfer
* **Consider wiping**: Only use "Wipe User Metadata" if the user explicitly wants to start fresh

<Warning>
  Always verify wallet ownership before transferring balances or taking administrative actions. Compromised wallet situations require careful verification to prevent fraud.
</Warning>

## Related Documentation

* [Managing User Accounts](/loyalty/managing-user-accounts) - General user account management
* [Updating Balances](/loyalty/updating-balances) - Programmatic balance updates
* [Blocking Users](/loyalty/blocking-users) - User blocking and moderation
* [Multi-Wallet Support](/loyalty/multi-wallet-support) - Understanding multi-wallet functionality
