Our SaaS Twitter account got permabanned on Day 23. Here's the data. — Synrouter Blog<br>← Back to blogOn June 10, 2026, the official X account for my SaaS — @synrouterai, 23 days old, at the time of suspension: 109 tweets, 3 followers — was permanently placed in read-only mode. We can never post again, and X says we can never create another account. I appealed. The appeal was denied within 24 hours.
This is what we did wrong, with the actual numbers.
What we're building, briefly
Synrouter is an AI inference gateway aimed at developers who burn money running coding agents — Claude Code, Codex CLI, Aider, OpenClaw, that crowd. The hypothesis is that everyone using these tools has a quiet wince every time they look at their monthly bill, and that a smarter routing layer can cut a meaningful chunk of that. We're pre-launch. Team of one founder plus occasional help.
Like every founder who has ever been told "you need to do distribution from day one," I decided to do distribution from day one. The obvious place was X. The crowd I needed was visibly there: people complaining about Claude usage caps, debating model routing, comparing token costs. So I made an account and went in.
The strategy that sounded smart
Three rules, written down before I started:
Engage, don't broadcast. Reply to people actually discussing inference cost, don't shout into the void.
Quality over volume. Two thoughtful replies a day beats ten generic ones.
Use scripts for finding conversations, not for writing them.
I built a small keyword monitor that pulled relevant posts twice a day. The plan was: every morning, scan the report, pick two or three tweets that genuinely deserved a substantive reply, write each one by hand, post them spaced out across the day.
That plan survived about two weeks. Then it didn't.
What I actually did on Day 23
Here is the audit log from the day of the suspension, from the self-monitoring report I was running on the account:
MetricValue24h tweets18 (target: ≤3)Burst 110 tweets in 22 minutes (June 9, 23:17–23:40)Burst 28 tweets in 27 minutes (June 10, 10:44–11:11)Inter-tweet gap 16 of 18Template structure100% — every reply followed [acknowledge] + [insight] + [have you / curious?]Replies w/ "Have you" or "Curious"56%Tweets with impressions ≤ 23 (almost certainly already shadowbanned)Total likes across 18 tweets3New followers that day0Engagement rate1.70%
Three tweets pulled less than three impressions. That's not "the algorithm doesn't favor you." That's the algorithm actively hiding you while it makes up its mind whether to flag the account.
It made up its mind that evening.
What the platform actually saw
It's worth taking the X perspective seriously here, because once you do, the verdict isn't even slightly surprising.
From their side, an account that's 23 days old, just upgraded to paid Premium, calling the API, and posting 18 near-identical replies in bursts of three-minute intervals is not "an indie founder trying to engage with the community." It's a textbook positive example in their anti-spam training set. Specifically, it's the worst kind: a paid account, because paid spam has higher disruption-per-dollar than free spam. Premium does not buy you any leniency. If anything, it raises the bar for behavior, because you've now demonstrated willingness to pay to amplify whatever you're doing.
I didn't trip one rule. I tripped four at once: posting rate, template uniformity, burst pattern, and API-driven activity on a young account. Each one alone might have triggered a soft warning. All four simultaneously triggered the permanent option.
Why the "engage, don't broadcast" strategy still failed
Here is the part I keep coming back to. My intent was the right intent. I genuinely wanted to participate in conversations, not blast ads. Every reply I sent was, in isolation, on-topic and not spammy.
But intent doesn't show up in the audit log. Behavior does. And my behavior was: same person, same five minutes, same three-part structure, ten times in a row. From any reasonable distance, that looks identical to a content farm running on autopilot.
The strategy didn't fail because it was wrong. It failed because I let a tool quietly take over the part of the workflow that needed a human judgement on every single send. The script was supposed to surface candidates — that third rule I was so proud of: "Use scripts for finding conversations, not for writing them." Somewhere around Day 17, the candidates became the list, the list became the queue, and the queue became the schedule. The script was writing the replies. I just wasn't admitting it to myself. I stopped reading individual replies before clicking send. I stopped asking whether each one deserved to exist.
Two of those eighteen tweets I'm proud of. The other sixteen I should have deleted before posting.
Things I now believe that I didn't before
A new account has no credibility capital. Zero. Whatever leeway established accounts get for...