How to verify NFT holders without Collab.Land

Verify NFT holders for a group chat on Cherry: paste a collection address or Magic Eden link, skip the verify bot, and let the chain re-check members.

This guide shows how to verify NFT holders for a community chat: you name the collection once, and the app reads the chain every time a wallet asks to join. The walkthrough uses Cherry (cherry.fun), a wallet-to-wallet messenger and community app for crypto where the signature that signs a member in is the same signature that proves what they hold. Written for NFT collections, token teams, and DAOs who want a holder room on Solana, or an ERC-721 room on Ethereum or Base, without a gating bot bolted to a Discord server.

Two audiences ask this. Developers want the code path: sign a nonce, then query an NFT API. This guide is for the owner who wants the room.

Before you start

  • A wallet signed in at chat.cherry.fun . Signing in is a message signature: nothing goes on-chain, no gas.
  • Your collection’s on-chain address, or its Magic Eden URL in the form magiceden.io/marketplace/<slug> or magiceden.io/collections/solana/<slug>.
  • A decision about visibility. The rule editor appears on public groups; a gated group flipped private holds its rule paused.

Step 1: Open Access Requirements

Create a group in the Cherry web app, open its settings, and find the “Access Requirements” card. The create flow carries the same card, collapsed, as “Access requirements”.

You know it worked when the card lists the toggles “Paid entry”, “Token requirement”, “NFT requirement” and “Domain requirement”, with “Hold an NFT from a collection” under the third.

Step 2: Paste the collection

Switch on “NFT requirement” and put your address or Magic Eden link in the “Collection” field, whose placeholder reads “Collection address or Magic Eden URL”. A “Verified” row appears below: “Looking up collection…” while the editor checks, then the collection’s name and image.

Read that row before you save. The editor looks the address up as you type, and that row is the only check between you and a room gated on a mistyped base58 string. Three other outcomes: “Collection not found” for an address with nothing behind it, “Verification unavailable” when the lookup itself failed, and a “Core” badge, which means the collection is a Metaplex Core collection and the rule will check Core assets.

A Magic Eden link works too. Cherry finds the on-chain collection behind it from an active listing, so the room is still gated on the collection itself, whatever the marketplace page calls it.

You know it worked when the “Verified” row shows the collection you meant, linked out with the title “View on Magic Eden”.

Step 3: Decide how the rules combine

One rule is enough for most collections. A group takes up to five, and once a second is on, a “To join, members need” control appears with “All of these” and “Any one”.

What you wantRulesSetting
Holders of one collectionNFT requirementsingle rule, no control
The PFP or the pass NFTtwo NFT requirementsAny one
Holders who also hold the tokenNFT plus token requirementAll of these
Holders who also pay monthlyNFT plus payment requirementAll of these

Under “Any one” the helper text reads “Meeting any one requirement is enough”. One hole is deliberate: a member invited by the owner or an admin is exempt from holdings checks, because an invite is a staff vouch. Payment rules still apply to them.

Step 4: Publish and read the storefront

Save, then open chat.cherry.fun/@<handle> in another browser. That indexable page is what a holder sees before joining. A signed-in visitor gets each requirement as a row under “To join you need”, or “Meet any one to join” under any-logic, with a met count such as 1/2 and a “Re-check” button. An unmet NFT row carries a Buy button for your Magic Eden page.

You know it worked when a wallet holding the NFT shows every row met, and a wallet that does not gets “You do not hold any of the required NFTs.”

Step 5: Let the chain keep checking

Cherry keeps checking the members of gated public groups in the background, reading each wallet’s holdings from the chain every time, so a wallet that sells loses access.

When a holder sells:

  1. The NFT leaves the wallet, and the next background check reads that wallet from the chain again, so the answer follows the transfer.
  2. That check is not immediate: the seller can keep reading for several days after the sale.
  3. When the check fails, the wallet is paywalled: the member stays in the list, keeps their role, and reads nothing.
  4. A later passing check lifts the paywall.

When the chain gives no clear answer, the member keeps access, so a network outage never paywalls your holders. To check everyone right away after a rule change, save with “Apply to existing members now” on. Its helper text says that “members who don’t meet the requirements are paywalled right away”.

Domain rules are enforced the same way: the SNS Club, open to wallets holding a .sol domain, had 1,455 members and 3,872 messages as of 11 September 2026.

How to verify NFT holders without Collab.Land

Collab.Land is the incumbent answer, and it advertises “40+ chains, 30+ wallets” as of 11 September 2026. The difference is where the check lives.

StepCollab.Land on DiscordCherry
Where the rule livesA Token Granted Role in the Command Center, mapped to a Discord roleA rule on the group itself
What you enter for a Solana NFTChain Type, Token Type, and a Creators or Master Editions filterA collection address or a Magic Eden URL, resolved in the editor
What the member doesPresses “Let’s Go”, opens a verification page, picks a wallet, signs on first useSigns in once with their wallet; the join request does the check
Re-checkingEvery 7 days on Starter, every 24 hours on paid tiersAt join, then in the background; a sale can take several days to register
When holdings returnBalance checks only revoke roles; the member verifies againThe next passing check lifts the paywall
Failure modeThe role and the chain drift apart between balance checksA seller keeps reading until the background re-check catches the sale

Collab.Land’s documentation adds that real-time event listeners close the cadence gap on paid tiers, Ethereum from Premium and Solana from Exclusive. Stay on Collab.Land if your community already lives on Discord and the roles drive everything else in the server; move the room to Cherry if you want the holdings check and the chat to be one system. Collab.Land alternatives compares the wider field.

Troubleshooting

  • “Collection not found” on an address you trust: a single NFT’s mint is not the collection address. Paste the Magic Eden collection link and let Cherry find the collection.
  • A Magic Eden link that will not resolve: resolution needs one active listing. Use the address.
  • A Core collection that verifies nobody: Core rules match on the collection’s update authority, so assets minted without a collection update authority will not match. Ask Cherry to set the rule on the shared authority instead.
  • A holder locked out after buying back: ask them to press “Re-check” on the paywall screen, which reads their wallet from the chain on the spot.

FAQ

How do I create an NFT gated chat? Create a public group in the Cherry web app, open Access Requirements, switch on NFT requirement, and paste your collection address or Magic Eden URL into the Collection field. When the Verified row shows the collection name, save. The group is gated from that save on.

How do I verify NFT holders without Collab.Land? Host the chat somewhere that reads the chain itself. On Cherry the app checks the collection when a wallet asks to join, so there is no Discord server to attach a bot to, no verification site, and no role to keep in sync.

Which NFT standards can Cherry verify? Standard Metaplex collections and Metaplex Core collections on Solana, and ERC-721 holders on Ethereum and Base. Magic Eden links and Core update-authority matching work on Solana only.

What happens when a holder sells the NFT? Cherry’s background re-check catches the sale and paywalls the wallet, though not instantly: a seller can keep reading for several days after the sale. The member keeps their seat while message content is withheld, and a later passing check restores them.

Can I keep the holder room private? Yes. An asset-gated group can be private, and Cherry saves the NFT rule in a paused state while it is: the settings card calls the rules saved but not applied, and says new members cannot join or pay. Going public re-applies everything automatically.

Create your holder room at https://chat.cherry.fun .

Sources

Try Cherry

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