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 (fully integrated), 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
- Settings — league configuration, branding, Discord, billing
- Analytics — league health metrics and driver performance trends
- Announcements — communicate with your members
Understanding plans
Racey has three plans. Every new account starts with a 90-day reverse trial that gives you Pro-level access so you can explore everything before deciding.
Free ($0/forever)
- 1 league, 1 season, 30 drivers max
- 2 scoring presets (Road Weekly and Oval Weekly)
- CSV import, basic standings
- "Powered by Racey" watermark on public pages and overlays
Pro ($9.99/month or $79/year)
Everything in Free, plus:
- Unlimited leagues, seasons, and drivers
- All 8 scoring presets + custom scoring
- 6 broadcast overlays for OBS
- Full stewarding system (protests, blind review, penalties, appeals)
- Analytics dashboard
- Discord integration
- Public API access and webhooks
- Stripe Connect for entry fees (zero commission)
- Season cloning
- Priority support
- No watermark
Enterprise ($29/month, custom annual pricing)
Everything in Pro, plus:
- White-label branding
- Custom domain support
- SSO / SAML integration
- Dedicated onboarding and SLA guarantee
- Multi-league organization management
The 90-day reverse trial
When you sign up, you immediately get access to Pro features for 90 days. The trial has slightly narrower limits than full Pro (2 leagues and 3 seasons instead of unlimited), but all features are unlocked.
At the end of 90 days:
- Your data is never deleted — everything stays accessible
- Read access continues — you can view standings, results, and all your data
- Mutations are gated — creating seasons, importing results, filing protests, and registering for seasons require an upgrade
- You can upgrade at any time to unlock everything again
- You can also stay on Free if 1 league and 1 season is enough
You'll receive email reminders at 30 days remaining, 15 days, 5 days, 1 day, and when the trial ends.
Founding member program
The first 5 leagues on Racey receive permanent Enterprise access at no cost. This is a thank-you to the earliest adopters. Founding member status is granted by the platform admin and cannot be revoked once the league is established.
Launch offer
A limited-time promotion: 45 spots at $6.99/month or $59/year (compared to the standard $9.99/$79). The price is locked for life — it never increases as long as the subscription stays active. One offer per user, one per league.
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 | Full — OAuth login, profile sync (iRating, safety rating, licenses), result import from sessions |
| 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 deepest integration: drivers can link their iRacing account, Racey auto-syncs their sim profile, and you can import results directly from iRacing league sessions. For other sims, you'll 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 | 33 permissions — full league control | Co-owners, trusted lieutenants |
| Race Director | 12 permissions — schedule, results, roster, scoring, announcements, analytics | Operational managers |
| Steward | 3 permissions — review protests, issue rulings, apply penalties | Fair-minded, experienced racers |
| Broadcaster | 3 permissions — broadcast tools, overlays, analytics | Streamers and commentators |
| Team Captain | 1 permission — manage their team's roster | Team leaders |
| Driver | 1 permission — file protests | Every registered racer |
See the Quick Reference for the complete 37-permission matrix.
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 (Pro/Enterprise required via seasonCloningEnabled). 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 import
If your league is linked to iRacing:
- Go to the round page
- Click Import from iRacing
- Select the session
- Review and confirm
This automatically pulls positions, lap times, fastest laps, incidents, laps led, and finish statuses.
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. Free plans get Road Weekly and Oval Weekly. Pro and Enterprise get all 8 plus custom 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. This is one of the platform's most powerful features — and it's available on Pro and Enterprise plans.
For the full details, see the Steward Guide and the Stewarding Reference.
Enabling stewarding
Stewarding is automatically available when your league is on a Pro or Enterprise plan (or during the 90-day trial). There's no separate toggle — if stewardingEnabled is true for your plan, it works.
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 three permissions: protest.review, protest.rule, and penalty.apply.
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, teams can manage driver stints — tracking which driver was behind the wheel during each portion of the race, with lap ranges.
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 (overlaysEnabled).
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 requires a Pro or Enterprise plan (discordEnabled).
Setting up notifications
- Go to League Settings > Discord
- Enter your Discord webhook URL (create one in your Discord server's channel settings > Integrations > Webhooks)
- Toggle which notification types you want:
| Notification | What gets posted |
|---|---|
| Results published | Podium display with round results |
| Protest ruling | Verdict and penalty summary |
| Registration open | Season registration is now accepting drivers |
| Registration closed | Registration period has ended |
- Test your webhook — send a test message to verify it's working
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.
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