Genyx documentation
Genyx is a marketing and analytics platform that runs on Discord: native ad inventory, cross-server distribution, and dashboards for acquisition and ROI. This site covers OAuth2, slash commands, Enterprise APIs, and Web3 modules.
The product rests on three pillars: Discord Ads (inventory and creatives), analytics and attribution (sources, CTR, cost per join), and optional Web3 signals (Genyx ID, NFT gating, wallet link) where your plan allows. For positioning and pricing, start from the marketing homepage.
Quick setup
Install Genyx with the Discord OAuth2 invite from the dashboard or homepage. After the bot joins, open #⚙・genyx-setup (or the channel you mapped at install). From there you enable modules: Security (AI moderation, URL scanning), Ads, and Web3, depending on plan.
Slash commands are registered globally for your application. Typical first steps use /genyx setup to walk permissions and channel bindings, then /genyx config to toggle modules without redeploying the bot.
/genyx setup → channel checks, role mapping, module preflight
/genyx config → toggle Security · Ads · Web3 panels
Plans & features
Free covers Core Foundations: moderation, onboarding, live analytics, and the community digest when enabled. Gamification (Engage & Evolve, Hall of Fame) is live on all servers today. Paid modules will add support tiers and deeper statistics per guild as billing opens. Enterprise expands to fleet scope, consolidated reporting, the full API surface, and priority support.
| Capability | Free | Pro | Enterprise |
|---|---|---|---|
| AI security & moderation helpers | ✓ | ✓ | ✓ |
| Native Discord Ads & partner inventory | No | ✓ | ✓ |
| Attribution dashboard & exports | Limited | ✓ | ✓ |
| REST API & webhooks | No | Read-only | Full |
| Fleet Manager (multi-server) | No | No | ✓ |
OAuth2 & permissions
The bot invite uses scopes bot and applications.commands so slash commands stay in sync. Genyx requests Administrator on the server so Smart Install, role panels, moderation, and channel setup work without permission gaps.
Human login for the web dashboard uses OAuth2 with identify and guilds so we can list servers you manage. Tokens are issued server-side. Do not paste long-lived secrets into public channels.
https://discord.com/api/oauth2/authorize?
client_id=DISCORD_APPLICATION_ID&
permissions=PERMISSIONS_INTEGER&
scope=bot%20applications.commands
Replace DISCORD_APPLICATION_ID with the numeric ID from the Discord Developer Portal (Your application → OAuth2). Replace PERMISSIONS_INTEGER with the bitmask computed in the portal for your chosen guild permissions.
Bot commands
Commands are slash-based. Availability follows plan entitlements enforced at execution time. Members need appropriate Discord permissions to run admin-facing commands.
| Command | Description | Plan |
|---|---|---|
| /genyx setup | Preflight checks, channel and role mapping. | Free+ |
| /genyx campaign | Create or pause campaign drafts (inventory gated). | Pro+ |
| /genyx stats | Snapshot of CTR, joins, cost signals for the server. | Pro+ |
| /genyx ban-appeal | Opens or reviews appeals tied to moderation policy. | Free+ |
| /genyx config | Toggle modules and surface links to the dashboard. | Free+ |
| /genyx id | Show or refresh Genyx ID linkage for the member. | Pro+ (Web3) |
Webhooks
Enterprise can register HTTPS endpoints that receive signed JSON deliveries when key events occur. Payloads include a type field, ISO8601 occurred_at, and guild identifiers. Verify signatures with the secret shown once in the Enterprise security screen (rotate periodically).
{
"type": "member_join",
"guild_id": "987654321098765432",
"user_id": "123456789012345678",
"source": { "campaign_id": "cmp_01", "channel": "partner_invite" },
"occurred_at": "2026-04-20T14:32:00.000Z"
}
Other type values include campaign_end and member_score for lifecycle and engagement signals. Delivery is Enterprise-only and subject to your data processing terms.
Running a campaign
You create a campaign in the dashboard or via API on Enterprise: define audience filters, daily or total budget caps, and creative assets. Genyx matches inventory on partner servers that satisfy your rules, then measures delivery and joins.
Operational flow: create draft → target regions and server tiers → set budget → distribute across inventory → measure in analytics. Pausing is immediate. Spend accrues only while status is live.
{
"name": "Q2 partner push",
"audience": { "regions": ["EU","US"], "languages": ["en"] },
"budget": { "daily_ceiling_eur": 120, "total_ceiling_eur": 4000 },
"creative_id": "crt_display_09"
}
Analytics dashboard
The dashboard surfaces delivery and outcome metrics: impressions, clicks, CTR, estimated CPM/CPC, cost per joined member (CPJ), and retention at 7, 30, and 90 days where sample size allows. Member score aggregates engagement for segmentation.
CSV export uses a stable column header row for BI tools. Live updates also stream on Enterprise WebSocket (see below).
timestamp_utc,guild_id,user_id,event,source_campaign_id,cost_eur,impressions,clicks
2026-04-20T12:00:00Z,987654321098765432,123456789012345678,join,cmp_01,0.042,0,0
Attribution model
Genyx records the last qualified touch before a join that maps to an active campaign or tracked source (partner server, invite path, tagged link). Historical joins without a matching signal fall into organic / unknown for reporting.
Last-touch is the default for operational dashboards so spend ties clearly to the final click or invite. Multi-touch views (assist paths) are available as a read-only analytical lens on Enterprise and do not change billing logic.
Genyx ID
Genyx ID enriches the member profile with optional wallet linkage and engagement scores for targeting and Web3 analytics. It does not replace Discord’s own verification flows. It is an additional signal when those modules are enabled.
"genyx_id": {
"subject": "gx_01HZZZZZZZZZZZZZZZZZZZZZZ",
"wallet": { "chain": "ethereum", "address": "0x71C…9A3" },
"trust_tier": 2
}
NFT gating
The Web3 module lets you map contract conditions to Discord roles. Indexing depth and chains depend on plan and supported networks listed in your tenant settings.
{
"contract": "0xabc…f01",
"standard": "ERC721",
"min_balance": 1,
"grant_role_id": "112233445566778899"
}
Wallet connect
Wallet connection targets EVM-compatible networks through the standard client flow embedded in the dashboard and optional in-server prompts. Linking is opt-in: members must confirm before Genyx stores a normalized address for correlation.
On-chain data is processed under your privacy policy and applicable law (including GDPR where relevant). Admins can disable wallet features per server and purge linkage requests from compliance settings.
Engage-to-Earn & community rewards
Community rewards are Genyx engagement points for the Engage program — not cash. Members collect them when they complete qualified actions (for example tracked joins from partner inventory, verified quests, or admin-approved events). Projects configure earn rates and redemption paths such as roles or perks.
Engage-to-Earn is rewards participation that matches your rules, not raw message volume. Fleet-wide balances roll up under Enterprise.
REST API
Base URL for the hosted API is https://api.genyx.xyz/v1. Enterprise issues bearer tokens from the dashboard under Settings → API. Treat tokens like passwords: rotate on staff changes and never commit them to git.
Endpoints include guild listing, aggregated analytics, campaigns, and scored members. Rate limits and pagination follow response headers documented in the customer portal.
- GET /guilds: lists every server linked to your tenant.
- GET /guilds/{id}/analytics: returns rolled-up performance metrics.
- GET /guilds/{id}/campaigns: lists live and scheduled campaigns.
- POST /guilds/{id}/campaigns: creates a campaign using the same payload shape as the dashboard.
- GET /guilds/{id}/members: returns members with scores and acquisition sources.
curl -sS https://api.genyx.xyz/v1/guilds/987654321098765432/analytics \
-H "Authorization: Bearer <token from Dashboard → Settings → API>" \
-H "Accept: application/json"
{
"guild_id": "987654321098765432",
"period": "last_30d",
"joins_attributed": 1284,
"cpj_eur": 0.38,
"ctr": 0.034
}
WebSocket
Enterprise realtime URL: wss://ws.genyx.xyz. Authenticate during the handshake with the same bearer token family as REST. Subscribe to guild-scoped channels after connection.
{ "event": "member_join", "guild_id": "987…", "user_id": "123…", "source": "cmp_01" }
{ "event": "campaign_update", "campaign_id": "cmp_01", "status": "paused" }
{ "event": "member_score_update", "user_id": "123…", "score": 842 }
Fleet Manager
Enterprise Fleet Manager links up to ten servers under one billing entity. You edit a master configuration and propagate compatible changes in one confirmation step. Consolidated analytics aggregate joins and spend across the fleet while preserving per-server drill-down.
Use fleet mode when the same brand operates multiple Discord communities and needs consistent policies without logging into each server separately.
RBAC & multi-admin
Dashboard access uses role-based control: owner (full billing and deletion), admin (modules and campaigns), analyst (read-only metrics and exports), viewer (dashboard read). Enterprise can map additional SSO groups where enabled.
Two-factor authentication (TOTP) can be required for admin and owner roles. Compatible apps include Google Authenticator, 1Password, and Bitwarden authenticator modes.
| Action | Owner | Admin | Analyst | Viewer |
|---|---|---|---|---|
| Billing & tokens | ✓ | No | No | No |
| Module toggles | ✓ | ✓ | No | No |
| Campaign create/edit | ✓ | ✓ | No | No |
| Exports & API keys | ✓ | ✓ | ✓ | No |
| View dashboards | ✓ | ✓ | ✓ | ✓ |