Malawi (MWKMK)
Header Image
Mali (XOFFr)
Mauritania (GBP£)
Moldova (MDLL)
Monaco (EUR€)
ront_form_show_image":false,"storefront_form_text_color":"#202223","storefront_form_background_color":"#FFFFFF","storefront_form_border_radius":0,"market_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":null,"preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","configure_notify_me_enabled":false,"restock_note_insert_selector":null,"restock_note_insert_selector_type":"afterend","restock_note_background_color":"#f3f4f6","restock_note_text_color":"#202223","restock_note_border_radius":4,"preorder_modal_continue_button_text":"Continue","preorder_modal_cancel_button_text":"Cancel","meta_pixel_enabled":false,"meta_pixel_id":null,"cache":true,"cached_at":"2026-10-01T04:48:15.476Z","multi_language_enabled":false,"translation_locale":"en","disable_refresh_on_stale_liquid":false,"api_host":"https://ext.stoqapp.com"}; window._RestockRocketConfig.metafieldNamespace = 'restockrocket_

CUBE NURIDE HYBRID PRO 800 CHILLI/BLACK iant.id == window._RestockRocketConfig.selected_variant_id }) || {}).available; try { var _sqCfg = window._RestockRocketConfig; var _sqPlanEnabled = Array.isArray(_sqCfg.sellingPlans) && _sqCfg.sellingPlans.some(function (p) { return p && p.enabled; }); var _sqPreCount = ((_sqCfg.cachedPreorderVariantIds && _sqCfg.cachedPreorderVariantIds.preorder_variant_ids) || []).length; _sqCfg.preordersConfigured = !!(_sqPlanEnabled && _sqPreCount); } catch (e) { } try { var _sqc = window._RestockRocketConfig; var _sqOn = !(_sqc.cachedSettings && _sqc.cachedSettings.block_accelerated_checkout === false); var _sqPre = (_sqc.cachedPreorderVariantIds && _sqc.cachedPreorderVariantIds.preorder_variant_ids) || []; var _sqArm = false; if (_sqOn && _sqc.preordersConfigured) { if (_sqc.pageType === 'product' && _sqc.product && _sqc.product.variants) { _sqArm = _sqc.product.variants.some(function (v) { return _sqPre.indexOf(Number(v.id)) !== -1; }); }

3af102b411/restockrocket-1-599/assets/restockrocket-product-bis.js' window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/01a0f67f-532e-7916-acb4-6f3af102b411/restockrocket-1-599/assets/restockrocket-collection-bis.js' window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) window._RestockRocketConfig.host = (window._RestockRocketConfig.cachedSettings && window._RestockRocketConfig.cachedSettings.api_host) || 'https://app.restockrocket.io' try { const _stoqVersionMatch = window._RestockRocketConfig.scriptHost.match(/(\d+)\/?(?:assets\/?)?$/); window._RestockRocketConfig.appVersion = (_stoqVersionMatch && _stoqVersionMatch[1]) || ''; } catch (e) { window._RestockRocketConfig.appVersion = ''; } const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; const LIQUID_CACHE_MAX_AGE = 15 * 60; const liquidRenderedAt = window._RestockRocketConfig.liquidRe
Seychelles (GBP£) <
& !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { console.debug('STOQ - locale not explicitly translated, will use default language from cache'); } } 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
SETTINGS_CACHE_DURATION) { console.debug('STOQ - settings changed recently, skipping cache'); return null; } return settings; } catch (error) { console.debug('STOQ - Error checking settings cache:', error); return null; } } function createRestockRocketContainer() { const restockRocketContainer = document.createElement('div'); restockRocketContainer.id = 'restock-rocket'; document.body.appendChild(restockRocketContainer); } function createRestockRocketScript(scriptUrl) { const restockRocketScriptElement = document.createElement('script'); restockRocketScriptElement.setAttribute('defer', 'defer'); restockRocketScriptElement.src = scriptUrl; document.body.appendChild(restockRocketScriptElement); } createRestockRocketContainer() console.debug('STOQ - extension activated') try { const _stoqInitConfig = window._RestockRocketConfig; const _stoqDetectedVariantIds = (_stoqInitConfig.product && Array.isArray(_stoqI Sierra Leone (SLLLe) liquid_cache_age: _stoqInitConfig.liquidCacheAge, inventory_policy: (_stoqInitConfig.variantsInventoryPolicy || {})[_stoqSelectedVariantId] || '', inventory_quantity: (_stoqInitConfig.variantsInventoryQuantity || {})[_stoqSelectedVariantId], }); } catch (e) { console.debug('STOQ - stoq_initialized publish failed:', e); } try { var _sqTrack = window._RestockRocketConfig; if (_sqTrack.preordersConfigured) { document.addEventListener('click', function (e) { try { var t = e.target; if (!t || !t.closest) return; var host = t.closest('.shopify-payment-button, shopify-payment-terms'); if (!host) return; var channel = host.matches && host.matches('shopify-payment-terms') ? 'shop_pay_installments' : 'buy_now'; var form = host.closest('form'); var vidEl = form && form.querySelector('[name="id"]'); var variantId = (vidEl && vidEl.value) || _sqTrack.selected_variant_id || ''; Frame Style ck.product.id) || '', channel: channel, market_id: _sqTrack.marketId || '', country_code: _sqTrack.countryIsoCode || '', page_type: _sqTrack.pageType || '', cart_token: _sqTrack.cartToken || '', page_url: (window.location && window.location.href) || '', properties: { is_preorder_variant: (function () { var vid = Number(variantId); var has = function (a) { return Array.isArray(a) && a.indexOf(vid) !== -1; }; return has(_sqTrack.preorderVariantIds) || has(_sqTrack.cachedPreorderVariantIds && _sqTrack.cachedPreorderVariantIds.preorder_variant_ids); })(), in_enabled_plan: !!_sqPlan, is_instock_variant: (function () { var has = function (a) { return Array.isArray(a) && a.indexOf(_sqVidNum) !== -1; }; return has(_sqTrack.inStockVariantIds) || hSenegal (XOFFr) }); } catch (err) { } }, true); } } catch (e) { } function applyTranslations(settings) { try { if (!settings || !settings.multi_language_enabled) { return settings; } if (!settings.translations) { console.debug('STOQ - No translations found, skipping translation'); return settings; } const normalizedLocale = window._RestockRocketConfig.normalizedLocale; const translations = settings.translations; if (!normalizedLocale) { console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); delete settings.translations; return settings; } console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); const translatedFields = translations[normalizedLocale]; if (translatedFields && typeof translatedFields === 'object') { Object.keys(translatedFields)
g('STOQ - no cart selling plan updates needed'); } }) .catch(error => { console.error('STOQ - error updating cart selling plans:', error); }); } }); } function storefrontGraphql(query, variables) { const cfg = window._RestockRocketConfig; if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) { return Promise.reject(new Error('Storefront API unavailable')); } return fetch( `https://${cfg.shop}/api/${cfg.storefrontApiVersion}/graphql.json`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Shopify-Storefront-Access-Token': cfg.storefrontAccessToken, }, body: JSON.stringify({ query: query, variables: variables }), } ) .then(function(response) { if (!response.ok) { throw new Error('Storefront API HTTP ' + response.status); } return response.json(); }) .then(function(body) { if (body && body Slovakia (EUR€) -level metafield fetch, so it // shares fetchStorefrontShopMetafield with the integrations/selling_plans // reads rather than re-issuing the same query + parse. fetchStorefrontShopMetafield('settings') .then(function(settings) { cfg.storefrontSettings = settings; console.debug('STOQ - stored live settings from Storefront API on config.storefrontSettings'); }) .catch(function(e) { console.debug('STOQ - Storefront settings fetch failed (non-fatal):', e && e.message); }); } if (typeof window.requestIdleCallback === 'function') { window.requestIdleCallback(run, { timeout: 5000 }); } else { setTimeout(run, 0); } })(); const cachedSettings = window._RestockRocketConfig.cachedSettings; const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; if (validCachedSettings) { console.debug('STOQ - using cached settings'); initializeScripts(validCachedSettings); } else { consol as fallback'); initializeScripts(cachedSettings); } else { console.error('STOQ - failed to load settings:', error); } }) .catch(function(e) { console.error(e) }) } function fetchEmbedConfig(endpoint, apply) { return fetch( `${window._RestockRocketConfig.host}/api/v1/embed/${endpoint}.json`, { headers: { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 'ngrok-skip-browser-warning': 'skip' } } ) .then(function(response) { if (!response.ok) throw new Error(`Failed to fetch ${endpoint}`); return response.json(); }) .then(function(data) { try { apply(data); } catch (applyError) { console.error('STOQ - apply failed for ' + endpoint + ':', applyError); throw applyError; } }) .catch(function(error) { console.debug(`STOQ - using cached ${endpoint}:`, error.message); }); } function refresSerbia (RSDРСД) Slovenia (EUR€) console.debug('STOQ - dispatching app loaded event'); window.dispatchEvent(appLoadedEvent); } } html.stoq-buy-now-pending .shopify-payment-button{pointer-events:none!important}Seychelles (GBP£)
South Africa (GBP£)
Slovakia (EUR€)
South Sudan (GBP£) Slovenia (EUR€) Colour
Spain (EUR€) Somalia (GBP£) Sudan (GBP£)
South Sudan (GBP£)
Sweden (SEKkr)
St. Helena (SHP£)
SizeSwitzerland (CHFCHF) Sudan (GBP£)
Tanzania (TZSSh) Togo (XOFFr) Sweden (SEKkr) Switzerland (CHFCHF) Tunisia (GBP£) Türkiye (GBP£) Togo (XOFFr) Tristan da Cunha (GBP£)
Ukraine (UAH₴)
United Kingdom (GBP£)
BUYSELL #productTemplate--template--26482384994687__main { --PT: 60px; --PB: 30px; }
BUY
SELL
RIDE CONFIDENT



  window.appBlockPlacements ||= []; if (window.klarnaAppBlocksManager) { window.klarnaAppBlocksManager.push({ productVariants: [{"id":55177564586367,"title":"Rear 12x142mm 24H Shimano","option1":"Rear 12x142mm 24H Shimano","option2":null,"option3":null,"sku":"EN21004001345","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE Carbon Road Hub - Rear 12x142mm 24H Shimano","public_title":"Rear 12x142mm 24H Shimano","options":["Rear 12x142mm 24H Shimano"],"price":69000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":55177564619135,"title":"Front 12x100mm 20H","option1":"Front 12x100mm 20H","option2":null,"option3":null,"sku":"EN21004001349","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE Carbon Road Hub - Front 12x100mm 20H","public_title":"Front 12x100mm 20H","options":["Front 12x100mm 20H"],"price":69000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":55177564651903,"title":"Rear 12x142mm 24H Campagnolo","option1":"Rear 12x142mm 24H Campagnolo","option2":null,"option3":null,"sku":"EN21004001350","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE Carbon Road Hub - Rear 12x142mm 24H Campagnolo","public_title":"Rear 12x142mm 24H Campagnolo","options":["Rear 12x142mm 24H Campagnolo"],"price":69000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}], templateName: 'product', dataKey: 'top-strip-promotion-badge', storefrontCurrency: 'GBP', storefrontCountry: 'GB', storefrontLanguage: 'en', shopLocale: 'en', shopDomain: 'projektride.co.uk', variantPrice: '69000', cartPrice: '0', selector: 'shopify-osm-AZkxmY3VSTnFmNnNiW__klarna_on_site_messaging_app_block_k6rYHt', topPadding: '0', bottomPadding: '0', }); } else { window.appBlockPlacements.push({ productVariants: [{"id":55177564586367,"title":"Rear 12x142mm 24H Shimano","option1":"Rear 12x142mm 24H Shimano","option2":null,"option3":null,"sku":"EN21004001345","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE Carbon Road Hub - Rear 12x142mm 24H Shimano","public_title":"Rear 12x142mm 24H Shimano","options":["Rear 12x142mm 24H Shimano"],"price":69000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":55177564619135,"title":"Front 12x100mm 20H","option1":"Front 12x100mm 20H","option2":null,"option3":null,"sku":"EN21004001349","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE Carbon Road Hub - Front 12x100mm 20H","public_title":"Front 12x100mm 20H","options":["Front 12x100mm 20H"],"price":69000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}},{"id":55177564651903,"title":"Rear 12x142mm 24H Campagnolo","option1":"Rear 12x142mm 24H Campagnolo","option2":null,"option3":null,"sku":"EN21004001350","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"ENVE Carbon Road Hub - Rear 12x142mm 24H Campagnolo","public_title":"Rear 12x142mm 24H Campagnolo","options":["Rear 12x142mm 24H Campagnolo"],"price":69000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}], templateName: 'product', shopLocale: 'en', dataKey: 'top-strip-promotion-badge', storefrontCurrency: 'GBP', storefrontCountry: 'GB', storefrontLanguage: 'en', shopDomain: 'projektride.co.uk', variantPrice: '69000', cartPrice: '0', selector: 'shopify-osm-AZkxmY3VSTnFmNnNiW__klarna_on_site_messaging_app_block_k6rYHt', topPadding: '0', bottomPadding: '0', }); } Product detailsENVE's Carbon Road Hub blends a one-of-a-kind full carbon hub shell with a proprietary freehub to eliminate bearing play and maximise stiffness, drive response and reliability – making it the highest-performance road hub in the world.Flange spacing and diameter have been increased to improve lateral stiffness by 16%. The paired, moulded – rather than drilled – spoke holes in the hub flange reduce weight and allow improved bracing angles that improve drive stiffness, efficiency and ride feel, inspiring confidence when accelerating or cornering.The proprietary freehub body is machined from strong 7075 alloy and anodised to reduce cog bite. ENVE has improved on the previous generation's 18-tooth driver with a new mechanism utilising a 40-tooth ratchet design with a single spring that gives exceptional drive response under power. ENVE has also included a rubber gasket that changes the tone of the freehub when freewheeling.FrontRearMaterialcarboncarbonWeight70g185gHole count20 249 Spoke type J-bend J-bend Lacing pattern radialDecrease Quantity 2x/2x or 2x/1x Increase Quantity Flange diameter 34.5mm 55mm Center to flange 39.5mm L-37mm, R-19mm Sold Out - Notify Me When It’s Available End caps
The original ENVE Carbon Road Hub won a Eurobike Design and Innovation award and this second generation improves upon its predecessor in every department while weighing in at just 70g front and 185g rear. Made entirely in ENVE's Ogden, Utah, headquarters from moulded uni-directional carbon fibre, the hub shell geometry has been optimised to enhance the performance of the brand's SES aero wheelsets – or any other rim you'd care to use.
The hub's axles have also been completely redesigned to utilise ENVE's pioneering Perfect Preload system. By positioning a calibrated wave washer between the bearing and a snap ring installed on the axle, bearing pre-load is consistently optimised. This eliminates bearing play and the need to adjust pre-load yourself, reducing premature wear. Also increasing reliability are the custom, premium stainless steel bearings and races. These long-life components are enhanced by full-contact bearing seals on outboard bearing faces and non-contact seals on internal faces to improve rolling efficiency. All this means the hubs roll with utter smoothness from day one and maintain their performance for thousands of miles without the need for servicing, making the ENVE Carbon Road Hub virtually maintenance free.
The freehub body can also be swapped from Shimano to Campagnolo or SRAM XD-R versions without the need for tools or re-dishing the wheel. Technical Specification
Bosch Purion 200 with Integrated Display
Net weight (kg) 26.7 10 +
Gross weight (kg) 31.68 Quantity
Max. system weight (kg) 140
Max. rider weight (kg) 110
Body size 1.74m - 1.83m
Accessories 93339,94799,93483,93354,93363
Alloy
 

Fork
Premium-grade stainless steel bearings and races
SR Suntour XCM34 NLO Coil, Tapered, 15x110mm, 100mm