Skip to main content

🔑 Token Gating

Token Gating rewards members who hold your token. A member sends /holder, proves they own a wallet holding at least the required amount, and receives the rewards you set: a role, XP, and access to a private group.

Verification is one-time

Holdings are checked only when a member verifies. There is no later re-check: a member who sells after verifying keeps the role, XP and group access they received.

Each group has one token gating setup: one token on one chain, with one required amount. The command members use is always /holder. For the member's side of the process, see the Token Gating guide for members.

Supported chains​

Ethereum, Base, Polygon, BNB Smart Chain, Avalanche and Arbitrum. The token must be an ERC-20 contract on the selected chain.

In the webapp​

Open your workspace, select the Telegram group under Channels in the sidebar, then select Web3, then the Token Gating tab. Changes save with the Save bar at the bottom of the page.

  1. Turn on Reward members who hold a token with XP, roles, or private group access.
  2. Under Token, set:
    • Blockchain
    • Contract Address: the ERC-20 token contract on that chain. Select Verify to check it: the page shows the token's symbol and decimals, or says no ERC-20 token was found at that address. If the check can't run right now, you can still save.
    • Token Ticker, for example ETH, USDC or PEPE
    • Required amount: the minimum balance a wallet must hold to pass
  3. Under Rewards, choose what verified holders receive:
    • Holders Role: a role given to members who verify, or No role
    • XP bonus: XP given once, on successful verification
    • Linked group reward (optional): a group from this workspace. After verifying, the member gets an invite link to it that's valid for 10 minutes. The agent must be in that group with the Invite Users via Link admin permission.
  4. Select Save.

The Verified Holders table lists every member who has passed, with their member ID, wallet and chain.

In Telegram (bot menu)​

Send /gating_settings, or /settings and open 🌐 Web3 → 🔑 Token Gating. The menu shows the current requirement, for example "Users are required to hold at least 25.5 $wQUIL tokens to be recognized as verified holders."

ButtonWhat it sets
Enabled / DisabledTurns token gating on or off.
Token Details🪙 Contract Address (send the address when prompted) and 🌐 Blockchain (the selected chain is marked ✅). Once both are set, the menu shows the token, for example Set Token: $wQUIL.
📊 Required AmountSelect ✏️ Edit and send the minimum amount. Decimals are allowed, for example 25.5 or 0.0001.
🔁 Proof: Transfer / 🔏 Proof: SignatureHow members prove they own the wallet. Select it to switch. See Ownership proof.
Holder Perks🎭 Assign Role, ✨ Award XP, and 🔓 Grant Group Access. For group access, send the target group's ID when prompted; send !id in that group to get it.

The contract address must come from an official source, such as the project's website or a block explorer. A wrong address blocks real holders or lets the wrong token through.

Ownership proof​

After a member sends their wallet address, Fren One first checks the wallet's balance. If it's below the required amount, the member is told their current holding and stops there. Otherwise they prove ownership with the method you chose:

MethodWhat the member doesTime limit
Transfer (default)Sends an exact, unique amount of the token from the wallet to the same address. Fren One watches the chain for that transaction. The transfer needs a network gas fee.5 minutes
SignatureSigns a message in their wallet app ("Sign message" or personal_sign) and pastes the signature into the chat. This is an off-chain signature, not a transaction.10 minutes

A wallet can only be verified by one member, and a member who is already verified is told so.

Troubleshooting​

A member gets "Incomplete configuration"

  • Set the contract address, blockchain and required amount.

/holder does nothing

  • Check token gating is enabled for the group. After each attempt there's a 5-second cooldown.

Verification fails even though the member holds the token

  • Check the contract address and blockchain match where the token is deployed. In the webapp, Verify confirms the contract exists on the chosen chain.
  • With Transfer, the member must send the exact amount shown, from the same wallet, within 5 minutes.

The role or group invite isn't given

  • The agent needs admin rights to assign roles. For group access, the agent must be an admin of the target group with Invite Users via Link.