Your one-page cheat sheet for Racey. Permissions, plans, workflows, and troubleshooting — all in one place.
Role Permission Matrix
Racey has 44 permissions across 7 roles. Here's the complete mapping.
League & Settings
| Permission | Platform Admin | League Admin | Race Director | Steward | Broadcaster | Team Captain | Driver |
|---|
league.manage | Yes | Yes | — | — | — | — | — |
league.settings | Yes | Yes | — | — | — | — | — |
league.delete | Yes | Yes | — | — | — | — | — |
Seasons
| Permission | Platform Admin | League Admin | Race Director | Steward | Broadcaster | Team Captain | Driver |
|---|
season.create | Yes | Yes | — | — | — | — | — |
season.edit | Yes | Yes | — | — | — | — | — |
season.delete | Yes | Yes | — | — | — | — | — |
Schedule
| Permission | Platform Admin | League Admin | Race Director | Steward | Broadcaster | Team Captain | Driver |
|---|
schedule.edit | Yes | Yes | Yes | — | — | — | — |
Roster
| Permission | Platform Admin | League Admin | Race Director | Steward | Broadcaster | Team Captain | Driver |
|---|
roster.view | Yes | Yes | Yes | — | — | — | — |
roster.manage | Yes | Yes | Yes | — | — | — | — |
roster.approve | Yes | Yes | Yes | — | — | — | — |
Results
| Permission | Platform Admin | League Admin | Race Director | Steward | Broadcaster | Team Captain | Driver |
|---|
results.import | Yes | Yes | Yes | — | — | — | — |
results.edit | Yes | Yes | Yes | — | — | — | — |
results.publish | Yes | Yes | Yes | — | — | — | — |
results.lock | Yes | Yes | — | — | — | — | — |
Scoring
| Permission | Platform Admin | League Admin | Race Director | Steward | Broadcaster | Team Captain | Driver |
|---|
scoring.configure | Yes | Yes | Yes | — | — | — | — |
scoring.override (reserved) | Yes | Yes | — | — | — | — | — |
Protests & Penalties
| Permission | Platform Admin | League Admin | Race Director | Steward | Broadcaster | Team Captain | Driver |
|---|
protest.submit | Yes | Yes | — | — | — | — | Yes |
protest.review | Yes | Yes | — | Yes | — | — | — |
protest.rule | Yes | Yes | — | Yes | — | — | — |
protest.assign | Yes | Yes | — | — | — | — | — |
penalty.apply | Yes | Yes | — | Yes | — | — | — |
penalty.edit (reserved) | Yes | Yes | — | — | — | — | — |
Announcements
| Permission | Platform Admin | League Admin | Race Director | Steward | Broadcaster | Team Captain | Driver |
|---|
announcement.create | Yes | Yes | Yes | — | — | — | — |
announcement.publish | Yes | Yes | Yes | — | — | — | — |
Teams
| Permission | Platform Admin | League Admin | Race Director | Steward | Broadcaster | Team Captain | Driver |
|---|
team.create | Yes | Yes | — | — | — | — | — |
team.manage | Yes | Yes | — | — | — | Yes | — |
Race Control
Withdrawn 2026-08-29. Race Control and the Broadcaster Panel were removed from the
product. The permissions below still exist in the role system, but they no longer unlock a
reachable page — granting them changes nothing today. They are documented because roles that
carry them are still assignable, and because the surfaces return if the feature does.
| Permission | Platform Admin | League Admin | Race Director | Steward | Broadcaster | Team Captain | Driver |
|---|
race_control.manage | Yes | Yes | Yes | — | — | — | — |
race_control.assist | Yes | Yes | Yes | — | — | — | — |
race_control.marshal | Yes | Yes | Yes | — | — | — | — |
race_control.observe | Yes | Yes | Yes | Yes | Yes | — | — |
Broadcast
Withdrawn 2026-08-29. Race Control and the Broadcaster Panel were removed from the
product. The permissions below still exist in the role system, but they no longer unlock a
reachable page — granting them changes nothing today. They are documented because roles that
carry them are still assignable, and because the surfaces return if the feature does.
| Permission | Platform Admin | League Admin | Race Director | Steward | Broadcaster | Team Captain | Driver |
|---|
broadcast.access | Yes | Yes | — | — | Yes | — | — |
Staff & Billing
| Permission | Platform Admin | League Admin | Race Director | Steward | Broadcaster | Team Captain | Driver |
|---|
billing.manage | Yes | Yes | — | — | — | — | — |
staff.manage | Yes | Yes | — | — | — | — | — |
staff.invite | Yes | Yes | — | — | — | — | — |
Analytics & API
| Permission | Platform Admin | League Admin | Race Director | Steward | Broadcaster | Team Captain | Driver |
|---|
analytics.view | Yes | Yes | Yes | — | Yes | — | — |
api.keys | Yes | Yes | — | — | — | — | — |
| Permission | Platform Admin | League Admin | Race Director | Steward | Broadcaster | Team Captain | Driver |
|---|
platform.admin | Yes | — | — | — | — | — | — |
Assets (Liveries, Setups)
| Permission | Platform Admin | League Admin | Race Director | Steward | Broadcaster | Team Captain | Driver |
|---|
asset.read | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
asset.create | Yes | Yes | Yes | — | — | Yes | Yes |
asset.update | Yes | Yes | Yes | — | — | Yes | — |
asset.delete | Yes | Yes | — | — | — | Yes | — |
asset.version.create | Yes | Yes | Yes | — | — | Yes | Yes |
asset.version.promote | Yes | Yes | Yes | — | — | Yes | — |
asset.share.manage | Yes | Yes | Yes | — | — | Yes | — |
Totals by role
| Role | Permission count |
|---|
| Platform Admin | 44 (all) |
| League Admin | 43 |
| Race Director | 21 |
| Steward | 5 |
| Broadcaster | 4 |
| Team Captain | 8 |
| Driver | 4 |
What's Included
Everything Racey ships is free for every league. There is no Pro tier to buy and no plan to pick —
no league, team, staff, steward, driver, season or event caps. The list below is what a new account
gets on day one.
| Area | Included |
|---|
| Leagues & teams | Unlimited leagues, teams, staff and steward seats; unlimited drivers, seasons and events |
| Scoring | Every preset (F1, NASCAR, IndyCar, IMSA/WEC, GT3 Sprint, Oval/Road Weekly, Heat + Feature), custom scoring, drop weeks, multiclass, team scoring |
| Stewarding | Protests, rulings, 12 penalty types, blind review, independent voting, appeals, penalty points |
| Payments | Entry fees via Stripe Connect at 0% commission, coupons and discount codes |
| Discord | Results, registrations, protest rulings, announcements, schedule updates, multi-channel routing, slash commands |
| Data | CSV result import, CSV/JSON export, calendar/iCal feed, API keys for the read API |
| Analytics | Full driver, season and league analytics, organization dashboard, multi-league standings |
| Branding | Custom logo and colours |
| AI | Race reports, scoring recommendations, protest summaries |
The one limit
| Limit | Value |
|---|
| Asset storage | 1 GB each for personal, team and league assets |
Storage is a real recurring hosting cost rather than a plan lever, which is why it is the only cap
left. Everything else opened up on 2026-08-27.
Not included
- Broadcast overlays — withdrawn on 2026-08-27. They rendered from imported results rather than
live timing, and Racey has no live timing ingest to drive them.
- Race Control and the Broadcaster Panel — withdrawn on 2026-08-29. The race-day panel (flags,
safety car/VSC, messages, incidents, stints, documents), the league Broadcast hub and the
Broadcaster Panel were removed along with the rest of the broadcaster offer.
- White-label branding, dedicated onboarding and the org-wide activity trail — Enterprise
infrastructure, held by Founding Leagues. White-label is not built yet.
Special pricing
| Program | Price | Details |
|---|
| Founding Leagues | Free forever | Existing founding leagues keep permanent Enterprise access. The public application window is closed. |
Key Workflows
Create a league
- Sign up and log in
- Click Create League — enter name, description, discipline, sim
- Invite staff (admin, race director, stewards, broadcasters)
Set up a season
- Go to your league and click Create Season
- Configure scoring (choose a preset or build custom)
- Add rounds to the schedule (tracks, dates)
- Open registration
Run a race
- Race happens in the simulator
- Import results (CSV upload or manual entry; iRacing direct session import is paused)
- Review for accuracy
- Publish — standings update automatically
Handle a protest
- Driver files a protest with evidence
- League admin assigns stewards
- Stewards review, discuss (notes), and vote
- Steward issues ruling with explanation
- Apply penalties if warranted
- Involved parties may appeal (one chance, before deadline)
Collect entry fees
- League admin enables Stripe Connect in billing settings
- Complete Stripe onboarding (connect your bank account)
- Set entry fee amounts on the season (optional early-bird pricing)
- Drivers pay during registration — money goes directly to your Stripe account
- Process refunds through the payments dashboard if needed
Manage teams
- League admin creates teams for the season
- Team captain invites drivers
- Drivers accept team invitations
- Team standings calculated automatically based on scoring method (best N, sum all, or average all)
Set up Discord notifications
- Go to League Admin > Integrations > Discord
- Choose webhook-only setup or invite the Racey bot
- For webhook-only setup, paste the Discord webhook URL and send a test message
- For bot setup, follow Discord Bot Setup, then run
/setup <league-slug> in Discord
- Choose which events trigger notifications: results, registration, schedule updates, announcements, and Pro/Enterprise protest rulings
Discord Slash Commands
| Command | Availability | Purpose |
|---|
/setup | All plans | Link a Discord server to a Racey league |
/link | All plans | Link Discord to a Racey account by DM token |
/protest | Pro / Enterprise | Get a direct Racey protest filing link |
/standings | Pro / Enterprise | Show championship standings |
/results | Pro / Enterprise | Show recent race results |
/schedule | Pro / Enterprise | Show upcoming rounds |
/leaderboard | Pro / Enterprise | Show league leaderboard data |
/myresults | Linked Pro+ drivers | Show the linked driver's recent finishes |
/penalty-points | Linked Pro+ drivers | Show the linked driver's active penalty points |
The /ask AI assistant command is hidden until the production AI integration is enabled.
Scoring Presets at a Glance
| Preset | Top-3 Points | Key Feature |
|---|
| F1 | 25, 18, 15 | Fastest lap bonus (1 pt) |
| NASCAR | 40, 35, 34 | Stage points + manufacturer scoring |
| IndyCar | 50, 40, 35 | Pole bonus (1 pt) + most laps led (2 pts) |
| IMSA/WEC | 25, 18, 15 | Multi-class + team scoring |
| Oval Weekly | 43, 42, 41 | Drop 2 worst rounds |
| Road Weekly | 25, 18, 15 | Clean race bonus (2 pts) + drop 2 |
| GT3 Sprint | 25, 20, 16 | Pole + fastest lap bonuses |
| Heat + Feature | Feature: 25, 20, 16 | Separate heat and feature point arrays |
All plans include all 8 presets. Pro and Enterprise also unlock custom scoring.
Common Troubleshooting
1. "I can't create a second league"
There is no league cap — free accounts can create as many as they like. If creation fails, it is a
validation or permission error, not a plan limit; check the error message on the form.
2. "Standings aren't updating after publishing results"
Standings recalculate automatically when results go to Official status. If they look wrong, check the scoring configuration and whether penalties have been applied.
3. "Driver can't register — says they're at the limit"
The season might be full (check max roster size), or the league may have hit a plan limit. Have the league admin check their subscription status.
4. "Discord notifications aren't working"
Check that: (1) the league is configured at League Admin > Integrations > Discord, (2) webhook-only setup has a valid webhook URL, or bot setup has completed /setup, (3) private Discord categories explicitly grant the Racey bot access, and (4) the specific notification type is toggled on. Results, registrations, announcements, and schedule updates are available on all plans. Protest rulings, multi-channel routing, and results/standings commands require Pro or Enterprise.
5. "I filed a protest but nothing is happening"
The league admin needs to assign stewards to your case. If it's been a while, reach out to your league admin directly.
6. "My drop weeks aren't being applied"
Drop weeks are configured per scoring preset. Check that the season's scoring config has drop weeks enabled and the count is correct. Note that if you've raced fewer rounds than the drop count, nothing gets dropped yet.
Only league admins can lock results (results.lock). Race directors can publish but not lock.
8. "Entry fee payment failed"
The league admin's Stripe Connect must be verified. Check that the connected account is active and the entry fee is configured on the season. If it's a driver payment issue, have them check their payment method.