Desk
Overview
A quiet look at the console before you pick a panel.
Bot
—
Discord
—
Mail
—
Last broadcast
—
Doors
What this sign-in can open. Locked doors stay visible so the map is honest.
Bringing systems online…
—
Servers
—
Members reached
—
Project age
since 7 Mar 2026
—
Revenue
—
—
AI credit
—
—
System
CPU—
RAM—
Disk—
Guild growth 30d
—
Integrations
Checking…
Recent activity
Loading…
📢 Broadcast
Send an announcement to all servers with updates channel configured
New Announcement
Loading server count...
Supports Discord markdown — **bold**, *italic*, `code`, > quote. Type
# to mention a channel.Type a message to preview the embed.
Broadcast History
Loading history...
🖥 System Monitor
Live VPS and bot performance stats
RAM Usage
—%
Loading...
CPU Usage
—%
Loading...
Disk Usage
—%
Loading...
Load average
—
1 minute
Bot Servers
—
Servers with update channel
Node.js
—
PID: —
🛠️ Maintenance Mode
Loading…
When ON, everyone except you (the owner) gets a "be right back" reply instead of running commands. Use during incidents.
🎭 Bot Presence
Loading…
Set the bot's online status and activity line (e.g. “Watching over 200 servers”). Applies within ~30s. Leave the text empty to clear the activity.
✉️ Inviter Welcome DM
Loading…
A custom embed DMed to whoever invites Cyndrix to a server, replacing the default onboarding message. Leave both fields blank to use the built-in default.
Placeholders:
{server} · {inviter} (mention) · {invitername} · {membercount}. Supports Discord markdown.
Integrations
Live reachability of Cyndrix's external dependencies. Probes run on demand when you open or refresh this tab.
Service Health
Loading…
⏳
Probing…
📝 Bot Logs
Recent errors and events from the bot
📝
No Logs
No recent errors found.
💾 Backup
Snapshot, download, or restore the bot's SQLite database
Create New Backup
Loading status…
Recent Backups
Loading…
Restore from Upload
Upload a
.sqlite or .zip backup, then apply itMax 200 MB. Validates SQLite schema before allowing apply.
Manual Subscriptions
Manually grant, extend, or revoke premium for any server. Use this when a payment succeeded but the webhook didn't fire, or for comp accounts.
Grant Subscription
Pick a server, choose tier + duration, click Grant.
Target Server
Right-click any server in Discord → "Copy Server ID" (requires Developer Mode in your Discord settings).
Plan
A grant never renews or bills. It runs for the set days, then ends.
30 = 1 month · 90 = 3 months · 365 = 1 year.
The person who actually paid for this sub — populates their "My Subscriptions" view. Leave blank for a free comp/gift that no one needs to see.
For your records — e.g. "LiEBe, paid via Lemon Squeezy tx#XYZ, webhook failed".
Overview
Live snapshot of all paying customers.
⏳
Loading…
All Subscriptions
Every guild with a premium record. Actions affect both our DB AND the payment provider where applicable.
⏳
Loading…
Refunds & Blocks
Every refund and chargeback blocks that server and that buyer from purchasing again, and files an incident here. The AI those points bought is already spent — the clawback only recovers what was unused — so this page is where you see what a refund actually cost. An honest refund lands here too: lift the block and they can buy again.
Incidents
—
Chargebacks
—
AI already burned
—
Active blocks
Purchases refused until lifted.
Loading…
Incident log
Newest first. "AI burned" is what we paid the provider for points already spent when the money went back.
Loading…
Webhook Failures
Lemon Squeezy webhooks are ACK'd with 200 even when our handler throws, so real failures (e.g. a paid customer whose grant crashed) land here. Fix the bug, then Replay the original payload.
X & Instagram feed usage
Loading…
⏳
Loading…
Captured Failures
Loading…
⏳
Loading…
Cyndrix AI
Live credit balance + spend across every server. Recharge before things hit zero.
Available Credit
—
Balance
—
—
Burn Rate
—
avg / day · last 7 days
—
Days Left
—
at current burn rate
🤖 AI Chat Switch
Loading…
Disable CyndrixAI chat bot-wide (manual kill-switch). It also auto-disables when the balance above hits zero — when that happens you'll re-enable it here after topping up.
💬 AI Chat This Month
Every server: text replies, images the AI read, and web searches — with our estimated cost (AP × provider cost per AP).
—
⚖️ Cost per Action Point
What each AI feature cost us per AP it charged this month. The plans and packs keep 40%+ profit while every feature stays at or under the basis. Red means a feature has gone over it, so reprice it.
—
🧠 Dashboard AI
The dashboard assistant runs on Gemini 2.5 Flash via OpenRouter. Chat, translation, and search stay on their own models.
Model
—
—
Key Health
—
—
Est. Spend · Month
—
estimated at model list price
Today
Turns0
Tokens0
Est.$0.00
This Month
Turns0
Tokens0
Est.$0.00
All Time
Turns0
Tokens0
Est.$0.00
Total Spend
Aggregated across every server using Cyndrix AI.
Today
Spent$0.00
≈ AP—
Messages0
Tokens0
This Month
Spent$0.00
≈ AP—
Messages0
Tokens0
All Time
Spent$0.00
≈ AP—
Messages0
Tokens0
Top Servers This Month
Who's burning the most credit. Spot abuse, identify power users.
⏳
Loading…
Last 14 Days
Heads Up
✅ Balance auto-refreshes every 5 min
✅ Click ⟳ Refresh to force a live check
⚠️ Below $5 = recharge (you also get a bot DM every 12h)
⚠️ Below $1 = AI chat will start failing soon (images + web search burn faster)
Staff & Roles
Grant access by Discord ID, by email, or both. A role attaches to the person, so they get the same powers through whichever door they use.
People with access
You are always allowed and are not listed here.
⏳
Loading…
Add someone
Fill in whichever you have. A Discord ID lets them sign in with Discord; an email lets them sign in with a code.
Give one extra permission beyond the role
What each role can reach
Presets. Anything extra you grant a person shows on their row.
Slash-command permissions
Kept in step automatically when you grant a role. Only open this to hand out a one-off permission.
Slash-command permissions
Kept in step automatically when you grant a role. Only open this to hand out a one-off permission.
⏳
Loading…
Translation Quotas
Reset a server's monthly translation counter early (e.g. customer raised a ticket about hitting their cap).
Reset by Server ID
Paste the Discord server ID. The current-month counter goes back to 0 immediately.
Active Usage This Month
Every server that has used translation this billing month. Click "Reset" to zero it out.
⏳
Loading…
Image Scan
Raise the reference-picture cap for an Ultimate, Nexus, or Professional server, or wipe a library. Free is 10 and Premium is 20. The ceiling is 500.
One server
Paste the Discord server ID.
Servers with a library
Anyone who has uploaded a picture, or has a raised cap.
⏳
Loading…
Servers
Every server Cyndrix is in, and which dashboard modules those servers have turned on.
All Servers
Loading…
⏳
Loading…
Blacklist by Server ID
Block a server even if the bot isn't currently in it — it'll leave on sight and refuse every command.
Blacklisted Servers
Servers the bot will not operate in. Includes blacklisted servers it has already left.
⏳
Loading…
🧭 Server Discovery
Review servers submitted for the public Discovery page — approve or reject, with a reason on rejection. Remove takes a listing off entirely, for servers that no longer exist or have removed the bot.
Total: —
⏳ Pending: —
✅ Approved: —
❌ Rejected: —
👻 Bot not in server: —
Filter:
Blocked Users
Block an abusive user from using Cyndrix in every server, bot-wide. Blocked users can't run any slash command anywhere. You (the owner) are always exempt.
Block by User ID
Enter a Discord user ID. The block takes effect immediately across all servers.
Blocked Users
Loading…
⏳
Loading…
Audit Log
Every dashboard and owner action across all servers — grants, revokes, blacklists, blocks, quota resets, config edits. Owner-only, for accountability.
Activity
Loading…
⏳
Loading…
Usage
Which slash commands get used most. Counts are buffered and flushed every ~60s, so very recent commands may lag slightly.
Daily Command Volume
Loading…
⏳
Loading…
Most-Used Commands
All-time leaderboard of successful executions.
⏳
Loading…
Banned-word extras
Words servers added beyond the official starter packs. Kept after the bot leaves.
⏳
Loading…
Growth
Bot-wide server growth over time. Snapshots are taken hourly; a weekly summary is posted to the owner server-log channel.
⏳
Loading…
Server Count
Loading…
⏳
Loading…
Why they left
Loading…
VIP Rank Cards
Give a player their own card. It shows for them in every server, on every plan. Server admins can't turn it off.
VIP Players
Loading…
Shown on
/level and level-ups, instead of that server's card. Right-click someone in Discord → Copy User ID (Developer Mode on). Nothing is saved until you press Save VIP Card.VIP Card
VIP
Shown for this player in every server
Player
Colors
Background Image
R1–R6 and the other Cyndrix Cards — or upload your own below
Select Image
PNG, JPEG, WEBP or GIF · Max 2 MB · best 1200×360
How dark the panel behind the text is. Higher covers more of the picture and keeps the text readable.
Live Preview
rendering…
The actual card, with this player's name and avatar — rendered exactly as the bot sends it.
Profile Frames
Loading…
Shown on
/profile in every server, instead of the shared Crimson Cosmic frame. Everyone else stays on that default. Nothing is saved until you press Save Profile Card.Profile Card
VIP
Replaces Crimson Cosmic for this player
Player
Frame
Crimson Cosmic until you pick a frame
These are the 16:9 pictures in the profile banner folder. Rank cards are not in this list.
Live Preview
rendering…
The actual profile card, with this player's name and avatar.
🎫
Select a ticket
Pick one from the queue. Back always returns here.
Campaigns
Write the bot message, send a test to yourself, then send the real survey. A missed inviter DM posts in that server's update channel. A missed channel post goes to the inviter.
New Survey Campaign
Loading reach...
Inviter DMs go to the person who added Cyndrix. If that DM does not land, the server's update channel gets the post. Update channels post in the channel first, then DM the inviter if the post does not land. A server with no saved inviter still gets its update channel.
0 days = every server. Newer installs are skipped. Join date comes from when Cyndrix was added to that server.
days
Placeholders:
{survey_link}, {server}, {bot}, {owner}. The button also opens the same survey link.Type a message to preview the survey invite.
Campaign History
Recent drafts and sent survey campaigns.
Loading
Loading campaigns...