You're building something. A racing community with real structure — seasons, standings, fair stewarding, broadcast-quality production. Racey gives you every tool to run a professional league without needing a dev team. This guide walks through everything, from your first login to collecting entry fees and broadcasting to thousands.
Getting Started
What Racey is
Racey is a sim racing league management platform. It handles the organizational side of competitive sim racing — the seasons, schedules, results, standings, protests, and broadcasts — so you can focus on building your community and running great events.
Racey doesn't run the simulator. Your races happen in iRacing, ACC, rFactor 2, or AMS2. Racey manages everything around the racing: who's signed up, what the results are, who's leading the championship, and what happens when someone divebombs into Turn 1.
Creating your first league
- Sign up and log in
- Click Create League from your dashboard
- Fill in:
- Name — your league's identity
- Slug — the URL-friendly version (auto-generated, but you can customize it)
- Description — tell potential members what your league is about
- Discipline — road, oval, dirt oval, dirt road, endurance, or multiclass
- Sim — iRacing, ACC, rFactor 2, or AMS2
- Skill level — open, intermediate, advanced, or professional
- Region and timezone — for scheduling
- Visibility — public (anyone can find it) or private (invite only)
- Click Create
Your league is created in draft status. Once you're happy with the setup, activate it to make it visible (if public).
Your league dashboard
The league dashboard is your command center. From here you can access:
- Overview — member count, season status, recent activity
- Seasons — create and manage championships
- Schedule — rounds, tracks, and dates
- Roster — driver registrations
- Results — import, review, publish, and lock race results
- Standings — championship rankings (auto-calculated)
- Scoring — configure point systems
- Stewarding — protests, rulings, penalties
- Teams — team management and standings
- Broadcast — overlay setup for streamers
- Staff — role assignments for your team
- Integrations — Discord and iRacing connections
- Communications — announcements, rulebook updates, and guideline posts
- Race Control — live race operations and marshal tools
- Assets — liveries, setups, telemetry, documents, and shared files
- Settings — league configuration, branding, and billing
- Analytics — league health metrics and driver performance trends
- Announcements — communicate with your members
Understanding plans
Racey has three plans: Free, Pro ($4.99/mo), and Enterprise. You start on Free by default — no trial, no credit card.
Free ($0 forever)
- 1 league, 6 teams, 3 active staff, 2 steward seats
- Unlimited drivers, seasons, and events
- All preset scoring systems
- Full standings, full analytics, basic stewarding
- Discord: results, registrations, announcements, and schedule updates
- Announcements, polls, calendar/iCal, CSV import, data export, season cloning
- Asset storage: 1 GB across personal, team, and league scopes
Pro ($4.99/month or $49.90/year)
Everything in Free, plus:
- Unlimited leagues, teams, staff, and stewards
- Entry fees (Stripe Connect, 0% commission), coupons, blind review, appeals, penalty points
- Custom scoring, drop weeks, multiclass
- Race Control panel, OBS broadcast overlays, API access, custom branding
- Organization dashboard, multi-league standings, priority support
- Discord: protest rulings, multi-channel routing, results commands, and standings commands
- Asset storage: 25 GB across personal, team, and league scopes
Enterprise (Custom pricing)
Everything in Pro, plus:
- White-label options (coming soon)
- Dedicated onboarding and support
- Unlimited asset storage
Current limitations
White-label options are still marked as coming soon in the product. Endurance teams and multiclass scoring can run today; stint tracking is handled by race-control managers where the Race Control stint tool is enabled, not by team or driver self-service.
Founding member program
The original founding leagues keep Enterprise free, forever — a permanent perk applied manually by the platform team. The public founding-league application window is closed; new leagues should choose Free, Pro, or contact Racey for a normal sales/support conversation.
League Configuration
League settings
Under Settings, you can configure:
- Name and description — update at any time
- Logo and banner — visual branding for your league page
- Visibility — toggle between public and private
- Discipline — road, oval, dirt oval, dirt road, endurance, or multiclass
- Skill level — open, intermediate, advanced, or professional
- Region and timezone — affects how dates are displayed
- Code of conduct — text that drivers must accept when joining
- Custom rules — additional rules specific to your league
Sim selection
Racey currently supports four simulators:
| Sim | Integration level |
|---|---|
| iRacing | Customer ID matching plus CSV/manual result import today; OAuth profile sync and direct session import are paused pending upstream OAuth access |
| Assetto Corsa Competizione | Interface ready — CSV result import |
| rFactor 2 | Interface ready — CSV result import |
| Automobilista 2 | Interface ready — CSV result import |
iRacing gets the strongest identity matching today: drivers save their iRacing Customer ID, Racey matches imported result rows to linked drivers, and admins review unmatched rows during import. Automatic iRacing profile sync and direct session import are built around OAuth access, but are not available while iRacing's new OAuth client access is paused. For other sims, use CSV import or manual entry.
Staff management
Your league needs a team. Here's how to build one:
- Go to Settings > Staff Management
- Click Add Staff
- Enter the person's email or username
- Assign one or more roles
The role hierarchy
| Role | Permissions | Best for |
|---|---|---|
| League Admin | 43 permissions — full league control | Co-owners, trusted lieutenants |
| Race Director | 21 permissions — schedule, results, roster, scoring, race control, announcements, analytics, assets | Operational managers |
| Steward | 5 permissions — review protests, issue rulings, apply penalties, observe race control, read assets | Fair-minded, experienced racers |
| Broadcaster | 4 permissions — broadcast tools, analytics, observe race control, read assets | Streamers and commentators |
| Team Captain | 8 permissions — manage their team plus full asset lifecycle | Team leaders |
| Driver | 4 permissions — file protests, read/create assets, create new asset versions | Every registered racer |
See the Quick Reference for the complete 44-permission matrix.
Inviting someone to staff creates an invited row that doesn't consume a staff seat until they accept. Only active staff count against your plan's staff limit.
You can assign multiple roles to one person. A race director who also stewards would get both roles and the combined permissions.
To revoke a role, go to the staff member's entry and remove the role assignment. Their permissions update immediately.
Seasons and Scheduling
Creating a season
- Go to your league and click Create Season
- Fill in:
- Name — must be unique within the league (e.g., "Season 3 — Road to Glory")
- Start and end dates — when the championship runs
- Scoring system — choose a preset or build custom (see Scoring below)
- Save
Seasons progress through these statuses:
| Status | What's happening |
|---|---|
| Draft | Setting things up — not visible to drivers |
| Registration | Open for driver sign-ups |
| Active | Racing is underway |
| Playoff | Final rounds / elimination format |
| Completed | All rounds finished, standings final |
| Archived | Historical record |
You can clone a completed season to quickly set up the next one. Cloning copies the scoring configuration, car classes, and schedule structure.
Schedule builder
Each season has a schedule of rounds. To add one:
- Go to the season's Schedule tab
- Click Add Round
- Set the track, date/time, and any configuration details (layout, weather, session length)
- Save
Repeat for every round in the season. You can reorder, edit, or delete rounds at any time before they're completed.
Registration workflow
When your season is ready, change its status to Registration to start accepting drivers.
Drivers apply through the season page. Each registration includes:
- Car number selection (must be unique per season — Racey checks for conflicts)
- Car class selection (for multi-class seasons)
- Team assignment (if applicable)
- Application data (custom form responses if you've set them up)
- Code of conduct acceptance
- Entry fee payment (if configured)
You (or your race director) review each application and approve, deny, or waitlist it. Drivers get notified of the outcome.
Registration statuses:
| Status | Meaning |
|---|---|
| Pending | Waiting for review |
| Approved | Driver is in |
| Denied | Application rejected |
| Waitlisted | Roster full, waiting for a spot |
| Withdrawn | Driver pulled out |
Managing your roster
Under Roster, you can:
- View all registrations by status
- Approve or deny pending applications
- Edit car numbers (resolve conflicts)
- Assign or change car classes
- View driver sim profiles (iRating, safety rating) if linked
Race Operations
Results import
After each race, you need to get results into Racey. Three methods are available:
iRacing CSV/manual import
For iRacing today:
- Export the race results from iRacing
- Go to League Admin > Results
- Upload the CSV or enter the result manually
- Review any unmatched drivers and map them by iRacing Customer ID
- Confirm the import
Direct iRacing session import is disabled until upstream OAuth access is available again.
CSV upload
- Go to the round page
- Click Import Results
- Upload your CSV file
- Map columns to Racey fields
- Review and confirm
Manual entry
- Go to the round page
- Add results one driver at a time
- Enter position, laps, fastest lap, incidents, finish status
Publishing results
Results progress through four states:
| State | What it means | Who can set it |
|---|---|---|
| Pending | Imported but unreviewed | Auto (on import) |
| Reviewed | Checked by staff | Race Director, Admin |
| Official | Published — counts toward standings | Race Director, Admin |
| Locked | Finalized — no edits | Admin only |
When you publish results (move to Official):
- Championship standings recalculate automatically
- All registered drivers receive notifications
- Discord notification fires (if configured)
- Broadcast overlays update with new data
Corrections
If you spot an error after publishing, use Results > Edit to correct individual entries. Every correction is tracked:
- What was changed (field, old value, new value)
- Who changed it
- Why (reason field)
Locked results cannot be edited — you must unlock them first (admin only).
Standings
Standings are calculated automatically by the scoring engine. You don't manually compute points — Racey handles it based on your scoring configuration.
What goes into standings:
- Position points from each round
- Bonus points (pole, fastest lap, laps led, positions gained, clean race)
- Stage points (if using NASCAR-style staging)
- Penalty deductions (from steward rulings)
- Drop weeks (lowest N rounds excluded)
- Tiebreakers: most wins, then most podiums, then best single finish
Standings update every time results are published or a points penalty is applied.
Scoring
Scoring presets
Racey ships with 8 scoring presets on every plan. Pro and Enterprise also unlock fully custom scoring configurations.
F1 (Formula 1)
- Points: 25, 18, 15, 12, 10, 8, 6, 4, 2, 1
- Bonuses: Fastest lap = 1 point
- Best for: Road racing series where fastest lap matters
NASCAR
- Points: 40, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
- Bonuses: Most laps led = 1 point
- Special: Stage points (10, 9, 8, 7, 6, 5, 4, 3, 2, 1 per stage) and manufacturer scoring (best 3 drivers)
- Best for: Stock car leagues with multi-stage races
IndyCar
- Points: 50, 40, 35, 32, 30, 28, 26, 24, 22, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5
- Bonuses: Pole = 1 point, most laps led = 2 points
- Best for: Open-wheel and oval series
IMSA / WEC (Multi-Class Endurance)
- Points: 25, 18, 15, 12, 10, 8, 6, 4, 2, 1
- Bonuses: Pole = 1 point
- Special: Multi-class scoring (each class scored separately) and team scoring (sum all members, default 2 per team)
- Best for: Endurance racing with multiple car classes
Oval Weekly
- Points: 43, 42, 41, 40, 39... down to 1 (43 positions)
- Bonuses: Most laps led = 1 point
- Special: Drop 2 worst rounds
- Best for: Weekly oval series (available on Free plan)
Road Weekly
- Points: 25, 18, 15, 12, 10, 8, 6, 4, 2, 1
- Bonuses: Clean race (0 incidents) = 2 points
- Special: Drop 2 worst rounds
- Best for: Weekly road series rewarding clean racing (available on Free plan)
GT3 Sprint
- Points: 25, 20, 16, 13, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
- Bonuses: Pole = 1 point, fastest lap = 1 point
- Best for: GT3 sprint formats
Heat + Feature
- Heat points: 10, 8, 6, 5, 4, 3, 2, 1
- Feature points: 25, 20, 16, 13, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
- Both heat and feature points sum together for the round total
- Best for: Short track formats with qualifying heats
Custom scoring
On Pro and Enterprise plans, you can build fully custom scoring configurations:
- Position points — define any number of positions with any point values
- Bonus points — set values for pole, fastest lap, most laps led, most positions gained, clean race, attendance
- Drop weeks — exclude N worst rounds from championship
- Best of — keep only the top N rounds
- Stage points — define points for each stage finish
- Heat + Feature — separate point arrays for heats and features
- Multi-class — score classes separately with individual standings
- Team scoring — choose method: best N drivers, sum all, or average all
- Manufacturer scoring — same methods as team scoring
- Half points — automatically apply 50% points when a race completes less than half its scheduled laps
How ties are broken
When two drivers have the same total points:
- Most wins
- Most podiums
- Best single finish position
Stewarding
Racey includes a structured stewarding system inspired by FIA race governance. Basic stewarding (protests, rulings, penalties) is available on all plans. Advanced features — blind review, appeals, and penalty points — require Pro or Enterprise.
For the full details, see the Steward Guide and the Stewarding Reference.
Enabling stewarding
Basic stewarding — protests, rulings, and penalties — is available on every plan including Free. Blind review, appeals process, and penalty points tracking are Pro/Enterprise features.
Appointing stewards
- Go to Settings > Staff Management
- Invite the people you want as stewards
- Assign them the Steward role
We recommend 3 to 5 stewards per league. This gives you enough people to staff a panel without any individual being overloaded. Stewards get five permissions: protest.review, protest.rule, penalty.apply, race_control.observe, and asset.read.
Choose people who:
- Are experienced racers who understand racing rules
- Can be objective and fair
- Are willing to review evidence and write reasoned decisions
- Won't let personal relationships influence their rulings
Blind review
Blind review anonymizes the drivers in a protest. When enabled:
- Stewards see "Driver A" and "Driver B" instead of real names
- The submitter's identity is hidden
- Avatars and profile info are stripped
You (as league admin) always see real names, even during blind review. You can enable blind review on a per-protest basis — useful for controversial incidents or close championship battles.
How it works technically: labels are assigned deterministically (complainants first, then respondents, then witnesses) using a stable ordering, so the same driver always gets the same letter within that protest.
Managing protests
When a driver files a protest:
- You'll see it in your Stewarding dashboard
- Assign stewards — select 2-3 stewards for the panel. The system automatically flags conflicts of interest (shared teams, self-assignment).
- Optionally enable blind review
- The protest status moves to Under Review
- Stewards review evidence, add notes, and vote
- A steward issues a ruling with verdict, explanation, and any penalties
- Involved parties may appeal (once, before the deadline)
- You or a reviewer resolve any appeals
- The protest closes
Penalties
Stewards can apply 12 types of penalties:
| Type | Sporting impact |
|---|---|
| Warning | None — formal notice only |
| Reprimand | None — on record |
| Probation | None — conditional |
| Time penalty | Seconds added to race time |
| Position penalty | Positions lost in classification |
| Points deduction | Championship points removed (affects standings directly) |
| Grid penalty | Grid positions lost for future race |
| Pit start | Must start from pit lane |
| Qualifying ban | Cannot qualify for a future round |
| Race ban | Cannot race in a future round |
| Suspension | Banned for multiple rounds |
| Disqualification | Removed from race results |
Only points deduction penalties directly affect championship standings. Other types are recorded but enforced operationally.
Teams and Organizations
Teams
Teams are managed per season. To set up teams:
- Go to the season's Teams section
- Create teams with names, logos, and slugs
- Assign a team captain who can invite drivers
- Team captains send invitations; drivers accept or decline
Team member roles:
- Captain — manages the team roster
- Co-captain — backup leadership (same permissions)
- Driver — races under the team banner
Team standings are calculated based on the scoring configuration's team scoring method:
- Best N — sum the top N drivers' points per team
- Sum all — every team member's points count
- Average all — average across all members
For endurance racing, race-control managers can track driver stints in Race Control when the stint workflow is enabled. Team and driver self-service stint management is not available today.
Organizations
Organizations let you manage multiple leagues under one umbrella. An organization has:
- Owner — full control
- Admins — manage leagues and members
- Members — access based on their league roles
Each organization can own multiple leagues, share branding, and manage subscriptions at the org level. This is particularly useful for large communities running leagues across different sims or disciplines.
Billing and Finances
Stripe Connect
Racey uses Stripe Connect for entry fee collection with a zero-commission model. Here's what that means:
- Stripe processes payments directly to your connected Stripe account
- Racey never touches the money — it goes straight to you
- You pay only Stripe's standard processing fees (~2.9% + $0.30 per transaction)
- Racey takes zero commission on entry fees
To set up Stripe Connect:
- Go to Settings > Billing
- Click Connect with Stripe
- Complete Stripe's onboarding process (business info, bank account, identity verification)
- Once verified, you can set entry fees on your seasons
Stripe Connect requires a Pro or Enterprise plan (connectEnabled).
Entry fees
Once Stripe is connected:
- Go to your season settings
- Set the entry fee amount
- Optionally set early-bird pricing with a deadline — drivers who register before the deadline pay a reduced rate
- Drivers pay during registration — the fee is collected before their application is submitted
Coupons and discounts
You can create coupons for your league:
- Go to Settings > Billing > Coupons
- Create a coupon with:
- Code — what drivers enter to get the discount
- Type — percentage off or fixed amount off
- Value — the discount amount
- Max uses — how many times the coupon can be redeemed
- Expiry date — when the coupon stops working
Refunds
If you need to refund an entry fee:
- Go to Settings > Billing > Payments
- Find the payment
- Click Refund
Refunds are processed through the connected Stripe account. The refund appears on the driver's statement within 5-10 business days depending on their bank.
Broadcasting
Broadcast overlays let your streamers display professional race graphics in OBS. This requires a Pro or Enterprise plan (broadcastOverlays).
For the full broadcaster setup guide, see the Broadcaster Guide.
The six overlay types
- Timing Tower — position tower with gaps, fastest laps, pit/DNF status
- Championship Standings — lower-third bar chart of the championship
- Driver Card — featured driver popup with stats and photo
- Incident Ticker — recent stewarding notices, color-coded by severity
- Fastest Lap — stinger highlighting the current fastest lap holder
- Battle Tracker — closest on-track battle with gap visualization
All overlays render at 1920x1080 with transparent backgrounds for OBS browser sources.
Getting overlay URLs for broadcasters
- Assign the Broadcaster role to your streamer
- They access the Broadcast Dashboard
- Each overlay type has a copyable URL
- URLs include the
leagueIdparameter and optionally aroundIdfor specific rounds
Token-protected overlays
For private leagues, you can protect overlays with a signed token:
- Go to League Settings
- Set an overlay secret
- Racey generates HMAC-SHA256 tokens tied to your league
- Share the token with your broadcaster — they append it to the overlay URL
- Without a valid token, the overlay returns 403 Forbidden
If no overlay secret is set, overlays are public (accessible without a token).
OBS setup summary
Tell your broadcasters:
- Add a Browser Source in OBS
- Paste the overlay URL
- Set dimensions to 1920x1080
- Transparent background — it layers over race footage
- Data updates in real time via SSE with 30-second heartbeat and automatic reconnection
Discord Integration
Discord integration posts league events into your server and, when the bot is installed, gives members slash commands for league lookups. Basic delivery is available on every plan. Pro and Enterprise add protest-ruling posts, multi-channel routing, and the results/standings command set.
Setting up notifications
Go to League Admin > Integrations > Discord. There is no Guild ID field in Racey; the bot learns the Discord server when an admin runs /setup from that server.
Option A: webhook only
- In Discord, open Server Settings > Integrations > Webhooks
- Create a webhook for the channel you want Racey to post into
- Copy the webhook URL
- Paste it into the Webhook URL field on Racey
- Click Save Webhook
- Click Send Test Message to verify delivery
If the webhook is revoked or deleted in Discord, Racey detects the Discord 404 on the next publish attempt and disables the integration so the admin UI shows the revoked-webhook state instead of silently failing.
Option B: bot integration
- Invite the Racey Discord bot to your server using the Discord Bot Setup guide
- In Discord, run
/setup <your-league-slug> - Pick the notifications channel and, if you have Pro or Enterprise, a separate results channel
- Return to League Admin > Integrations > Discord and confirm the bot configuration shows as connected
For private categories or private channels, explicitly add the Racey app or bot role to the category before running /setup. Discord will otherwise return Missing Access even if the bot is present in the server.
Toggle which events you want Racey to publish:
| Notification | What gets posted |
|---|---|
| Results published | Podium display with round results |
| Protest rulings | Verdict and penalty summary (Pro/Enterprise) |
| Registration open | Season registration is now accepting drivers |
| Registration closed | Registration period has ended |
| Schedule updates | Round date, track, or session updates |
| Announcements | League announcements |
Slash commands and linked drivers
The bot adds these commands once it is invited and /setup has linked the server to a league:
| Command | Who uses it | What it does |
|---|---|---|
/setup | League admins | Links the Discord server to a Racey league |
/link | Drivers | Sends a DM verification URL to link Discord to Racey |
/standings | Members on Pro+ leagues | Shows championship standings |
/results | Members on Pro+ leagues | Shows recent race results |
/schedule | Members on Pro+ leagues | Shows upcoming rounds |
/leaderboard | Members on Pro+ leagues | Shows league leaderboard data |
/myresults | Linked drivers on Pro+ | Shows the linked driver's recent finishes |
/penalty-points | Linked drivers on Pro+ | Shows the linked driver's active penalty points |
/protest | Drivers on Pro+ leagues | Sends a link to file a protest in Racey |
Once a driver links with /link, Racey can use that linked account for personal commands and bot DMs. The most important DM is a protest ruling summary when stewards rule on a protest the driver filed or was involved in.
What gets posted
Discord notifications use rich embeds with:
- League branding (name, logo)
- Round/season context
- Relevant data (podium finishers, ruling verdicts, registration links)
Notifications fire automatically when the triggering event occurs — you don't need to manually post anything. For the canonical setup flow and command list, use Discord Bot Setup.
Inviting Members
Email invites
- Go to Settings > Invites
- Click Invite Member
- Enter the person's email address
- Choose their initial role (or just invite as a member)
- Send
The invite includes:
- A link to join your league
- Your league name and description
- The role they're being invited to
- An expiry date (invites don't last forever)
Bulk invites
Have a roster from last season? Use bulk invites:
- Go to Settings > Invites
- Click Bulk Invite
- Enter multiple email addresses
- Set the role for all of them
- Send
Sharing your league link
If your league is public, anyone can find it in the league browser. Share the direct URL with potential members:
https://racey.gg/leagues/your-league-slug
Private leagues won't appear in search — members need a direct invite.
Managing pending invites
Under Invites, you can see:
- Pending — sent but not yet accepted
- Accepted — invite used, member joined
- Expired — past the expiry date
- Revoked — you cancelled the invite
You can revoke any pending invite at any time.
Related Guides
- Steward Guide — how your stewards should approach their role
- Driver Guide — what the experience looks like for your members
- Broadcaster Guide — detailed OBS overlay setup for your streamers
- Race Director Guide — the operational role you'll likely delegate to
- Quick Reference — permission matrix, plan comparison, and workflow cheat sheets
- Stewarding Reference — technical stewarding documentation