The Domane RSL (Race Shop Limited) Frame Set is an ultralight carbon endurance road bike frame that gives you the freedom to build your absolute dream machine. Designed for speed on even the roughest cobblestone courses, this is the frame of choice for Trek-Segafredo pros racing Paris-Roubaix. Its refined rear IsoSpeed and aerodynamic improvements help to elevate comfort while letting you get the most out of every watt you put in.
WheelsSkewer front Bontrager Switch thru-axle, removable lever
Skewer rear Bontrager Switch thru-axle, removable leverMax tyre size 35mm
Components
Rotor size Max brake rotor sizes: 160mm front & rear
We reserve the right to make changes to the product information contained on this site at any time without notice, including with respect to equipment, specifications, models, colours, materials and pricing. Due to supply chain issues, compatible parts may be substituted at any time without notice.
"name":"Trek Domane RSL Frame Set Gen 4 - 58","public_title":"58","options":["58"],"price":490000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":54945267515775,"title":"60","option1":"60","option2":null,"option3":null,"sku":"5283441","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Trek Domane RSL Frame Set Gen 4 - 60","public_title":"60","options":["60"],"price":490000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneRSLFrameset_23_37304_A_Primary.webp?v=1736594834"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/DomaneRSLFrameset_23_37304_A_Primary.webp?v=1736594834","options":["Size"],"media":[{"alt":null,"id":63841545027967,"position":1,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"
/p\u003e\n\u003cp\u003e*Please note – spec applies to all sizes unless listed separately\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eFrameset\u003c\/strong\u003e\u003cbr\u003eFrame 800 Series OCLV Carbon, IsoSpeed, tapered head tube, internal cable routing, 3S chain keeper, flat mount disc, 142x12 mm thru axle\u003cbr\u003e*Fork Size: 52, 54, 56, 58, 60\u003cbr\u003eDomane RSL carbon, tapered carbon steerer, internal brake routing, flat mount disc, carbon dropouts, 12x100 mm thru axle\u003cbr\u003eSize: 52, 54, 56, 58, 60\u003cbr\u003eDomane SLR carbon, tapered carbon steerer, internal brake routing, mudguard mounts, flat-mount disc, carbon dropouts, 12x100 mm thru axle\u003cbr\u003eFrame fit Pro Endurance\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWeight\u003c\/strong\u003e\u003cbr\u003eWeight 1057g – 56 cm (frame-only, painted)\u003cbr\u003e401g (fork-only, painted)\u003cbr\u003eWeight limit This bike has a maximum total weight limit (combined weight of bicyon. Weights may vary in final production.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e"}
return null;
}
if (!settings.cache) {
console.debug('STOQ - settings caching disabled');
return null;
}
// Check if translations are enabled but missing from cache
// This handles the backfill period where DB has translations but metafield doesn't
if (settings.multi_language_enabled) {
if (!settings.translations) {
// Translations enabled but no translation data in metafield
// Metafield hasn't been backfilled yet - force refresh
console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh');
return null;
}
// Translations object exists in metafield - cache is valid
// If current locale isn't translated, applyTranslations will gracefully use default locale from base fields
if (window._RestockRocketConfig.normalizedLocale &&
!Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)
) {
console.debug('STOQ - locale not explicitly translated, will use default language from cache');
}
// Don't return null - continue using cache even for untranslated locales
}
const updatedAt = new Date(settings.updated_at);
if (isNaN(updatedAt.getTime())) {
console.debug('STOQ - Invalid updated_at date format in settings');
return null;
}
const age = Date.now() - updatedAt.getTime();
if (age