Discord Support for Crypto Communities: When Support Is the Attack Surface
In a crypto Discord the support channel is what scammers impersonate, and a wrong answer costs money nobody can return. Run support through tickets.
Dani, Founder, AI Ticket Bot
9 min read
Every Discord community gets support questions. A crypto community gets support questions from people who are frightened, in a hurry, and about to move money.
That single difference changes the job. The queue is not mainly a workload problem. It is a security surface, and it is one your members are already being attacked through.
Why a crypto Discord is different from any other support queue
Support in a SaaS community is slow when it goes wrong. Support in a gaming community is noisy when it goes wrong. Support in a crypto community is expensive when it goes wrong, and the expense lands on the member rather than on you.
Two things cause that.
The first is irreversibility. In almost every other product, a bad support answer produces a bad afternoon: a wrong setting, a wasted hour, a refund. Here, an action taken on a bad answer can be final the moment it is confirmed. Nobody in your support team, however senior, can undo it afterwards.
The second is that your support process has commercial value to somebody else. Scammers do not impersonate your marketing. They impersonate your help desk, because the help desk is the one part of your project that people are already primed to trust and already expect to ask for information.
Put those together and you get the situation that actually defines this vertical: the moment a member says "I need help" in public, they have broadcast that they are confused and receptive, to an audience that includes people whose entire job is finding exactly that person.
What attackers actually do with your support channel
The pattern is consistent enough to plan around.
Somebody posts a problem in a public channel. Within a minute or two they receive a direct message from an account with your project's name and avatar, offering to help. The conversation moves somewhere you cannot see it, and it ends with a link, a "validation" step, or a request for a phrase that no legitimate support process ever asks for.
None of that requires breaking into anything. It requires only that the request for help was visible, and that the member had no reliable way to tell your staff from a stranger.
There is a second version aimed at ticket systems specifically. Some self-bots watch for new channels being created and try to work out who just opened a ticket, so the DM can arrive while the member is still waiting for a first reply. That is the moment a fake support message is most convincing, because a real one is genuinely expected.
Both versions are attacks on your process rather than on your infrastructure, which is why the fix is a process fix.
Making the ticket the only door
The goal is narrow: make the real route obvious, and make the fake route self-identifying. Three things do most of the work, and none of them is a paid feature.
Free settings that matter most here
- Anti-DM protection
- Off by default. Turn it on
- Ticket channel name
ticket-{number}, not{username}- Escalation
- Wired to a staff role, not to whoever is online
- Blacklist
- By user or by whole role
- Transcripts
- On, so a member can re-read what real support said
Anti-DM protection is the one built for this exact attack. With it on, a ticket channel is created without the opener's view permission, and the opener is added a few seconds later at a randomised delay. A watcher correlating channel-create events to members gets nothing dependable to work with. The cost is honest and worth stating: the member waits those few seconds before they can see their own ticket. In this vertical that is a good trade, which is why it exists as a switch rather than a default.
The channel name matters more than it looks. A panel that names channels after the person who opened them turns your ticket category into a list of people who currently need help, readable by anyone who can see the channel list. Naming by number removes the directory.
Escalation wired to a role matters because urgency here is real. Our AI escalates to one staff role that you wire, never to @everyone, and it will not commit your team to a response time it does not control. A ticket that needs a human should reach a role, not depend on who happens to be reading.
Then there is the part no setting can do for you. State the rule, in the panel description, in your rules channel, and in the welcome embed: staff never open the conversation. That claim is only useful if it is true without exceptions, and this is where most projects quietly undermine themselves with one marketing DM.
Ours never opens a conversation with a member. The DMs it does send are consequences of that member's own ticket: the transcript link when it closes, and a neutral notice if moderation closed it. Inside a ticket it only replies. That is a deliberately boring design, and boring is what makes the rule teachable.
What the AI must refuse to answer
This is where a crypto community should be pickier than any other vertical, because the usual trade-off inverts. Normally a helpful-but-imperfect answer beats silence. Here, a confident wrong answer about an irreversible action is worse than no answer at all.
Answer it
- How do I open a ticket, and who sees it
- Where the official links and channels are
- How your project's own process works
- What a role does and how to get it
Refuse and hand off
- Is this contract, link or offer legitimate
- Anything touching a seed phrase or private key
- Whether a transaction can be reversed
- Price, timing, or anything that reads as advice
The mechanism that makes the right column work is not a filter, it is a habit. Our AI answers from what your staff have taught it about your server. When it does not have the answer, it says what it does not have and offers to bring in the team, rather than producing something plausible. It does not escalate because somebody sounds annoyed, and it does not escalate on a bare information gap without asking first, so the handoffs your staff see are the ones that need a person.
Across every server using it, roughly half of all tickets close without a human being involved at all. The live figure sits at /api/stats/global if you want to check it rather than take our word for it. In a crypto server the half that does reach a human is the half that matters, and it is worth setting up so those are the tickets that arrive fastest.
One thing not to do: do not train the bot on answers to the refuse column because they come up often. Frequency is not a reason to automate an answer whose cost of being wrong is unbounded.
Can someone talk the bot into helping them?
Somebody in your server will try. It is worth knowing the shape of the answer before you need it.
The weak version of a vendor's answer is "our prompt tells it not to". Instructions can be argued with, and anybody who has spent an afternoon with a language model knows it.
The stronger version is a limit the model cannot reach. Our AI can only ever act for the person who opened the ticket it is sitting in. The user it acts on is resolved by the bot before the model runs, and there is no way for the model to name a different one. So a member cannot phrase their way into having the bot do something to somebody else, because the capability to target another person was never handed to it.
It also never mentions people or roles by ping, never explains its own setup, and cannot blacklist somebody for being rude or persistent. Threats and harassment of a real person are escalated to your staff at high priority rather than actioned by the bot, so a human makes that call.
When you evaluate any AI support tool for a community like yours, that is the distinction to ask about: which limits are instructions, and which are structural. Both matter, but only one of them holds under a determined member.
Your queue will not stay quiet
Support volume in most communities is roughly steady. In this one it is event-shaped. A mint, a listing, a migration, an outage or a bad news cycle takes a queue from a handful of tickets a day to more than your staff can read, over an hour, usually at the worst possible time.
Two consequences worth planning for.
The first is that a queue nobody can keep up with is itself a security problem. Every hour a real ticket sits unanswered is an hour in which a fake DM offering faster help is more attractive than it should be. Slow support does not merely annoy people here, it actively makes the scam more convincing.
The second is that a spike is exactly when your staff are least able to be careful, and being careless in this vertical is how a member loses money. This is the honest case for having the AI take first pass: not because it is better than your team, but because the repetitive nine tenths of a spike is what stops your team from getting to the tenth.
Where this is the wrong choice
Worth saying plainly, because the limits are real.
If most of your community will never join a Discord server, do not put your support queue in one. A Discord ticket needs a Discord account, and that is a genuine constraint rather than a detail.
If your support depends on knowing who somebody is in your own system, Discord will not tell you. It hands a display name and nothing else. A pre-ticket form can ask for the rest, and forms are a paid feature, but the answer is what the member typed rather than something verified.
If you need the bot to check something on-chain, look at a wallet, or verify a transaction, it does not do that. It answers from what your team taught it about your project. There is no chain integration.
And if your project's real problem is that nobody is moderating the public channels, tickets will not fix it. Tickets protect the conversation once it becomes private. Everything before that is still moderation.
Keep reading
If you want to see the behaviour rather than read about it, the free plan runs the same AI and the same guardrails as the paid ones, and closed tickets produce a transcript you can read end to end, which is on by default.
Frequently asked questions
The public channels are as safe as your moderation. The dangerous part is the private one: a member who asks for help in public has just told every watching scammer that they need help and are willing to trust whoever answers. That is why support in a crypto server should run through tickets rather than a help channel. A ticket is a private channel that only the person who asked and your staff can see, so the conversation that a scammer wants to intercept never happens somewhere they can read it.
You cannot stop a stranger sending a DM, because Discord allows it and no bot can revoke that. What you can do is remove the signal they are reacting to and make the real route obvious. Anti-DM protection creates the ticket channel without the opener's view permission and adds them a few seconds later at a randomised delay, so a self-bot watching for channel-create events cannot reliably tell who just opened a ticket. Then state plainly and repeatedly that staff never open the conversation, so an unsolicited DM is self-identifying.
Anything where being wrong costs the member money they cannot get back. Price and market questions, whether a contract or a link is legitimate, whether a transaction can be reversed, and anything at all that involves a seed phrase or private key. The right behaviour for those is not a careful answer, it is a refusal plus a handoff, because a confident wrong answer about an irreversible action is worse than no answer. Our AI hands a ticket to staff when it does not have the answer, rather than guessing.
It can make the claim true rather than aspirational, which is the closest thing to proof a member gets. Our bot never opens a conversation with a member. Every DM it sends is the result of something that member did in their own ticket: the transcript link when it closes, and a neutral notice if it was closed by moderation. There is no marketing DM, no follow-up, no check-in, and no first contact of any kind. That means a rule as blunt as "nobody from support will ever message you first" holds in your server, and a rule members can apply without thinking is worth more than a rule with exceptions.
The panel and categories look the same. Three settings matter more than they do elsewhere: turn on anti-DM protection, keep the ticket channel named by number rather than by username so the channel list is not a target directory, and wire escalation to a staff role rather than leaving urgent tickets to whoever happens to be online. None of those three is a paid feature.
They can try, and the honest answer is about how the limit is built rather than how well the bot is instructed. Our AI can only ever act for the person who opened the ticket it is sitting in. The user it acts on is resolved by the bot before the model runs, and the model has no way to pass a different one, so no amount of clever wording inside a ticket makes it do something to a third member. That is a structural limit rather than a rule in a prompt, which is the distinction worth asking any vendor about.
It’s not just an AI, it’s your AI.
See it on your own server.
Add the bot free, teach it a few of your most common answers, and watch it clear the repeat tickets on its own.
Free plan, no card. Your first panel starts 14 days of Premium.
Keep reading.
All articlesDiscord Support for Roblox Communities: The Tickets You Cannot Fix
A large share of a Roblox server's tickets are about Roblox, not about your game. Sort them by who can act, not by topic, and let the AI carry the redirects.
9 min read
Discord Support for SaaS: Knowing Who Is Actually Asking
A SaaS Discord is a second support queue that cannot see your accounts. What your ticket bot learns about the person asking, and how to close the gap.
9 min read
Discord Support Burnout: How to Spot It Before Someone Quits
Nothing in a Discord ticket bot assigns work, so it lands on whoever cares most. How to measure one person's real share and spread it back out.
9 min read