Brakes
See More
Complete Brakes
See More
Brake Rotors
ComponentsBrake Pads
E-bike Batteries and chargers Brake Spares
Forks
See More
Wheels
See More
Front Suspension
Complete WheelsRear Suspension
Finishing Kit
See More
Tubeless
Tyres
Tools & MaintenanceTubes
Tubeless
Clothing and ProtectionSaddles
See More
Seat Posts & Clamps
ProjektRide MerchandisePedals
Helmets
Gears & Drivetrain
GlovesSee More
Clothing
Components
Socks
E-bike Batteries and chargers
Wheels
EssentialsSee More
See More
Complete Wheels
Cleaners, Degreasers and Lubrication
Tubeless
Accessories
Tools & Maintenance
Maintenance
Clothing and Protection
See More
Sell Your Bike
ProjektRide Merchandise
Contact Us
Finance
Log in
Create account
Search
Country
GBP£
Åland Islands (EUR€)
Albania (ALLL)
Tyres
Tubes
Tubeless
Saddles
Seat Posts & Clamps
Pedals
Gears & Drivetrain
Components
E-bike Batteries and chargers
Wheels
Complete Wheels
Tubeless
Tools & Maintenance
Clothing and Protection
ProjektRide Merchandise
Helmets
Gloves
Clothing
Socks
Essentials
Cleaners, Degreasers and Lubrication
Accessories
Maintenance
Sell Your Bike
Contact Us
Finance
Open search bar
Suggested search terms
About Us
Contact Us
Blog
Track Service Progress
Building Your Bike From the Box
Insure Your Bike
Privacy Policy
Cookie Policy
Terms of Service
Refund policy
My Account
Open cart
Open search bar
Search for products on our site
Suggested search terms
About Us
Contact Us
Blog
Track Service Progress
cy
Open cart
{ "@context": "http://schema.org", "@type": "Organization", "name": "ProjektRide","logo": "https:\/\/projektride.co.uk\/cdn\/shop\/files\/logo-svg-white_1592x.svg?v=1676480383","sameAs": [ null, null, null, null, null, null, null ], "url": "https:\/\/projektride.co.uk" }
Close
Home
Hire
Bikes
See More
New Bikes
See More
Shop All New Bikes
Road / Gravel / Touring Bikes
Hybrid / City Bikes
Mountain Bikes
Electric Bikes
Kids Bikes
Frames
Shop by Brand
See More
Gloria
Trek
Amflow
Velduro
Yeti
Ridgeback
Brother
Genesis
Singular
Enigma
Frog
Kona
Surly
UTO (ex Eovolt)
Early Rider
Argon 18
Second-Hand Bikes
See More
at bay.\nBiodegradable Wet Lube\nMuc-Off Biodegradable Wet Chain Lube is an ultra durable, long distance bicycle chain lubricant, it’s been specifically formulated to excel over long distances in wet or muddy conditions. Our state of the art formula has been derived from natural ingredients and made completely from renewable sources. It penetrates deep into your chain link’s to provide long lasting lubrication and total protection. Our integral ’Extreme Pressure Additives’ coat every part of the link to provide a silky smooth gear change and an ultra efficient drive chain.\n\nContains Nano Tech Bike Cleaner \nContains MO-94\nContains Biodegradable Wet Lube\n","image":"https:\/\/projektride.co.uk\/cdn\/shop\/products\/muc-off-wash-protect-lube-kit-dry-lube-version-21b-muf-mu-kit-0851-black-1.jpg?v=1639608693\u0026width=1920","mpn":"PREA03112021.1622","name":"Muc-Off Clean, Protect and Lube Kit","offers":{"@id":"\/products\/muc-off-clean-protect-and-lube-kit?variant=42133920153826#offer","@type":"Offe
Handlebars
Sell Your Bike
Stems
Grips & Bar-Tape
Finance
Headsets
Brakes
See More
Complete BrakesLog in
Brake Rotors
Create account
Brake Pads
Brake Spares
Search
Forks
See More
Front Suspension
Rear Suspension
Finishing Kit
See More
Tyres
Tubes
Seat Posts & Clamps
Tubeless
Pedals
Saddles
Seat Posts & Clamps
Gears & Drivetrain
Pedals
See More
Gears & Drivetrain
Components
See More
E-bike Batteries and chargers
Components
E-bike Batteries and chargers
Wheels
See MoreWheels
See More
Complete Wheels
Complete Wheels
Tubeless
Tubeless
Tools & Maintenance
Clothing and Protection
Tools & Maintenance
See More
ProjektRide Merchandise
Clothing and Protection
See MoreHelmets
Gloves
ProjektRide Merchandise
Clothing
Helmets
Gloves
Clothing
Socks
Essentials
See More
Cleaners, Degreasers and Lubrication
Accessories
Maintenance
Sell Your Bike
Contact Us
Finance
Log in
Create account
Search
Country
GBP£
Burundi (BIFFr)
Cameroon (XAFCFA)
Cape Verde (CVE$)
Central African Republic (XAFCFA)
Chad (XAFCFA)
Comoros (KMFFr)
Congo - Brazzaville (XAFCFA)
Slovakia (EUR€)
Latvia (EUR€)
Slovenia (EUR€)
Lesotho (GBP£)
Somalia (GBP£)
Liberia (GBP£)
South Africa (GBP£)
Libya (GBP£)
South Sudan (GBP£)
Liechtenstein (CHFCHF)
Spain (EUR€)
Lithuania (EUR€)
St. Helena (SHP£)
Luxembourg (EUR€)
Sudan (GBP£)
Madagascar (GBP£)
Svalbard & Jan Mayen (GBP£)
Malawi (MWKMK)
Sweden (SEKkr)
Mali (XOFFr)
Switzerland (CHFCHF)
Malta (EUR€)
Tanzania (TZSSh)
Mauritania (GBP£)
Togo (XOFFr)
Mauritius (MUR₨)
Tristan da Cunha (GBP£)
Mayotte (EUR€)
Tunisia (GBP£)
Moldova (MDLL)
Türkiye (GBP£)
Monaco (EUR€)
Uganda (UGXUSh)
Montenegro (EUR€)
Ukraine (UAHâ‚´)
Morocco (MADد.م.)
United Kingdom (GBP£)
Mozambique (GBP£)
United States (GBP£)
Namibia (GBP£)
Vatican City (EUR€)
Netherlands (EUR€)
Western Sahara (MADد.م.)
Niger (XOFFr)
Zambia (GBP£)
Nigeria (NGN₦)
Zimbabwe (USD$)
North Macedonia (MKDден)
Norway (GBP£)
Poland (PLNzł)
Shop All
Portugal (EUR€)
Réunion (EUR€)
Romania (RONLei)
Rwanda (RWFFRw)
San Marino (EUR€)
São Tomé & PrÃncipe (STDDb)
Senegal (XOFFr) BUY
SELL
<
Brands ons/01a1bb99-5192-7a53-8683-13acad609f70/restockrocket-1-637/assets/restockrocket-collection-full.js' window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/01a1bb99-5192-7a53-8683-13acad609f70/restockrocket-1-637/assets/restockrocket-product-bis.js' window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/01a1bb99-5192-7a53-8683-13acad609f70/restockrocket-1-637/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://ext.stoqapp.com' try { const _stoqVersionMatch = window._RestockRocketConfig.scriptHost.match(/(\d+)\/?(?:assets\/?)?$/); window._RestockRocketConfig.appVersion = (_stoqVersionMatch && _stoqVersionMatch[1]) || ''; } catch (
<
Tent Box <
& !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
Cockpit 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.crossOrigin = 'anonymous'; restockRocketScriptElement.onerror = function () { restockRocketScriptElement.onerror = null; const plainScriptElement = document.createElement('script'); plainScriptElement.setAttribute('defer', 'defer'); plainScriptElement.src = scriptUrl; document
shop_domain: _stoqInitConfig.shop || '', market_id: _stoqInitConfig.marketId || '', country_code: _stoqInitConfig.countryIsoCode || '', detected_variant_ids: _stoqDetectedVariantIds, selected_variant_id: _stoqSelectedVariantId || '', page_load_seq: _stoqPageSeq, liquid_rendered_at: _stoqInitConfig.liquidRenderedAt || 0, app_version: _stoqInitConfig.appVersion || '', 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
Handlebars { var ids = [pl.shopify_selling_plan_id, pl.default_shopify_selling_plan_id]; (Array.isArray(pl.payment_options) ? pl.payment_options : []).forEach(function (o) { ids.push(o && o.shopify_selling_plan_id); }); return ids.filter(function (id) { return id != null; }).map(Number); }; var _sqForVariant = function (pl) { if (!pl || !pl.enabled) return false; if (Array.isArray(_sqAlloc)) { var ids = _sqPlanIds(pl); return _sqAlloc.some(function (id) { return ids.indexOf(Number(id)) !== -1; }); } return Array.isArray(pl.variant_ids) && pl.variant_ids.indexOf(_sqVidNum) !== -1; }; _sqPlans.forEach(function (pl) { if (!_sqPlan && _sqForVariant(pl) && pl.markets_enabled && Array.isArray(pl.shopify_market_ids) && pl.shopify_market_ids.indexOf(_sqMktId) !== -1) { _sqPlan = pl; } }); if (!_sqPlan) {
_sqTrack.cachedPreorderVariantIds.preorder_variant_ids) || (_sqTrack.inlinePreorderIdsDropped === true && (_sqTrack.variantsInventoryPolicy || {})[vid] === 'continue' && (_sqTrack.variantsInventoryQuantity || {})[vid]
= 0); })(), in_enabled_plan: !!_sqPlan, is_instock_variant: (function () { var has = function (a) { return Array.isArray(a) && a.indexOf(_sqVidNum) !== -1; }; return has(_sqTrack.inStockVariantIds) || has(_sqTrack.cachedInStockVariantIds && _sqTrack.cachedInStockVariantIds.in_stock_variant_ids); })(), enrolled_plan_id: (_sqPlan && (_sqPlan.shopify_selling_plan_id || _sqPlan.shopify_selling_plan_group_id)) || '', enrolled_plan_provider: (_sqPlan && _sqPlan.inventory_provider) || '', block_enabled: !(_sqTrack.cachedSettings && _sqTrack.cachedSettings.block_accelerated_checkout === false) && !(_sqTrack.readFlags && _sqTrack.readFlags.accelerated_block_off === true), gate_armed: !!_sqTrack.acceleratedGateArmed, gate_active_at_click: !!(document.documentElement && document.documentElement.c
Stems delete settings.translations; return settings; } console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${
dateCartSellingPlans() .then(hasUpdates => { if (hasUpdates) { console.debug('STOQ - cart selling plans updated successfully'); } else { console.debug('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 }), }
ontSettings() { const query = 'query StoqSettings($namespace: String!) { shop { settings: metafield(namespace: $namespace, key: "settings") { value } translations: metafield(namespace: $namespace, key: "settings_translations") { value } } }'; return storefrontGraphql(query, { namespace: window._RestockRocketConfig.metafieldNamespace }) .then(function(data) { const settings = JSON.parse(data.shop.settings.value); if (!settings.updated_at) { throw new Error('settings metafield is not a settings payload'); } if (settings.single_locale_translations_inline) { settings.translations = data.shop.translations && JSON.parse(data.shop.translations.value); } if (settings.multi_language_enabled && !settings.translations) { throw new Error('settings metafield carries no translations'); } return settings; }); } const cachedSettings = window._RestockRocketConfig.cachedSettings; const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) :
Grips & Bar-Tapengs read failed, using setting.json:', error.message); }) : Promise.resolve(); storefrontRead .then(function(settings) { return settings || fetch( `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, { headers } ) .then(function(response) { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }); }) .then(function(settings) { initializeScripts(settings); }) .catch(function(error) { if (cachedSettings) { console.debug('STOQ - using expired cached settings 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.hos
chStorefrontShopMetafield(source.metafieldKey) .then(function(value) { if (!source.isValid(value)) { throw new Error(source.metafieldKey + ' metafield is not a valid ' + source.endpoint + ' payload'); } source.apply(value); console.debug('STOQ - refreshed ' + source.endpoint + ' from the Storefront API'); }) .catch(function(error) { console.debug('STOQ - Storefront ' + source.endpoint + ' read failed, using embed:', error.message); return viaEmbed(); }); } function refreshIntegrations() { const cfg = window._RestockRocketConfig; return refreshShopConfig({ endpoint: 'integrations', metafieldKey: 'integrations', flag: 'enable_storefront_integrations_read', isValid: function(value) { return Array.isArray(value); }, apply: function(data) { cfg.integrations = data; } }); } function refreshSellingPlans(embedOnly) { const cfg = window._RestockRocketConfig; return refreshShopConfig({
gPlans || staleRefresh) { console.debug('STOQ - refreshing selling_plans' + (staleRefresh ? ' + integrations (Liquid cache stale)' : ' (force_embed_selling_plans)')); const refreshes = [refreshSellingPlans(forceEmbedSellingPlans)]; if (staleRefresh) { refreshes.push(refreshIntegrations()); } Promise.race([ Promise.all(refreshes), new Promise(function(resolve) { setTimeout(resolve, 1000); }) ]).then(function() { loadScripts(settings); }); return; } loadScripts(settings); } function loadScripts(settings) { setupCartSellingPlanUpdater(settings); if(settings.enable_app) { const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) { return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); }) const hasEnabledOffer = Array.isArray(window._RestockRocketConfig.sellingPlans) && window._RestockRocketCon
HeadsetsUiOnPage ? window._RestockRocketConfig.scriptUrlCollectionFull : window._RestockRocketConfig.scriptUrlCollection; const collectionScriptUrl = usePreorderBuild ? preorderCollectionScriptUrl : window._RestockRocketConfig.scriptUrlCollectionBis; const productScriptUrl = usePreorderBuild ? window._RestockRocketConfig.scriptUrlProduct : window._RestockRocketConfig.scriptUrlProductBis; const collectionPageTypes = ['collection', 'index', 'search', 'page']; if(collectionPageTypes.indexOf(pageType) !== -1 && (settings[`show_button_on_${pageType}`] || settings[`preorder_${pageType}_enabled`])) { createRestockRocketScript(collectionScriptUrl); } else if(pageType === 'product') { createRestockRocketScript(productScriptUrl); } else if(hijackIntegration) { createRestockRocketScript(preorderCollectionScriptUrl); } else if(usePreorderBuild) { createRestockRocketScript(preorderCollectionScriptUrl);
document.addEventListener('shopify:section:load', loadWishlistHearts); } if (document.querySelector('[data-stoq-wishlist-page]')) { createRestockRocketScript(window._RestockRocketConfig.scriptHost + 'restockrocket-wishlist-page.js'); } try { if (localStorage.getItem('stoq_wl_host') !== window._RestockRocketConfig.scriptHost) localStorage.setItem('stoq_wl_host', window._RestockRocketConfig.scriptHost); } catch (e) {} try { const guestWishlist = window._RestockRocketConfig.customer && !localStorage.getItem('stoq_wl_c') && JSON.parse(localStorage.getItem('stoq_wl')); if (Array.isArray(guestWishlist) && guestWishlist.length) { createRestockRocketScript(window._RestockRocketConfig.scriptHost + 'restockrocket-wishlist-prompt.js'); } } catch (e) {} } const appLoadedEvent = new CustomEvent('stoq:loaded', { detail: { pageType: window._RestockRocketConfig.pageType, BUY
SELL
RIDE CONFIDENT
#productTemplate--template--26482384994687__main { --PT: 60px; --PB: 30px; }
Refund policy
Open cart
{ "@context": "http://schema.org", "@type": "Organization", "name": "ProjektRide","logo": "https:\/\/projektride.co.uk\/cdn\/shop\/files\/logo-svg-white_1592x.svg?v=1676480383","sameAs": [ null, null, null, null, null, null, null ], "url": "https:\/\/projektride.co.uk" }
Close
Home
Hire
Bikes
See More
New Bikes
See More
Shop All New Bikes
Road / Gravel / Touring Bikes
Hybrid / City Bikes
Mountain Bikes
Electric Bikes
Kids Bikes
Frames
Shop by Brand
See More
Gloria
Trek
Amflow
Velduro
Yeti
Ridgeback
Brother
Genesis
Singular
Enigma
Frog
Kona
Surly
UTO (ex Eovolt)
Early Rider
Argon 18
Second-Hand Bikes
See More
Shop All Second-Hand
Custom Builds
See More
Custom Builds for sale
Custom Build Inspiration
Services