Token gated chat on Ethereum: ERC-20 and ERC-721

Gate an Ethereum group chat by an ERC-20 balance or an ERC-721 collection: real contracts, background re-checks, and no Discord verify bot in sight.

Token gated chat on Ethereum is a group chat a wallet can enter, and stay in, only while it holds what the owner asked for: a minimum balance of an ERC-20 token, or an NFT from an ERC-721 collection. Cherry (cherry.fun) is a wallet-to-wallet messenger and community app for crypto. You sign in with a wallet, DM any address, and join or create token-gated, NFT-gated, and paid group chats, with no phone number, email, or KYC. Ethereum is where token gating grew up, and its oldest DAOs and PFP collections still tend to run a Discord server with a verification bot attached to the side of it. This page is for the people who own those rooms.

What the rules check on Ethereum

Cherry checks gating rules against the chain at two moments: when a wallet asks to join a public group, and in the background for as long as that wallet stays a member. Three rule types cover almost every Ethereum room, as of 11 September 2026:

  • Token balance: the wallet holds at least N of one contract. On Ethereum that contract is an ERC-20.
  • NFT ownership: the wallet holds an NFT from one collection. On Ethereum that is an ERC-721 contract.
  • Payment: one-time or recurring entry, priced in SOL or USDC (see paid communities and channels ).

A group carries up to five rules, and the owner decides whether a wallet must pass every rule or any one of them. The editor labels that choice “To join, members need”, with “All of these” and “Any one” as the two buttons, and refuses a sixth rule with “At most 5 requirements are allowed”. The mechanism is the same on every chain Cherry supports; the token-gated chat page covers all seven rule types and the multichain page covers rooms that mix them.

Which standard fits which rule

Ethereum gives you three standards worth knowing about, and two of them map cleanly onto a rule.

StandardWhat it is on EthereumCherry ruleExample contract
ERC-20Fungible token, one balance per walletToken requirement, minimum balanceENS at 0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72
ERC-721Collection of unique token ids in one contractNFT requirement, collection ownershipBored Ape Yacht Club at 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D
ERC-1155Semi-fungible: many editions inside one contractSits between the two rules; confirm handling firstEvent passes, multi-edition membership tokens

As of 11 September 2026, Etherscan reports the ENS contract as an ERC-20 named ENSToken with a maximum supply of 100,000,000 and 18 decimals, and CoinGecko gives ENS a market cap of $237,128,296. Etherscan reports the Bored Ape Yacht Club contract as an ERC-721 with a 10,000 maximum supply and 5,605 holders, and CoinGecko’s collection page puts the floor at 6.71 ETH on the same date.

Paste the contract, never the ticker. CoinGecko lists PEPE as an ERC-20 on Ethereum at 0x6982508145454Ce325dDbE47a25d4ec3d2311933 with a market cap of $1,395,027,182 on 11 September 2026, plus separate deployments on Avalanche, BNB Smart Chain, and Arbitrum One. A room gated on the wrong deployment admits the wrong holders and nobody notices for a week.

How a room is set up and enforced

Creating the room takes one screen. In the create-group flow, open “Access requirements” and switch on “Token requirement” for an ERC-20 balance, “NFT requirement” for an ERC-721 collection, or “Paid entry” for a fee. Each rule becomes a line on the group’s storefront page at chat.cherry.fun/@<handle>, where a visitor sees the requirements before joining and, once signed in, sees which ones their wallet already passes.

Enforcement is the part that is hard to add afterwards. Cherry keeps re-checking each member’s holdings on-chain in the background for as long as they stay in the room. Three details matter to an owner:

  • A technical failure counts as a pass. If Cherry cannot read the chain at that moment, the member keeps access, so an outage never paywalls anyone.
  • One bad read does not throw out a holder who never sold: the paywall lands only once Cherry has confirmed the balance is gone.
  • A paywalled member keeps the room in their chat list and their position in it, while message content is withheld. The paywall screen carries a “Re-check” button that lifts it the moment the balance is back.

Two levers sit with the owner. An invite from an owner or admin is a vouch: invited members skip holdings checks, though a payment rule still applies to them. And when you raise a minimum on an existing room, “Apply to existing members now” in group settings checks every member straight away.

What is different from Discord with Collab.Land or Guild.xyz

The Ethereum default is a Discord server plus a gating service, and the difference is where the wallet lives. As of 11 September 2026, Collab.Land’s home page states support for “40+ chains, 30+ wallets”, says it has operated since Spring 2020, and says it performs “regular re-verifications” of members; its documentation describes balance-based and attributes-based Token Gating Rules, names ERC20, ERC721 and ERC1155 as examples, and says members who no longer hold a community’s tokens lose their roles in that community automatically. Guild.xyz gates Discord and Telegram, lists more than 100 integrations, and says over 1,000 teams use it.

Both work. Both also carry the same structural cost: the chat account and the wallet are two different identities, tied together by a bot and a connect page you have to visit. That is what produces the familiar pattern: a bot DM with a link, a phishing clone of that link a week later, and a #verify channel someone has to chase people through. On Cherry the wallet signature is the sign-in, so your membership belongs to the wallet itself and there is nothing to re-link.

The second difference is the failure mode. A role in Discord is a sticky grant that someone or something has to take away. A Cherry rule is evaluated fresh: at join, then in background re-checks, and on demand when a member presses Re-check.

Who uses it and for what

Three setups an Ethereum community owner can build today.

A DAO opens a delegate tier. ERC-20 governance tokens such as UNI, AAVE, LDO and ENS have holder bases large enough that “the Discord” means nothing in particular. One token rule with a high minimum makes a room that only sizeable holders can sit in, and a second room with a minimum of one covers everyone else. Same contract, two thresholds, no spreadsheet.

A PFP collection brings its holders back. An ERC-721 rule on the collection contract gives a room that mirrors the cap table of the art. Sell the ape and the next background re-check paywalls you. NFT-gated chat goes deeper on collection rules.

A memecoin group gets tired of impostors. PEPE, SHIB and APE communities live in open Telegram groups where the loudest account is often the newest one. A balance rule plus wallet-verified membership means the holder list is the member list, and Cherry’s wallet-age gate keeps brand-new wallets from posting in public rooms.

No ENS or PEPE room existed on Cherry as of 11 September 2026. The closest working example is SNS Club, a room gated on holding a Solana name, which shows the same enforcement loop running on a live community: 1,455 members and 3,872 messages on that date.

Limits and honest caveats

Group chats on Cherry are not end-to-end encrypted, by design, so moderation, bots and the gating checks can work. Direct messages are: DMs are end-to-end encrypted with keys derived from your wallet.

ERC-1155 is the honest gap on this page. Cherry’s two asset rules are a fungible balance check and a collection ownership check, and a semi-fungible edition contract does not obviously belong to either. Ask the Cherry team before you price a paid room around an ERC-1155 pass.

Names are the other gap. Cherry’s display names come from SNS (.sol and .sns), .skr on Seeker, and AllDomains TLDs, as of 10 September 2026. An .eth name is not in that set, so you address an Ethereum DM by its 0x address.

Money settles on Solana. Entry fees are priced in SOL or USDC and recurring memberships run through the official Solana Subscriptions and Allowances program, from 1 USDC to 10,000 USDC per period, split 70% owner and 30% Cherry as of 10 September 2026. A paid group must stay public, because its storefront page is where it sells.

How to start

  1. Open chat.cherry.fun and sign in with your wallet.
  2. Create a group, set it to public, and give it a handle. The handle becomes chat.cherry.fun/@<handle>, which search engines can index.
  3. Open “Access requirements”. Switch on “Token requirement” and paste the ERC-20 contract with a minimum, or “NFT requirement” and paste the ERC-721 collection contract.
  4. Add a second rule if you need one, then pick “All of these” or “Any one” under “To join, members need”.
  5. For a paid room, switch on “Paid entry” and choose a one-time fee or a recurring period. For a broadcast-only feed, make it a channel instead.
  6. Post the storefront link. A visitor sees the requirements, connects a wallet, and is in or out in one step.

Create a token-gated group chat walks through the same flow screen by screen, and the Base page covers the same recipes for Coinbase’s L2.

FAQ

Does token gated chat on Ethereum need a verify bot? No. Your wallet signature is the sign-in, so there is no second account to link, no connect site to visit, and no role for a bot to hand out. Cherry reads the chain when a wallet asks to join and reads it again in the background while that wallet stays a member.

Which Ethereum token standards can I gate by? ERC-20 for a balance rule and ERC-721 for a collection rule, the two standards behind almost every Ethereum token and PFP collection. ERC-1155 is the standard for semi-fungible passes and sits between the two rules; confirm how Cherry handles it before you plan a room around one.

Where do I get the right ERC-20 contract address? Take it from the project’s own site and confirm it on Etherscan before you paste it into the rule. Tickers repeat across chains: CoinGecko lists PEPE as an ERC-20 on Ethereum at 0x6982508145454Ce325dDbE47a25d4ec3d2311933 and also as deployments on Avalanche, BNB Smart Chain, and Arbitrum One, as of 11 September 2026.

Can I charge for an Ethereum community? Yes, with one thing to know. Entry is priced in SOL or USDC and recurring memberships are billed in USDC through the official Solana Subscriptions and Allowances program, split 70% to the owner and 30% to Cherry as of 10 September 2026, so the holdings rule reads Ethereum while the money leg settles on Solana.

What happens when a member sells the token? Cherry re-checks each member’s holdings in the background. A wallet that has dropped below the minimum is paywalled: it keeps the room in its chat list, message content is withheld, and pressing Re-check restores access once the balance is back.

Can I DM an Ethereum address from Cherry? Yes, you can DM any Ethereum address, and the recipient does not need a Cherry account yet. Address it by its 0x address: Cherry’s display names come from SNS (.sol and .sns), .skr, and AllDomains TLDs, and an .eth name is not one of them as of 10 September 2026.

Sources

Try Cherry

Sign in with a wallet, DM any address, and join token-gated and paid communities. No phone number, email, or KYC.