Betterino API
Betterino is a modern fork of Chatterino — a Twitch chat client redesigned with a refined aesthetic and new features. This API powers badge management, user cosmetics, and authentication via Twitch OAuth.
https://api.ddrx.at/v1
User IDs
Most endpoints accept Internal ID, Twitch ID, or Betterino ID. Example: 3, 784897223, BT433914
Content Type
All request bodies must be sent as application/json. All responses are returned as JSON.
Session Tokens
Betterino uses session tokens obtained via Twitch OAuth. Authenticated requests must include the token in the request header.
X-Betterino-Token: bt_session_xxxxxxxxx
Response Format
All responses follow a consistent envelope structure.
{ "success": true, "data": {} }
{ "success": false, "error": "Message" }
Badge System
Each user can display exactly one visible badge: none, a normal badge, or a collector badge. Collector badges can optionally use a frame overlay.
Tomoe Levels
Badges have levels 0–4 (normal) and 5 (awakened/hidden). Awakened badges count toward collector frames.
Collector Tiers
Unlock collector badges by maxing badges (Tomoe 4+). Tiers: 1, 3, 5, 10, 15.
Public Endpoints
No authentication required. Used primarily by chat clients to fetch badge data.
Returns all users and their currently selected visible badge. Used by chat clients to display badges in real-time.
{ "success": true, "count": 1, "updated_at": "2026-05-15T06:00:00Z", "users": { "784897223": { "betterino_id": "BT433914", "twitch_login": "deidaraxx", "selected_badge": { "selected_type": "collector_badge", "name": "Maxed Collector 5", "url": "https://cdn.ddrx.at/badges/maxed/maxed-5.webp", "frame": { "name": "Bronze Awakening Frame", "url": "https://cdn.ddrx.at/badges/maxed/frames/bronze.webp" } } } } }
Returns the entire public badge catalog including badges, variants, collector tiers, and collector frames.
Returns full public cosmetic data for a user. Accepts Internal ID, Twitch ID, or Betterino ID.
GET /user/784897223
{ "success": true, "data": { "user": { "betterino_id": "BT433914", "display_name": "Deidaraxx", "roles": ["owner", "admin"], "subscribed": true }, "selected_badge": {}, "badges": [], "collection_badge": {}, "awakening_progress": {} } }
Authentication
Endpoints for authenticating via Twitch and managing sessions.
Authenticates a Twitch user using a Twitch access token. Returns a Betterino session token.
{ "access_token": "TWITCH_ACCESS_TOKEN" }
{ "success": true, "auth": { "session_token": "bt_session_xxxxx", "expires_at": "2026-06-01 00:00:00", "user": {} } }
Returns the currently authenticated user's profile based on the session token.
{ "success": true, "user": { "id": 3, "betterino_id": "BT433914", "roles": ["owner", "admin"] } }
Invalidates the current session token. No request body required.
User Actions
Authenticated endpoints for managing your own badges and cosmetics.
Selects which badge is displayed. Supports normal badges, collector badges (with optional frame), or clearing the selection.
{ "selected_type": "user_badge", "id": 2 }
{ "selected_type": "collector_badge", "id": 3, "frame_id": 1 }
{ "selected_type": "none" }
Alternative endpoint to clear the currently selected badge. No request body needed.
Upgrades a badge to the specified Tomoe level. Target level must be higher than current level.
{ "user_badge_id": 2, "target_level": 4 }
{ "success": true, "upgrade": { "new_level": 4, "collection_badge": {} } }
Consumes an awakening unlock and awakens a badge to the hidden Tomoe level 5. Awakened badges count toward collector frames and are excluded from further awakening progress.
{ "user_badge_id": 2 }
Admin Endpoints
Requires an admin or owner session token. These endpoints allow full management of users, badges, and roles.
Returns a list of all registered users.
Returns detailed user information including inventory, roles, collector progress, awakening progress, and selected badge.
{ "slug": "better-plus", "name": "Better Badge", "description": "Main Betterino+ badge", "type": "better_plus", "rarity": "subscription", "active": 1 }
{ "badge_slug": "better-plus", "slug": "bb-month1", "name": "Better Badge Month 1", "unlock_month": 1, "base_image_url": "https://cdn.ddrx.at/badges/better-plus/bb-month1-t0.webp", "animated_image_url": null, "sort_order": 1, "active": 1 }
{ "user": "784897223", "variant_slug": "bb-month1", "source": "admin" }
{ "user_badge_id": 2 }
{ "user_badge_id": 2, "tomoe_level": 5, "awakened": true }
Sets user roles. Owners can manage admins and owners. Admins cannot manage admins or owners. Available roles: owner, admin, moderator, vip, founder, user
{ "user": "784897223", "roles": ["admin", "vip"] }