ECRO Rider Guide
Welcome to ECRO - the E-Cycling Racing Organization. This guide covers everything you need to know to compete in ECRO races.
Quick Start
1. Create Your Account
- Go to ecro.app/register
- Sign up with your email
- Verify your email address
- Complete the onboarding wizard — a guided flow that walks you through Zwift connection, Discord, profile setup, equipment verification, and license purchase. Steps can be skipped and completed later.
2. Set Up Your Profile
From your Dashboard, go to Account and complete:
- Profile: Name, country, timezone, languages, preferred riding hours
- Connections: Link your Zwift account (required to race)
- License: Purchase your ECRO Rider License (required to earn points)
3. Connect Zwift
ECRO uses your Zwift account to track race results. To connect:
- Go to Account → Connections
- Click "Connect Zwift"
- Authorize ECRO to access your Zwift data
- Your Zwift ID will be linked to your ECRO profile
4. Get Your License
An ECRO Rider License is required to:
- Earn championship points
- Appear in official standings
- Join teams
To purchase:
- Go to Account → License
- Click "Purchase License"
- Complete checkout (Stripe)
- Your license activates immediately
License Duration: Valid for the entire season
5. Verify Equipment (Categories A & B)
If you're racing in Category A or B, you must verify your equipment:
- Go to Equipment from your Dashboard
- Upload a photo of your power meter or smart trainer
- Include the serial number visible in the photo
- Wait for admin approval (usually within 48 hours)
Equipment Requirements by Category:
| Category | Smart Trainer | Power Meter | HRM | Dual Recording |
|---|---|---|---|---|
| A | Required | - | Required | Strongly encouraged |
| B | Required | - | Required | Encouraged |
| C | Allowed | Allowed | Required | Optional |
| D | Allowed | Allowed | Required | Optional |
| E | Allowed | Allowed | Required | Optional |
Note: zPower (virtual power from dumb trainers) is not allowed in any category.
Understanding Your Category
ECRO uses a 5-tier category system based on your vELO rating from ZwiftRacing.app.
Category Thresholds
| Category | vELO Rating |
|---|---|
| A | 2000+ |
| B | 1700-1999 |
| C | 1400-1699 |
| D | 1100-1399 |
| E | 0-1099 |
How Categories Work
- Before First Race: Your category is calculated dynamically from your 90-day max vELO rating
- After First Race: Your category is locked for the current phase
- Transfer Windows: Categories unlock and recalculate between phases
Phase Locking
The season is divided into phases. Once you complete your first race in a phase:
- Your category locks based on your vELO rating at that moment
- You must race in that category for the rest of the phase
- This prevents "category shopping"
Wrong Category Penalties
Racing in any category other than your locked/assigned category — whether lower or higher — results in time penalties. Penalties are cumulative throughout the season:
| Offense | Penalty |
|---|---|
| 1st offense | +60 seconds |
| 2nd offense | +120 seconds (2 × 60) |
| 3rd offense | +180 seconds (3 × 60) |
These penalties are applied automatically during results processing.
Your Dashboard
The Dashboard is your career hub. Here's what you'll find:
Career Status
- License Status: Active, expired, or not purchased
- Equipment Status: Verification pending, approved, or not required
- Ready to Race: Checklist showing what's needed before you can race
Featured Race
- Next upcoming race with route profile
- Quick link to race details and registration
Recent Results
- Your latest race finishes
- Points earned
- Link to your race page:
/rider/results/{eventId}/{riderId}(race name in My Results and Recent results, or Analyze your race on the race's results). It shows your place in category, time, gap, points, a chart of power, heart rate and elevation over distance, best efforts, power by section, the riders around you, and dual recording. Anyone signed in can open any rider's race; heart rate and FTP show only on your own.
Team Context (if on a team)
- Team name and badge
- Teammates
- Team standing
- Upcoming team races
Calendar & Racing
Finding Races
Go to Calendar to see all races:
- Preseason: Practice races (no points)
- Regular Season: Championship races organized by phase
To get races into your own calendar, use Add to Google Calendar or Apple / Outlook on the Calendar (/rider/races, or /calendar on the public site). You subscribe to one competition and get every Zwift event in every time slot, at its real start time. Changes reach your calendar automatically; Google can take up to a day to pick them up.
Other competitions on ECRO
ECRO is a platform: the ECRO World Tour is one competition on it, and other organizers can run their own. When more than one competition is open to riders:
- The Calendar shows every public competition's races, sectioned by competition — each with its own phases and time slots.
- A race page names its competition next to the date.
- Standings has a competition selector; each competition has its own seasons and series.
- Your category can differ per competition: each competition sets its own rating thresholds, so the same rider can be a B in one and a C in another. The race page shows your category in that race's competition.
- Your license is platform-wide — one ECRO license covers every competition that requires one.
- Every public competition also has a shareable page at
/c/<competition>.
Each race card shows:
- Race name and date
- Course profile (distance, elevation)
- Race type (Day Race, Stage Race, ITT)
- Points class
Race Types
| Type | Description |
|---|---|
| Day Race | Single race, points awarded by finish position |
| Stage Race | Multi-stage event, GC (time-based) standings |
| ITT | Individual Time Trial, mandatory for series GC |
Points Classes
Races are classified by importance:
| Class | Description | Points Potential |
|---|---|---|
| Class 0 | Major events | Highest |
| Class 1 | Regular season | High |
| Class 2 | Standard races | Medium |
| Class 3 | Minor events | Lower |
Race Events
Each race has multiple events (time slots):
- Up to 5 events per race, scheduled across different time zones for global participation
- Choose the event that fits your schedule
- All events count toward the same race results
Before the Race
- Check the Calendar: Find your race and preferred event time
- View Race Intelligence: See entrant list, route profile, and course details
- Verify Your Weight: Your Zwift weight must be current (within 5 days). If stale, you'll see an "Update Weight" prompt instead of the sign-up button — tap it to sync from Zwift (Offseason races skip this check)
- Check Your Category: Ensure you're registered in the correct category
- Verify Equipment: Complete equipment verification if required
Race Day
- Open Zwift and navigate to the event
- Join the correct category pen
- Race!
- Results appear within 1-2 hours after the event ends
After the Race
- Results Tab: Check your finish position and points
- Analysis: View detailed race analysis (power data, splits)
- Standings: See how your points affect season standings
Results & Standings
Viewing Your Results
Go to Results to see your race history:
- Filter by season, category, or search by race name
- When more than one competition is public, each row is labelled with its competition
- View position, points, time, and any adjustments
- Click any result for detailed analysis
Result Statuses
| Status | Meaning |
|---|---|
| ✓ Verified | Result confirmed and points awarded |
| DQ | Disqualified (no points) |
| DNF | Did not finish |
Disqualification Codes
| Code | Reason |
|---|---|
| C01 | Invalid license |
| C02 | Duplicate entry |
| C03 | Equipment violation |
| C04 | Missing race pass |
| C05 | Verification non-compliance |
Season Standings
Go to Standings to see:
Rider Standings:
- Points-based ranking across all races
- Filter by series, category, and year
- Your position highlighted
Team Standings:
- Combined points from team members
- Per race and per series: top 6 finishers per category count toward team total
- Overall season: every earning result counts (no per-category cap, since the season aggregates across all categories)
How Points Work
Points are awarded based on:
- Finish Position: Higher positions earn more points
- Points Class: Higher-class races award more points
All categories earn the same points for the same finish position.
Honours
Your profile has an Honours section, your trophy cabinet. It only counts wins, and it only counts the big ones:
- Season Champion: 1st in your category in the season standings, awarded once the last race of the season is done
- World Champion: winning your category at Chasing Rainbows (Road and ITT are separate titles)
- GC Win: winning your category in a stage race GC (Chasing d'Azur, Pink, Suisse, Yellow, Red)
- Classics Win: winning your category in the Chasing Classics series
- Monument: winning your category at Chasing Sanremo, Vlaanderen, Roubaix, Liege or Lombardia
Honours are grouped into sections (Season Champion, World Champion, GC Wins, Classics Wins, Monuments). Each race is listed once with every year you won it, and each year shows the category you won it in.
Road races run in several time slots, and the winner of each slot in your category earns the honour. Honours keep the team and category you won them with, so they stay on your profile after a transfer or a category change. If a result changes after a protest or DQ, the honour moves to the new winner.
Teams
Free Agent Life
If you're not on a team:
- You appear on the Transfer Market (unless hidden)
- Teams can send you contract offers
- You can browse teams and express interest
To hide from the market:
- Go to Account → Profile
- Toggle "Hide from Transfer Market"
Joining a Team
When a team sends you a contract offer:
- You'll receive a notification
- Review the offer terms (season, prize split)
- Accept or decline
Contract terms include:
- Season: Which season the contract covers
- Prize Split: Your percentage of virtual prize money (ECRO$) earned
Being on a Team
Once on a team:
- Your Dashboard shows team context
- You race for team points
- Team tactics may be shared before races
- Virtual prize money is split per your contract
Creating a Team
To create your own team:
- Go to Teams
- Click "Create Team"
- Set team name, short code, and branding
- Purchase a Team License
- Start recruiting riders
Performance
Power Profile
Go to Performance to see your power profile:
- Rider Type: Sprinter, climber, all-rounder, etc.
- Power Outputs: 15s, 1m, 5m, 20m power in w/kg
- Category Comparison: How you compare to peers
- Radar Chart: Visual power profile
Course Suitability
The Performance page shows which upcoming races suit your profile:
- Courses ranked by match percentage
- Consider focusing on races that favor your strengths
Understanding vELO
Your vELO rating comes from ZwiftRacing.app and reflects your racing performance:
- Current: Your latest rating
- 90-day Max: Used for category determination
- Updated after each ZwiftRacing.app race
Account Management
Profile Settings
Go to Account to manage:
Profile Tab:
- Display name
- Country
- Timezone
- Languages spoken
- Preferred riding hours
License Tab:
- License status and expiration
- Purchase or renew license
Connections Tab:
- Zwift account link
- Discord account link
Notifications Tab:
- Race reminders
- Contract offers
- Team updates
Notifications
The notification bell shows:
- Contract offers
- Race reminders
- Verification requests
- System announcements
Deleting Your Account
Account › Settings › Delete account. Type DELETE to confirm. You are signed out and emailed, and the account is deleted 7 days later; signing in again before then keeps it. Riders under contract, team managers and organizers must leave or hand over first: the section says what to do. Past race results stay in the standings without the rider's name or photo. Public page: ecro.app/account-deletion.
Equipment Verification
Who Needs Verification
Equipment verification is required for:
- Category A: All riders
- Category B: All riders
Categories C, D, and E do not require equipment verification but must still use valid power sources.
What to Submit
- Photo of your smart trainer or power meter
- Serial number clearly visible
- Your Zwift profile showing the device
Verification Process
- Submit equipment photos via Equipment
- Admin reviews within 48 hours
- Approved equipment is linked to your profile
- Re-verification may be required periodically
Dual Recording
Top riders may be asked to provide dual recordings:
- Record the same ride on both Zwift and a second device
- Proves power data accuracy
- Required for podium positions in major races
Adding your second file on ECRO: open your race page (click the race name in My Results or Recent results, or Analyze your race on the race's results) and use Add your file in the Dual recording card at the bottom. Upload the .fit from your head unit or power meter app, or Garmin Connect's "Export original" zip (up to 4 MB). ECRO lines it up with your Zwift ride (your ZwiftPower data straight away if your profile is public, and the Zwift file from your linked Zwift account once it arrives) and shows the outcome: matches Zwift, needs review, does not match, not enough data, or waiting for the Zwift file. Uploading again replaces the earlier file.
From your Wahoo head unit: link Wahoo under Account › Connections. Record the race on your ELEMNT as usual; when the ride syncs, ECRO matches it to the race it overlaps and compares it with Zwift, with nothing to upload. Use Check recent rides to pick up races from the last 30 days. Only rides recorded on a Wahoo device come through (Wahoo doesn't share rides synced in from other apps). Disconnecting Wahoo deletes the dual recordings that came from it.
Recording your dual in ECRO (Android or laptop): on the race page, from 48 hours before your time slot, use Dual record this race. The recorder takes the whole screen. In Chrome on an Android phone or a laptop, connect your power meter and your heart rate monitor (both are needed), check their live numbers move, and start a few minutes before the gun. While you ride it shows your watts large, with cadence and heart rate below; it keeps recording if you lock the screen, switch apps or open other ECRO screens (a bar at the bottom brings you back). If the power meter drops, tap Reconnect where the watts were. Hold Finish for 2 seconds when you cross the line, check the summary (time, power, cadence, heart rate and how much of the ride has power), and upload it. Pair your trainer in Zwift and leave the power meter for ECRO, since most power meters take one Bluetooth connection. You can also connect your smart trainer in ECRO (optional): it records the same power Zwift sees, which shows officials which device Zwift used. Many trainers take only one Bluetooth connection; if ECRO can't connect, pair the trainer in Zwift over ANT+ to leave Bluetooth free, or record without it. The recording saves on your device as you ride; if ECRO closes mid-race, reopen it to continue or upload what was saved. If results aren't in yet, it waits and is compared automatically. iPhone and iPad browsers can't connect to power meters, so use upload there for now.
Reference
Important Links
| Resource | Purpose |
|---|---|
| Official Rules | Complete competition regulations |
| Offseason Rules | ECRO Offseason rules (Nov to Jan) |
| Calendar | Race schedule |
| Standings | Season rankings |
| Divisions | Team division standings & promotion/relegation |
| Teams | Team directory |
Key Dates
- Transfer Windows: Between phases (categories unlock)
- Preseason: Practice period before championship races
- Regular Season: Championship races with points
Getting Help
For support:
- Check the Official Rules
- Contact support via your Dashboard
- Join the ECRO Discord community
Appeals
If you believe a result or DQ is incorrect:
- You have 7 days to file an appeal
- Appeals are reviewed by ECRO officials
- Decisions are communicated via notification
Glossary
| Term | Definition |
|---|---|
| Category | Performance tier (A-E) based on vELO rating |
| vELO | Performance rating from ZwiftRacing.app |
| Phase | Season subdivision with category locking |
| Phase Lock | Category freeze after first race in a phase |
| Transfer Window | Period between phases when categories unlock |
| GC | General Classification - overall time-based standings |
| Points Class | Race importance classification (0-3) |
| Day Race | Single-event race with points scoring |
| Stage Race | Multi-stage race with time-based GC |
| ITT | Individual Time Trial |
| DQ | Disqualification |
| DNF | Did Not Finish |
| Dual Recording | Recording ride on two devices for verification |
| Smart Trainer | Indoor trainer with built-in power measurement |
| HRM | Heart Rate Monitor |