Header Image

BUY
SELL
RIDE CONFIDENT
Home
/Kosovo (EUR€) /
Trek District+ 4
Trek District+ 4Latvia (EUR€)
Lesotho (GBP£)

Size
Liberia (GBP£)
Extra LargeLibya (GBP£)

Liechtenstein (CHFCHF)

Extra Extra Large
Lithuania (EUR€)

Luxembourg (EUR€) Tools & Maintenance Madagascar (GBP£) Clothing and Protection 545WHMalawi (MWKMK) Mali (XOFFr) ProjektRide Merchandise 725WHHelmetsMalta (EUR€) Gloves Mauritania (GBP£) Clothing Mauritius (MUR₨) Socks Mayotte (EUR€) Moldova (MDLL) Monaco (EUR€) Montenegro (EUR€) Morocco (MADد.م.) Mozambique (GBP£) Namibia (GBP£) Netherlands (EUR€) Niger (XOFFr) Nigeria (NGN₦) North Macedonia (MKDден) Norway (GBP£) Poland (PLNzł) Portugal (EUR€) Réunion (EUR€) Romania (RONLei) Rwanda (RWFFRw) San Marino (EUR€) São Tomé & Príncipe (STDDb) Senegal (XOFFr) Serbia (RSDРСД) Seychelles (GBP£) Sierra Leone (SLLLe) Slovakia (EUR€) Slovenia (EUR€) Somalia (GBP£) South Africa (GBP£) Botswana (BWPP) / All Products /Svalbard & Jan Mayen (GBP£) Genesis Croix De Fer 10British Indian Ocean Territory (USD$) Sweden (SEKkr) Bulgaria (EUR€) Switzerland (CHFCHF) Burkina Faso (XOFFr) Tanzania (TZSSh) SmallBurundi (BIFFr) Togo (XOFFr) Cameroon (XAFCFA) Extra Small Tristan da Cunha (GBP£) Cape Verde (CVE$) Tunisia (GBP£) MediumCentral African Republic (XAFCFA) Türkiye (GBP£) Chad (XAFCFA) Large Uganda (UGXUSh) Comoros (KMFFr) Ukraine (UAH₴) Extra LargeCongo - Brazzaville (XAFCFA) United Kingdom (GBP£) Congo - Kinshasa (CDFFr) {"id":57581101154687,"title":"Small","option1":"Small","option2":null,"option3":null,"sku":"GN10711XS","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Genesis Croix De Fer 10 - Small","public_title":"Small","options":["Small"],"price":149999,"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}} United States (GBP£) Côte d’Ivoire (XOFFr) QuantityVatican City (EUR€)
Battery
See More
Home
Genesis Croix De Fer 10
Size
Croatia (EUR€)

1

Western Sahara (MADد.م.)
Cyprus (EUR€)

1 Zambia (GBP£) Czechia (CZKKč)

Zimbabwe (USD$)
2 Denmark (DKKkr.) Djibouti (DJFFdj) 3 Egypt (EGPج.م) © 2026, .Equatorial Guinea (XAFCFA) Powered by 5 .Eritrea (GBP£) American Express Estonia (EUR€) 7 Eswatini (GBP£) Diners Club Discover Ethiopia (ETBBr) Google Pay8 Faroe Islands (DKKkr.) 9 Finland (EUR€) PayPal France (EUR€) Shop Pay French Southern Territories (EUR€) Decrease QuantityGabon (XOFFr) Increase QuantityGambia (GMDD) Georgia (GBP£) Romania (RONLei) Germany (EUR€) Ghana (GBP£) Add to CartGibraltar (GBP£) £1,499.99 Greece (EUR€) Greenland (DKKkr.) Guadeloupe (EUR€)   Guernsey (GBP£) Sierra Leone (SLLLe) Guinea (GNFFr) window.appBlockPlacements ||= []; if (window.klarnaAppBlocksManager) { window.klarnaAppBlocksManager.push({ productVariants: [{"id":57581101154687,"title":"Small","option1":"Small","option2":null,"option3":null,"sku":"GN10711XS","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Genesis Croix De Fer 10 - Small","public_title":"Small","options":["Small"],"price":149999,"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":57581101187455,"title":"Extra Small","option1":"Extra Small","option2":null,"option3":null,"sku":"GN10711SM","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Genesis Croix De Fer 10 - Extra Small","public_title":"Extra Small","options":["Extra Small"],"price":149999,"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":57581101220223,"title":"Medium","option1":"Medium","option2":null,"option3":null,"sku":"GN10711MD","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Genesis Croix De Fer 10 - Medium","public_title":"Medium","options":["Medium"],"price":149999,"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":57581101252991,"title":"Large","option1":"Large","option2":null,"option3":null,"sku":"GN10711LG","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Genesis Croix De Fer 10 - Large","public_title":"Large","options":["Large"],"price":149999,"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":57581101285759,"title":"Extra Large","option1":"Extra Large","option2":null,"option3":null,"sku":"GN10711XL","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Genesis Croix De Fer 10 - Extra Large","public_title":"Extra Large","options":["Extra Large"],"price":149999,"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: '149999', cartPrice: '0', selector: 'shopify-osm-AZkxmY3VSTnFmNnNiW__klarna_on_site_messaging_app_block_k6rYHt', topPadding: '0', bottomPadding: '0', }); } else { window.appBlockPlacements.push({ productVariants: [{"id":57581101154687,"title":"Small","option1":"Small","option2":null,"option3":null,"sku":"GN10711XS","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Genesis Croix De Fer 10 - Small","public_title":"Small","options":["Small"],"price":149999,"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":57581101187455,"title":"Extra Small","option1":"Extra Small","option2":null,"option3":null,"sku":"GN10711SM","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Genesis Croix De Fer 10 - Extra Small","public_title":"Extra Small","options":["Extra Small"],"price":149999,"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":57581101220223,"title":"Medium","option1":"Medium","option2":null,"option3":null,"sku":"GN10711MD","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Genesis Croix De Fer 10 - Medium","public_title":"Medium","options":["Medium"],"price":149999,"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":57581101252991,"title":"Large","option1":"Large","option2":null,"option3":null,"sku":"GN10711LG","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Genesis Croix De Fer 10 - Large","public_title":"Large","options":["Large"],"price":149999,"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":57581101285759,"title":"Extra Large","option1":"Extra Large","option2":null,"option3":null,"sku":"GN10711XL","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Genesis Croix De Fer 10 - Extra Large","public_title":"Extra Large","options":["Extra Large"],"price":149999,"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: '149999', cartPrice: '0', selector: 'shopify-osm-AZkxmY3VSTnFmNnNiW__klarna_on_site_messaging_app_block_k6rYHt', topPadding: '0', bottomPadding: '0', }); } Guinea-Bissau (XOFFr) Hungary (HUFFt) Iceland (ISKkr) Ireland (EUR€) Isle of Man (GBP£) Italy (EUR€) St. Helena (SHP£) Jersey (GBP£) Kenya (KESKSh) Excellent Stoppers Kosovo (EUR€) The Croix de Fer 10 gets the same Maxxis Rambler tubeless ready 45mm tyres and Amplitude G100 wheelset found on the rest of the Croix de Fer range. Adventurous DrivetrainLatvia (EUR€) Our Mjolnir Chromoly tubeset is crafted to deliver a sublime ride feel with excellent comfort whilst also being immensely durable.Lesotho (GBP£) Excellent Stoppers Liberia (GBP£) Libya (GBP£) Tristan da Cunha (GBP£) Frame & Fork Liechtenstein (CHFCHF) Genesis Mjolnir Chromoly Tubing Amplitude G100 Chromoly ForkLithuania (EUR€) Luxembourg (EUR€) Drivetrain Brake Madagascar (GBP£) Shimano CUES U3000/U6000 2 x 9-speedMalawi (MWKMK) 46/32T Chainrings Size:11-36T CassetteMali (XOFFr) L, XL, XXL Malta (EUR€) Vatican City (EUR€) Components Size: Mauritania (GBP£) L, XL, XXLAmplitude G100 Finishing Kit Madison Flux Switch SaddleMauritius (MUR₨) Mayotte (EUR€) Moldova (MDLL) Wheelset Monaco (EUR€) Amplitude G100 Six-Bolt Rotor MountsMontenegro (EUR€) QR Front & Rear Morocco (MADد.م.) Accessories BrakesMozambique (GBP£) TRP Spyre Mechanical DiscsNamibia (GBP£) *Light160mm Rotors Front & Rear Netherlands (EUR€)   L, XL, XXL Spanninga SOLO for e-bikeTyresNiger (XOFFr) Maxxis Rambler 700x45mm Tubeless ReadyNigeria (NGN₦) Size:Pre-taped Tubeless Ready Rims L, XL, XXLTubeless Valves IncludedNorth Macedonia (MKDден) Kickstand []
4 ProjektRide Shopify
6 Apple Pay
Klarna Maestro Mastercard 10 +
Quantity Portugal (EUR€) Réunion (EUR€)
Rwanda (RWFFRw) San Marino (EUR€) £1,499.99São Tomé & Príncipe (STDDb)
Senegal (XOFFr) Serbia (RSDРСД)   Seychelles (GBP£)
Slovakia (EUR€) Slovenia (EUR€) Somalia (GBP£)
South Africa (GBP£) South Sudan (GBP£) Spain (EUR€)
Sudan (GBP£) Svalbard & Jan Mayen (GBP£) The TRP Spyre's dual piston actuated design combines the easy maintenence of a mechanical brake with the improved lever feel and stopping power from a hydraulic system. Premium Rubber Sweden (SEKkr)
A Shimano CUES 2 x 9-speed drivetrain combined with a  46/32T chainset paired with an 11-36T caseette offers up dependable gearing that's suitable for a cross-country epic or a blast to the office. Switzerland (CHFCHF) Thor's Favourite Tanzania (TZSSh) The TRP Spyre's dual piston actuated design combines the easy maintenence of a mechanical brake with the improved lever feel and stopping power from a hydraulic system.   Togo (XOFFr)
Tunisia (GBP£) Türkiye (GBP£) Bontrager alloy, 31.8 mm clamp, adjustable rise, Blendr-compatible, 105 mm length Uganda (UGXUSh)
Tektro HD-M275 hydraulic disc Ukraine (UAH₴) *Brake rotor United Kingdom (GBP£)   United States (GBP£) Shimano EM300, CenterLock, 160 mm
  Western Sahara (MADد.م.) Shimano RT10, CenterLock, 160 mm Zambia (GBP£) Brake Set Tektro HD-M275 hydraulic disc
Rotor size Max brake rotor sizes: 180 mm front and rear
Size:
  Herrmans MR4, 120-lumen LED
Pletscher Comp Flex 18
KONA Geometry
{"@context":"http:\/\/schema.org\/","@id":"\/products\/genesis-croix-de-fer-13#product","@type":"ProductGroup","brand":{"@type":"Brand","name":"ProjektRide"},"category":"Road Bikes","description":"Not So Entry LevelThe baby brother of the Croix de Fer range, the 10 carries all of the same qualities and features that are core to the Croix de Fer DNA and combines them with a great value specification.\nInternal cable routing, dropper post compatibility, tubeless ready wheels and tyres. The Croix de Fer 10 is stacked full of features capable of any journey.\nPremium RubberThe Croix de Fer 10 gets the same Maxxis Rambler tubeless ready 45mm tyres and Amplitude G100 wheelset found on the rest of the Croix de Fer range.\nAdventurous DrivetrainA Shimano CUES 2 x 9-speed drivetrain combined with a  46\/32T chainset paired with an 11-36T caseette offers up dependable gearing that's suitable for a cross-country epic or a blast to the office.\nThor's FavouriteOur Mjolnir Chromoly tubeset is crafted to deliver a sublime ride feel with excellent comfort whilst also being immensely durable.\nExcellent StoppersThe TRP Spyre's dual piston actuated design combines the easy maintenence of a mechanical brake with the improved lever feel and stopping power from a hydraulic system.\nPremium RubberThe Croix de Fer 10 gets the same Maxxis Rambler tubeless ready 45mm tyres and Amplitude G100 wheelset found on the rest of the Croix de Fer range.\nAdventurous DrivetrainA Shimano CUES 2 x 9-speed drivetrain combined with a  46\/32T chainset paired with an 11-36T caseette offers up dependable gearing that's suitable for a cross-country epic or a blast to the office.\nThor's FavouriteOur Mjolnir Chromoly tubeset is crafted to deliver a sublime ride feel with excellent comfort whilst also being immensely durable.\nExcellent StoppersThe TRP Spyre's dual piston actuated design combines the easy maintenence of a mechanical brake with the improved lever feel and stopping power from a hydraulic system.\nPremium RubberThe Croix de Fer 10 gets the same Maxxis Rambler tubeless ready 45mm tyres and Amplitude G100 wheelset found on the rest of the Croix de Fer range.\nAdventurous DrivetrainA Shimano CUES 2 x 9-speed drivetrain combined with a  46\/32T chainset paired with an 11-36T caseette offers up dependable gearing that's suitable for a cross-country epic or a blast to the office.\nThor's FavouriteOur Mjolnir Chromoly tubeset is crafted to deliver a sublime ride feel with excellent comfort whilst also being immensely durable.\nExcellent StoppersThe TRP Spyre's dual piston actuated design combines the easy maintenence of a mechanical brake with the improved lever feel and stopping power from a hydraulic system.\n \n\n\n\nFrame \u0026amp; Fork\n\n\nGenesis Mjolnir Chromoly Tubing\nAmplitude G100 Chromoly Fork\n\n\n\n\nDrivetrain\n\n\nShimano CUES U3000\/U6000\n2 x 9-speed\n46\/32T Chainrings\n11-36T Cassette\n\n\n\n\nComponents\n\n\nAmplitude G100 Finishing Kit\nMadison Flux Switch Saddle\n\n\n\n\n\n\n\n\nWheelset\n\n\nAmplitude G100\nSix-Bolt Rotor Mounts\nQR Front \u0026amp; Rear\n\n\n\n\nBrakes\n\n\nTRP Spyre Mechanical Discs\n160mm Rotors Front \u0026amp; Rear\n\n\n\n\nTyres\n\n\nMaxxis Rambler 700x45mm Tubeless Ready\nPre-taped Tubeless Ready Rims\nTubeless Valves Included\n\n\n\n\n","hasVariant":[{"@id":"\/products\/genesis-croix-de-fer-13?variant=57581101154687#variant","@type":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/files\/ftp_f_freewheel_imagessportlinefwbikesgn10712_cdf10_detail_01.jpg?v=1779285139\u0026width=1920","name":"Genesis Croix De Fer 10 - Small","offers":{"@id":"\/products\/genesis-croix-de-fer-13?variant=57581101154687#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"1499.99","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/genesis-croix-de-fer-13?variant=57581101154687"},"sku":"GN10711XS"},{"@id":"\/products\/genesis-croix-de-fer-13?variant=57581101187455#variant","@type":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/files\/ftp_f_freewheel_imagessportlinefwbikesgn10712_cdf10_detail_01.jpg?v=1779285139\u0026width=1920","name":"Genesis Croix De Fer 10 - Extra Small","offers":{"@id":"\/products\/genesis-croix-de-fer-13?variant=57581101187455#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"1499.99","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/genesis-croix-de-fer-13?variant=57581101187455"},"sku":"GN10711SM"},{"@id":"\/products\/genesis-croix-de-fer-13?variant=57581101220223#variant","@type":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/files\/ftp_f_freewheel_imagessportlinefwbikesgn10712_cdf10_detail_01.jpg?v=1779285139\u0026width=1920","name":"Genesis Croix De Fer 10 - Medium","offers":{"@id":"\/products\/genesis-croix-de-fer-13?variant=57581101220223#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"1499.99","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/genesis-croix-de-fer-13?variant=57581101220223"},"sku":"GN10711MD"},{"@id":"\/products\/genesis-croix-de-fer-13?variant=57581101252991#variant","@type":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/files\/ftp_f_freewheel_imagessportlinefwbikesgn10712_cdf10_detail_01.jpg?v=1779285139\u0026width=1920","name":"Genesis Croix De Fer 10 - Large","offers":{"@id":"\/products\/genesis-croix-de-fer-13?variant=57581101252991#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"1499.99","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/genesis-croix-de-fer-13?variant=57581101252991"},"sku":"GN10711LG"},{"@id":"\/products\/genesis-croix-de-fer-13?variant=57581101285759#variant","@type":"Product","image":"https:\/\/projektride.co.uk\/cdn\/shop\/files\/ftp_f_freewheel_imagessportlinefwbikesgn10712_cdf10_detail_01.jpg?v=1779285139\u0026width=1920","name":"Genesis Croix De Fer 10 - Extra Large","offers":{"@id":"\/products\/genesis-croix-de-fer-13?variant=57581101285759#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"1499.99","priceCurrency":"GBP","url":"https:\/\/projektride.co.uk\/products\/genesis-croix-de-fer-13?variant=57581101285759"},"sku":"GN10711XL"}],"name":"Genesis Croix De Fer 10","productGroupID":"15685811569023","url":"https:\/\/projektride.co.uk\/products\/genesis-croix-de-fer-13"}
Cargo rack
#Accordions--template--26482384994687__section_accordions_with_images_kprcYa { --PT: 60px; --PB: 60px; --border-opacity: 0; --border-width: 1px; --MB: 10px; --padding-left: 0; --bg-padded-line: var(--bg); } #Accordions--template--26482384994687__section_accordions_with_images_kprcYa .section__heading { --heading-size: calc(var(--adjust-heading) * 1.2); } #Accordions--template--26482384994687__section_accordions_with_images_kprcYa .accordion__item { --bg-item: #fafafa; }
Alloy rear rack, 25 kg max weight

Frequently Asked Questions

I'm looking to find out more information about a product, where can I find this?01313745324[email protected]ProjektRide Bike Shop EdinburghI'm looking to buy this product, when will it arrive and how much does postage cost?Postage is free on orders over £50. Orders under £50, our postage charge is £3.99.ProjektRide Bike Shop Edinburgh#relatedProducts--template--26482384994687__related { --PT: 60px; --PB: 60px; } #relatedProducts--template--26482384994687__related .tabs__nav { --text-size: calc(var(--adjust-heading) * 1.35); } @media screen and (max-width: 767px) { #relatedProducts--template--26482384994687__related .grid--mobile, #relatedProducts--template--26482384994687__related .carousel--mobile { grid-template-columns: repeat(1, minmax(0, 1fr)); } } You May Also LikeRecently viewed#SiteFooter .footer-block--logo { min-width: calc(160px + calc(var(--gutter) / 2)); } #SiteFooter .footer-block__logo-image { width: 160px; }Buy, sell and ride in confidence on ProjektRide’s premium bikesQuick LinksAbout UsBlogc\/div\u003e\n\u003cbutton data-v-5bd42f3c=\"\" id=\"pdl-collapse-head-x8szye\" type=\"button\" class=\"pdl-collapse-item__header is-active flex-row-reverse items-center\" tabindex=\"0\"\u003e\u003csvg data-v-1e7396ba=\"\" data-v-5bd42f3c=\"\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" width=\"24px\" height=\"24px\" fill=\"currentcolor\" aria-hidden=\"true\" role=\"presentation\" class=\"pdl-collapse-item__icon pdl-icon pdl-icon--size-24 is-active\" qaid=\"\"\u003e\u003cpath d=\"M0 0h24v24H0z\" fill=\"none\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv data-v-5bd42f3c=\"\" id=\"pdl-collapse-content-x8szye\" role=\"tabpanel\" aria-labelledby=\"pdl-collapse-head-x8szye\" class=\"pdl-collapse-item__wrap\" data-old-padding-top=\"\" data-old-padding-bottom=\"\" data-old-overflow=\"\"\u003e\n\u003cdiv data-v-5bd42f3c=\"\" class=\"pdl-collapse-item__content\"\u003e\no Alfine S7000, 8-speed\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-05762449=\"\"\u003e\n\u003cth data-v-05762449=\"\" rowspan=\"2\" scope=\"row\"\u003e*Crank\u003c\/th\u003e\n\u003ctd data-v-05762449=\"\"\u003e\n\u003cspan data-v-05762449=\"\"\u003eSize:\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eS, M\u003cbr data-v-05762449=\"\"\u003eGates CDX S250, 46T, 170 mm length\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-05762449=\"\"\u003e\n\u003ctd data-v-05762449=\"\"\u003e\n\u003cspan data-v-05762449=\"\"\u003eSize:\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eL\u003cbr data-v-05762449=\"\"\u003eGates CDX S250, 46T, 175 mm length\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-05762449=\"\"\u003e\n\u003cth data-v-05762449=\"\" rowspan=\"1\" scope=\"row\"\u003eBottom bracket\u003c\/th\u003e\n\u003ctd data-v-05762449=\"\"\u003e\u003ca data-v-05762449=\"\" href=\"https:\/\/www.trekbikes.com\/gb\/en_GB\/p\/5262077\"\u003eVP BC73C, 68 mm, threaded\u003c\/a\u003e\u003c\/td\u003e\n\u0
Please get in touch with a member of the team either by phone () or email () where on of the team will be more than happy to help. If the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item. We also have a physical store, if you are local please pop in - 82 Newington Road, EH91QN, Edinburgh.
#SiteFooter { --PT: 100px; --PB: 10px; --bg-lighten-darken-shimmer-bg: #0d0d0d; --bg-lighten-darken-shimmer-effect: #121212; --text: #ffffff; --text-alpha-15: rgba(255, 255, 255, 0.15); --text-alpha-50: rgba(255, 255, 255, 0.6); --text-alpha-85: rgba(255, 255, 255, 0.85);--border: #ffffff;} #SiteFooter .footer-bottom { --grid-columns: 3; }
Contact Us
=\"\" rowspan=\"1\" scope=\"row\"\u003eTyre\u003c\/th\u003e\n\u003ctd data-v-05762449=\"\"\u003eBontrager H2 Comp, reflective strip, wire bead, 30 tpi, 700x40 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-v-5bd42f3c=\"\" data-v-05762449=\"\" id=\"pdl-collapse-item-wp6iwl\" name=\"295\" class=\"pdl-collapse-item is-active\"\u003e\n\u003cdiv data-v-5bd42f3c=\"\" role=\"tab\" aria-controls=\"pdl-collapse-content-wp6iwl\" aria-describedby=\"pdl-collapse-content-wp6iwl\" class=\"\" aria-expanded=\"true\" qaid=\"\"\u003e\n\u003cdiv data-v-5bd42f3c=\"\" class=\"flex items-center flex-grow\"\u003eDrivetrain\u003c\/div\u003e\n\u003cbutton data-v-5bd42f3c=\"\" id=\"pdl-collapse-head-wp6iwl\" type=\"button\" class=\"pdl-collapse-item__header is-active flex-row-reverse items-center\" tabindex=\"0\"\u003e\u003csvg data-v-1e7396ba=\"\" data-v-5bd42f3c=\"\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"

Austria (EUR€) Belarus (GBP£) 457976034,45820458008802,45820514762978,45820514795746,45820517220578,45820519121122,45820519153890,45820527444194,45820527476962,45820546908386,45820546941154,45820547006690,45820551495906,45820551528674,45820551561442,45820551594210,45820575875298,45820575908066,45820575940834,45820590981346,45820591014114,45820624994530,45820625027298,45820630040802,45820633120994,45820633153762,45820633186530,45820633219298,45823204065506,45823204098274,45823204131042,45823204163810,45823204196578,45823204229346,45823204262114,45823204294882,45823204327650,45823204360418,45823204393186,45823204425954,45823219564770,45823219597538,45823219630306,45823219663074,45823219695842,45823219728610,45823219761378,45823219794146,45823219826914,45823219859682,45823219892450,45823219925218,45823222808802,45823222841570,45823222874338,45823222907106,45823222939874,45823222972642,45823223005410,45823223038178,45823223070946,45823223103714,45823223136482,45823223169250,45823223202018,45823223234786,45823223267554,45823223300322,458232233 84631010,45824384663778,45824384696546,45824385515746,45824385548514,45824385581282,45824385614050,45824385646818,45824385679586,45824385712354,45824385745122,45824385777890,45824388956386,45824389054690,45824389120226,45824389185762,45824389218530,45824389284066,45824389316834,45824389349602,45824389382370,45824389415138,45824389447906,45824389480674,45824389513442,45824389546210,45824389578978,45824394887394,45824394920162,45824423035106,45824423067874,45824423100642,45824423198946,45824477069538,45824477102306,45824477167842,45824477200610,45824492372194,45824492404962,45824492470498,45824504922338,45824504955106,45824505020642,45824505053410,45824505151714,45824511574242,45824511607010,45824516260066,45824516292834,45824516423906,45824516554978,45824527794402,45824527827170,45824527859938,45824527925474,45824527991010,45824534872290,45824534937826,45824535036130,45824535068898,45824535101666,45824620331234,45824634355938,45824634421474,45824634487010,45824634519778,45824705298658,45824705331426,4582477165Belgium (EUR€) 9295458,45856739328226,45856739360994,45856739393762,45856739426530,45856739459298,45856739492066,45856739524834,45856739557602,45856739590370,45856739623138,45856748732642,45856766951650,45856766984418,45856767017186,45856767049954,45856767082722,45856767115490,45857406288098,45857466777826,45857466810594,45857466843362,45857466876130,45857466908898,45857466941666,45857466974434,45857467007202,45857467039970,45857780138210,45857780203746,45857780236514,45863184957666,45863184990434,45952080281826,45952102858978,46007564533986,46007564566754,46007565222114,46007565254882,46007565680866,46007565713634,46007565943010,46007565975778,46007567286498,46007567319266,46007570563298,46007580459234,46007588552930,46007590027490,46007600775394,46007605723362,46007732240610,46007734042850,46007735746786,46007736271074,46007736991970,46015843598562,46015862210786,46015871779042,46015875711202,46015893242082,46015910183138,46015911788770,46015943409890,46015948030178,46015949537506,46016021987554,46016025854178,46016027492 465186,46047079530722,46047079661794,46047079727330,46047079792866,46047079858402,46057685909730,46057686008034,46057686171874,46057686204642,46057686630626,46057686761698,46057745645794,46057745678562,46057745776866,46066053218530,46066053578978,46066053611746,46066053742818,46066053939426,46081900839138,46081901887714,46081905656034,46081916862690,46081923907810,46081925447906,46081927971042,46081929216226,46081934819554,46081935507682,46081946353890,46081947009250,46081949597922,46081955627234,46081958346978,46081959428322,46081965424866,46081970438370,46081976402146,46081976926434,46081977221346,46081986986210,46081991672034,46081992294626,46081992753378,46081993179362,46081993572578,46081993867490,46082006384866,46082006876386,46082016051426,46082018967778,46082046689506,51888937337215,51888937369983,51888937402751,51888937435519,51982381121919,54900951253375,54900951286143,54901043134847,54901043200383,54945187430783,54945187463551,54945187496319,54945187529087,54945187561855,54945187594623,549451901177Benin (XOFFr) 88127,54945520320895,54945520353663,54945520386431,54945520419199,54945520451967,54945523532159,54945546764671,54945546797439,54945546830207,54945546928511,54945546961279,54945548042623,54945548075391,54945548108159,54945548140927,54945548173695,54945548206463,54945548239231,54945548271999,54945550336383,54945550369151,54945550401919,54945550434687,54945550467455,54945550500223,55038016422271,55196401860991,55196401893759,55196401926527,55196402647423,55196403433855,55196403466623,55196403532159,55196403564927,55196403630463,55196403663231,55196403695999,55196403728767,55196403794303,55196403827071,55196403859839,55196403892607,55196404285823,55196404318591,55196404351359,55196404384127,55196404416895,55196404449663,55196404482431,55196404515199,55196404547967,55196404580735,55196404613503,55196404646271,55196405662079,55196405694847,55196405727615,55196405760383,55196405825919,55196405858687,55196405891455,55196405924223,55196408185215,55196408217983,55196408250751,55196408283519,55196408316287,5519640834905 5119,55482573717887,55482589643135,55482589675903,55482589708671,55482589741439,55482589774207,55482589806975,55482603536767,55482603569535,55482603602303,55482603635071,55482603667839,55482603700607,55482623361407,55482623394175,55482623426943,55482623459711,55482623492479,55482639122815,55482639155583,55482639188351,55482639221119,55482666844543,55482671497599,55482671530367,55482671563135,55482671595903,55482671628671,55482675102079,55482675134847,55482675167615,55482675626367,55482675659135,55482675691903,55482677952895,55482679787903,55482684965247,55553117356415,55553117389183,55553117454719,55553117487487,55553117520255,55553117553023,55553117585791,55570017517951,55585620263295,55585620296063,55585620328831,55585620361599,55664837296511,55664857874815,55664857907583,55664857940351,55664857973119,55664858005887,55664864625023,56051529482623,56051529515391,56051529548159,56051529580927,56051529613695,56063296373119,56063296405887,56063296438655,56063296471423,56063370428799,56063370461567,56063370494335Bosnia & Herzegovina (BAMКМ) 575,56494087209343,56494087274879,56494087340415,56494087373183,56494087405951,56494087799167,56494088356223,56494088454527,56494090289535,56504701485439,56504701518207,56504701550975,56504701583743,56504701616511,56504701649279,56504839209343,56504839242111,56504839274879,56504839307647,56504839340415,56504839373183,56504921981311,56504922014079,56504922046847,56504922079615,56504922112383,56504922145151,56504922177919,56504922210687,56504922243455,56504950489471,56504950522239,56504950555007,56504950587775,56504950620543,56504950653311,56504950686079,56504950718847,56504950751615,56504961139071,56504961171839,56504961204607,56504961237375,56504961270143,56504961302911,56504961335679,56504961368447,56504961401215,56505064489343,56505064522111,56505064554879,56505064587647,56505064620415,56505064653183,56505064685951,56505064718719,56505064751487,56505064784255,56505064817023,56505064849791,56505064882559,56505064915327,56505064948095,56505064980863,56505065013631,56505065046399,56518714524031,56518714556799, 6183539071,56766183571839,56766183637375,56766183670143,56766183768447,56766183801215,56766183833983,56766183932287,56766183997823,56766184096127,56766184128895,57284689789311,57284689822079,57284689854847,57284689887615,57284689920383,57284689953151,57284689985919,57284690018687,57284690051455,57284690084223,57284690116991,57284690149759,57284690182527,57284690215295,57284690248063,57284690280831,57284690313599,57284690346367,57284690379135,57284690411903,57311934513535,57311934546303,57311934579071,57311934611839,57318991724927,57318991790463,57318991823231,57319008797055,57319008829823,57319008862591,57319008895359,57392715465087,57392715497855,57392715530623,57392715563391,57392715596159,57578627137919,57578627170687,57579681808767,57579681841535,57579681874303,57579681907071,57579681939839,57579773362559,57579773395327,57579773428095,57579773460863,57579773493631,57579861377407,57579861410175,57579861442943,57579861475711,57579861508479,57581101154687,57581101187455,57581101220223,57581101252991,57581101 91,57602995224959,57602995257727,57602995290495,57602995323263,57602995356031,57602995388799,57602995421567,57602995454335,57602995487103,57602995519871,57602995552639,57602995585407,57602995618175,57602995650943,57602995683711,57602995716479,57602995749247,57602995782015,57602995814783,57602995847551,57602995880319,57602995913087,57602995945855,57602995978623,57602996011391,57602996044159,57602996076927,57602996109695,57602996142463,57602996175231,57602996207999,57602996240767,57602996273535,57602996306303,57602996339071,57602996371839,57602996404607,57602996437375,57602996470143,57602996502911,57602996535679,57602996568447,57602996601215,57602996633983,57602996666751,57602996699519,57602996732287,57602996765055,57602996797823,57602996830591,57602996863359,57602996928895,57602996961663,57602996994431,57602997027199,57602997059967,57602997092735,57602997223807,57602997256575,57602997289343,57602997322111,57602997354879,57602997387647,57602997420415,57602997453183,57602997485951,57602997518719,57602997715327,5Botswana (BWPP) er_button_text":"Preorder","preorder_button_description":"Note: This is a preorder. Items will ship based on the estimated delivery date.","preorder_button_description_enabled":true,"preorder_button_description_background_color":"#ebebeb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: {{ date }}","shipping_applies_to_all_products":true,"shipping_text":"Estimated to ship within 2 months","payment_type":"full","billing_checkout_charge_type" Quantityource":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Note: This is a preorder. Items will ship based on the estimated delivery date.","preorder_button_description_enabled":true,"preorder_button_description_background_color":"#ebebeb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: {{ date }}","shipping_applies_to_all_products":true,"shipping_text":"Estimated to ship within 2 months","payment_tyBritish Indian Ocean Territory (USD$) const oldPlans = window._RestockRocketConfig.sellingPlans; const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0 ? oldPlans.reduce(function(max, plan) { // Parse dates for proper comparison (handles mixed ISO formats) if (plan.updated_at) { const planDate = new Date(plan.updated_at); const maxDate = max ? new Date(max) : null; return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max; } return max; }, '') : null; // Use cached if old array is empty/has no timestamps, or cached is newer // Parse dates for comparison to handle format differences (+00:00 vs .000Z) const cachedDate = new Date(cachedData.cached_at); const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null; const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate ens\/ 20 Lumens\u003cbr\u003eRun Time - Eco-Flash: 40 hrs, Steady: 2 hrs\u003cbr\u003eCharge Time - 2 hrs\u003cbr\u003eWaterproof - Yes, IP67 rating\u003cbr\u003eLight Modes - 5\u003cbr\u003eFits Handle Bars - 22 - 32mm+ diameter\u003cbr\u003eRechargable - Yes (integrated USB-A connector)\u003cbr\u003eDimensions - H: 66 mm x W: 24 mm x L: 14 mm\u003cbr\u003eWeight - 17 grams\u003cbr\u003eLow Battery Indicator - Yes\u003cbr\u003eStraps - Small (22 - 32 mm) \u0026amp; large included (Up to 200 mm)\u003cbr\u003eOperating Temperature - -20 to 50 °C \/ -4 to 122 °F\u003cbr\u003eOptimum Charging Temperature -20 to 22 °C \/ 68 to 72 °F (Room Temperature)\u003cbr\u003eProduct Type    Light Sets\u003cbr\u003eOutput    20 Lumen\u003cbr\u003eOutput    40 Lumen\u003cbr\u003ePosition    Set\u003cbr\u003ePower Source    Rechargeable Battery\u003c\/p\u003e","published_at":"2025-04-08T12:48:20+01:00","created_at":"2025-04-08T12:44:07+01:00","vendor":"Knog","type":"Apparel \u0026 Accessories","tags":["spo-cs-dis Bulgaria (EUR€) r - Plus plugs directly into USB-A ports \u0026amp; is designed to be exposed to the elements. Just remove from its magnetic mount and you're ready to charge.\u003cbr\u003eCharge Indicators - When Plus is running low on battery, a red ring will light up around the button. This ring will also show when charging, and turn off once fully charged\u003cbr\u003eMount It Or Wear It - Mount on the handlebar, head tube, forks - anything goes. Or remove from the mount and it now doubles as a wearable running light or versatile camping light.\u003cbr\u003eSpecifications:\u003c\/p\u003e\n\u003cp\u003eBulb Type - Chip On Board (COB) LEDs\u003cbr\u003eLight Output - 40 Lumens\/ 20 Lumens\u003cbr\u003eRun Time - Eco-Flash: 40 hrs, Steady: 2 hrs\u003cbr\u003eCharge Time - 2 hrs\u003cbr\u003eWaterproof - Yes, IP67 rating\u003cbr\u003eLight Modes - 5\u003cbr\u003eFits Handle Bars - 22 - 32mm+ diameter\u003cbr\u003eRechargable - Yes (integrated USB-A connector)\u003cbr\u003eDimensions - H: 66 mm x W: 24 mm x L: 14 mm\u003cbr\u0 nt (never block a plain product's Shop Pay); featured: integration // enabled for this page type. Rationale: PR #2784. try { var _sqc = window._RestockRocketConfig; var _sqOn = !!(_sqc.cachedSettings && _sqc.cachedSettings.block_accelerated_checkout); 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; }); } else { _sqArm = (_sqc.integrations || []).some(function (i) { return i && i.type === 'featured_product' && i.enabled && Array.isArray(i.page_types) && i.page_types.indexOf(_sqc.pageType) !== -1; }); } } if (_sqArm && document.documentElement) { _sqc.acceleratedGateArmed = true; document.documentElement.classList. Burkina Faso (XOFFr) uuid>/ handle>- version>/assets/... // Trailing digits (e.g. ".../restockrocket-1-521/assets/" -> "521"). Kept numeric to // match ParseStoqData, so funnel app_version lines up with the order-attribution // app_version. Reflects the ACTUAL deployed build. This is the SINGLE source of the // parsed version — preorder.js getAppVersion() reads it back off config rather than // re-parsing, so the regex lives in exactly one place. 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; // 15 minutes in milliseconds const LIQUID_CACHE_MAX_AGE = 15 * 60; // 15 minutes in seconds // Calculate Liquid cache freshness once at initialization const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt; // Validate timestamp and calculate ca Burundi (BIFFr)
0,45823769116898,45823769149666,45823769182434,45823769215202,45823769247970,45823769280738,45823769313506,45823769379042,45823769411810,45823769444578,45823769477346,45823769510114,45823769542882,45823769575650,45823865815266,45823865848034,45823865880802,45823865913570,45823865946338,45823865979106,45823866011874,45823866044642,45823866077410,45823866110178,45823866142946,45823866175714,45823866208482,45823866241250,45823866274018,45823866306786,45823866339554,45823866372322,45823866405090,45823866437858,45824032440546,45824032473314,45824032506082,45824032538850,45824032571618,45824032604386,45824032637154,45824032669922,45824032702690,45824132153570,45824132186338,45824132219106,45824132251874,45824132284642,45824132317410,45824132350178,45824132382946,45824132415714,45824132448482,45824132481250,45824132514018,45824132546786,45824132579554,45824132612322,45824132645090,45824132677858,45824132710626,45824132743394,45824132776162,45824132808930,45824132841698,45824132874466,45824132907234,45824132940002,45 ,45828850024674,45828850057442,45828850090210,45828850122978,45828850155746,45828850188514,45828850221282,45828850254050,45828850286818,45828873814242,45828873847010,45828873879778,45828873912546,45828873945314,45828873978082,45828874010850,45828874043618,45828886429922,45828886462690,45828886495458,45828886528226,45828894621922,45828894654690,45828894687458,45828941611234,45828941644002,45828941676770,45828941709538,45828941742306,45828974051554,45829018910946,45829033558242,45829033623778,45829052432610,45830783205602,45830783238370,45830795133154,45830795198690,45830795231458,45830795264226,45830795329762,45830795362530,45843552108770,45843552141538,45843552174306,45843552207074,45843552239842,45843552272610,45843552338146,45843552403682,45843552436450,45843552469218,45843590643938,45843590676706,45843590709474,45843590742242,45843615514850,45843615547618,45843615580386,45843615613154,45843615645922,45843615678690,45843615711458,45843615744226,45843615908066,45843615940834,45843615973602,45843616006370,458 46025372008674,46025372041442,46025372074210,46025372205282,46025372369122,46025372401890,46025419849954,46025438560482,46025438658786,46034406998242,46034471092450,46034766266594,46034799231202,46034809454818,46034809487586,46038086680802,46038086713570,46038086746338,46038086779106,46038086811874,46038086844642,46038086877410,46038086910178,46038086942946,46038086975714,46038087008482,46038087041250,46038087074018,46038087106786,46038087139554,46038087172322,46038087205090,46038087237858,46038087270626,46038087303394,46038087336162,46038087368930,46038087401698,46038087434466,46038087467234,46038087500002,46038087532770,46038087565538,46038087598306,46038087631074,46038087663842,46038087696610,46038087729378,46038087762146,46038087794914,46038087827682,46038087860450,46038087925986,46038087991522,46038088057058,46038088122594,46038088188130,46038088253666,46038088384738,46038088515810,46038088646882,46038088679650,46038088712418,46038088745186,46038088777954,46038088810722,46038088843490,46038088876258,4603 4945311326591,54945311359359,54945311392127,54945311424895,54945311457663,54945311490431,54945311523199,54945337540991,54945337704831,54945337803135,54945337835903,54945337868671,54945337901439,54945337966975,54945338032511,54945338098047,54945351631231,54945351663999,54945351762303,54945351795071,54945378140543,54945378173311,54945378206079,54945378238847,54945378271615,54945378304383,54945378337151,54945380925823,54945380958591,54945380991359,54945381024127,54945381056895,54945381089663,54945381122431,54945391444351,54945391477119,54945391509887,54945395310975,54945395343743,54945395376511,54945399275903,54945399308671,54945399341439,54945399374207,54945399406975,54945399439743,54945399472511,54945399505279,54945399538047,54945399570815,54945399603583,54945399636351,54945431683455,54945431716223,54945431748991,54945431781759,54945431814527,54945431847295,54945431880063,54945433125247,54945433158015,54945436467583,54945436500351,54945436533119,54945436565887,54945436598655,54945436631423,54945436664191,54945 239704347007,55239714374015,55239714505087,55239726596479,55245591871871,55245591970175,55245592002943,55245656818047,55245656949119,55245730152831,55245730218367,55245730316671,55245730349439,55245730382207,55245730447743,55245730578815,55245730742655,55245730775423,55245737492863,55245737623935,55245737656703,55245737689471,55245737722239,55294444142975,55294475927935,55294475960703,55294527504767,55294527537535,55294528946559,55294528979327,55333372789119,55333372821887,55333372854655,55333372887423,55333372920191,55333372952959,55333372985727,55333373018495,55333373051263,55333373084031,55333373116799,55333373182335,55333373215103,55333373280639,55333373313407,55333439340927,55333439373695,55333439406463,55333439439231,55333439471999,55333439504767,55333439537535,55333439570303,55333439603071,55333439668607,55333439701375,55333439734143,55333439766911,55333439832447,55333439865215,55333439897983,55333439930751,55333439963519,55333439996287,55333440094591,55333738185087,55333738217855,55333738250623,553337 85205862783,56385205895551,56385205928319,56386096628095,56386096726399,56386096824703,56386097021311,56386097119615,56386097217919,56386097250687,56386097283455,56386097316223,56386097348991,56386097381759,56386097414527,56386097447295,56386097480063,56386097512831,56386097545599,56386097578367,56386097611135,56386097807743,56386097840511,56386097873279,56386097938815,56386098266495,56386098626943,56386098659711,56386098758015,56386098790783,56386098823551,56386098856319,56386098889087,56386098954623,56386099020159,56386099675519,56386100101503,56386100363647,56386100527487,56386100593023,56386100658559,56386101084543,56386101117311,56386101150079,56393228648831,56393228812671,56393231630719,56393231761791,56393231991167,56393232155007,56393232220543,56393232384383,56393232449919,56393232580991,56393232777599,56393232875903,56393232974207,56393233236351,56393233367423,56393233629567,56393233760639,56393234088319,56393234252159,56393234350463,56393234481535,56393234678143,56393235759487,56393238774143,5639323
592658303,57933592691071,57933592789375,57933593444735,57933593674111,57933594001791,57933594034559,57933594067327,57933594263935,57933594362239,57933594395007,57933595017599,57933595967871,57933598228863,57933598425471,57933599342975,57933599539583,57933600096639,57933600293247,57933601603967,57933601636735,57933601669503,57933602193791,57933602226559,57933602292095,57933603471743,57933608026495,57933609304447,57933609337215,57933609369983,57933609402751,57933609435519,57933609501055,57933609566591,57933609632127,57933610484095,57933610746239,57933610779007,57933611598207,57933611630975,57933611663743,57933611827583,57933611860351,57933613105535,57933613203839,57933613236607,57933613269375,57933613302143,57933613334911,57933615759743,57933615825279,57933617070463,57933618217343,57933618282879,57933618413951,57933618479487],"updated_at":"2026-07-30T03:48:46Z","market_locations_enabled":false,"market_id":382140642,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null}; illing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","disable_button_until_acknowledged":false,"preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom_start_date":null,"countdown_timer_custom ing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","disable_button_until_acknowledged":false,"preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom {"id":"15c94526-b6b8-4de1-9bc1-23b1ca52ddb0","shop_id":38436,"enabled":true,"page_types":["product","collection","index","search","page","cart","list-collections","article","blog"],"configuration":{"toastDuration":10000,"toastPosition":"bottom-right","enableXHRHijack":true,"enableFetchHijack":true,"quantityLimitDisabled":false},"type":"hijack","css_config":null,"js_config":null,"created_at":"2025-07-26T09:16:04.076Z","updated_at":"2025-07-26T09:16:04.076Z"}];window._RestockRocketConfig.obfuscateInventoryQuantity = false;window._RestockRocketConfig.product = {"id":15013725536639,"title":"Knog Plus Light Twinpack","handle":"knog-plus-light-twinpack","description":"\u003cp\u003eThe Plus Bike Light Twinpack is a super-bright set that can be mounted on your bike or clipped onto your clothing, helmet, backpack etc. Equally impressive as primary or secondary bike lights, Plus is perfect for commuters and road cyclists alike\u003c\/p\u003e\n\u003cp\u003eOur most versatile bike lights ever. Mount to your handlebar, frDecrease Quantity t":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}}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-04-08at12.46.37.png?v=1744112911","\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-04-08at12.45.33.png?v=1744112911"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-04-08at12.46.37.png?v=1744112911","options":["Colour"],"media":[{"alt":null,"id":65140539523455,"position":1,"preview_image":{"aspect_ratio":0.992,"height":1198,"width":1188,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-04-08at12.46.37.png?v=1744112911"},"aspect_ratio":0.992,"height":1198,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2025-04-08at12.46.37.png?v=1744112911","width":1188},{"alt":null,"id":65140527989119,"position":2,"preview_image":{"aspect_ratio":0.987,"height":1196,"width":1180,"src":"\/\/projekt reorderMaxCount = {55294475927935 : parseInt(""),55294475960703 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {55294475927935 : null,55294475960703 : null,}; window._RestockRocketConfig.variantsShippingText = {55294475927935 : "",55294475960703 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {55294475927935 : null,55294475960703 : null,}; window._RestockRocketConfig.selected_variant_id = 55294475927935; window._RestockRocketConfig.selected_variant_available = window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }).available;// STOQ-1595/1612 shared signal, derived once here so both the accelerated-checkout block // gate (STOQ-1612) and the click tracker (STOQ-1595) read one clearly-owned flag rather // than a side effect buried in either consumer's try/catch: whether this shop has preorders // configured at all — an enabled selling plan plus Increase Quantity w._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) // Canary override (STOQ-1287): prefer the Render host emitted into the // metafield-cached settings (api_host) when present, mirroring the same // override in assets/js/api.js. cachedSettings is populated above. Falls // back to the build-baked host for shops without the use_render_api_host // toggle (or environments where THEME_EXTENSION_API_HOST is unset), so the // setting.json + fetchEmbedConfig calls below route to the same host as the // rest of the extension's API traffic instead of staying on the baked host. window._RestockRocketConfig.host = (window._RestockRocketConfig.cachedSettings && window._RestockRocketConfig.cachedSettings.api_host) || 'https://app.restockrocket.io' // Deployed extension build number, read from the CDN asset host Shopify generates: // https://cdn.shopify.com/extensions/
<
<

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
< Cameroon (XAFCFA)
tomer interaction. // Detected variants: the variants present in this page's Liquid context (product page has them; // collection/index/etc. don't expose variants from Liquid). Used to disambiguate "embed didn't // load" vs "embed loaded but the variant wasn't a preorder/BIS candidate" in order debug. try { const _stoqInitConfig = window._RestockRocketConfig; const _stoqDetectedVariantIds = (_stoqInitConfig.product && Array.isArray(_stoqInitConfig.product.variants)) ? _stoqInitConfig.product.variants.map(function(v) { return v.id }) : []; const _stoqSelectedVariantId = _stoqInitConfig.selected_variant_id; // Per-session page-load counter, incremented here in the INLINE code so it exists // even when the deferred bundle never runs. Paired with stoq_bundle_ready's // page_load_seq, it tells order-debug which page load an add fired on (and whether // the bundle had loaded on that load). var _stoqPageSeq = 0; try { _stoqPageSeq = (parseInt(window.sessi : _stoqInitConfig.appVersion || '', liquid_cache_age: _stoqInitConfig.liquidCacheAge, // Selected variant's stock posture as our app saw it at render — explains // whether we *should* have treated it as a preorder candidate. inventory_policy: (_stoqInitConfig.variantsInventoryPolicy || {})[_stoqSelectedVariantId] || '', inventory_quantity: (_stoqInitConfig.variantsInventoryQuantity || {})[_stoqSelectedVariantId], }); } catch (e) { console.debug('STOQ - stoq_initialized publish failed:', e); } // STOQ-1595: publish stoq_accelerated_checkout_clicked for every accelerated-checkout // click (Buy Now / dynamic checkout / Shop Pay installments) on ALL surfaces, before our // bundle loads, via one delegated capture-phase listener (catches late-rendered buttons). // Only on shops with preorders configured (shared `preordersConfigured` signal from the // derivation block above) — nothing to bypass otherwise. variant_id is read per-clicked-button // from its fo

(vi

arketId || '', country_code: _sqTrack.countryIsoCode || '', page_type: _sqTrack.pageType || '', cart_token: _sqTrack.cartToken || '', page_url: (window.location && window.location.href) || '', properties: { // Mirror the bundle's own preorder check (preorder.js checkInventoryProvider- // WithCachedFallback): the live set config.preorderVariantIds (refreshed after // page load by loadVariantInventoryData) OR the Liquid-injected // cachedPreorderVariantIds — always present, so it covers clicks before the // bundle loads (why this tracker is inline). ORing both (not preferring one) // matches the bundle and is correct even if the live set is an empty array. Both // hold integer ids; the click-time id comes off a DOM input (.value → string) or // selected_variant_id, so coerce with Number for a like-typed compare. is_preorder_Cape Verde (CVE$)

tock_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); })(), // The enrolled plan's Shopify selling-plan id + inventory_provider (stoq = STOQ tracks // the OOS count; shopify = in-stock preorder). Tells order-debug what kind of preorder // the Buy Now bypassed, without a downstream lookup. 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), gate_armed: !!_sqTrack.acceleratedGateArmed, gate_active_at

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).forEach(function(key) { const value = translatedFields[key]; if (value !== null && value !== undefined && value !== '') { settings[key] = value; } }); } else { console.debug('STOQ - No translated fields found for locale:', normalizedLocale); } delete settings.translations; return settings; } catch (e) { console.debug('STOQ - error applying translations:', e); return settings; } } // Setup event listener for cart selling plan updates // This must be called before any scripts are loaded to avoid race conditions function setupCartSellingPlanUpdater(settings) {

Add to Cart `cachedSettings` comes from the app-embed Liquid render, which // Shopify edge-caches and can serve stale. Reading the same `settings` metafield // back over the Storefront API is a POST to /api/

£2,897.50version>/graphql.json — never // CDN-cached — so it returns the live value on every page load. We fetch it // best-effort and stash it on `window._RestockRocketConfig.storefrontSettings` // so individual behaviours can migrate onto the fresh value over time. This is // PURELY ADDITIVE: it does NOT change the resolution flow below, never blocks // init, and silently no-ops on any failure / missing token. (function loadStorefrontSettings() { const cfg = window._RestockRocketConfig; if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) return; // Deferred to browser idle so this best-effort read runs strictly AFTER the // critical init flow and never competes with it for a connection — the call // is a live, uncached Storefront round-trip and can be slow (multi-second // TTFB observed). Nothing on the critical path waits for it. function run() { const query = 'query StoqSettings($namespace: String!) { shop { metafield(namespace: $namespace, key:
refrontSettings = JSON.parse(value); 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); } })(); // First try to get settings from metafields with expiry check const cachedSettings = window._RestockRocketConfig.cachedSettings; const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; if (validCachedSettings) { console.debug('STOQ - using cached settings'); initializeScripts(validCachedSettings); } else { console.debug('STOQ - fetching fresh settings'); const headers = { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 'ngrok-skip-browser-warning': 'ski
£3,050.00TOQ - 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) { // Apply failures are programming bugs (e.g. response shape changed // server-side and the assignment threw). Surface them as console.error // so they're visible in browser logs, then re-throw to fall through // to the same Liquid-cached fallback as a fetch failure. console.error('STOQ - apply failed for ' +
ipts. Race against a 1000ms timeout so a slow // API can't block init indefinitely. If the timeout wins, the in-flight // fetches still complete and update window._RestockRocketConfig — the // bundle re-reads sellingPlans/integrations on every interaction, so the // late-arriving values benefit subsequent renders even though the first // paint may use the Liquid-cached values. On any failure the existing // Liquid-loaded values stay in place via fetchEmbedConfig's catch. if (!window._RestockRocketConfig.isLiquidCacheFresh && !settings.disable_refresh_on_stale_liquid) { console.debug('STOQ - Liquid cache stale, refreshing selling_plans + integrations'); Promise.race([ Promise.all([ fetchEmbedConfig('selling_plans', function(data) { if (data && Array.isArray(data.plans)) { window._RestockRocketConfig.sellingPlans = data.plans; window._RestockRocketConfig.disabledSellingPlanIds = data.disabled_plan_ids || [];
ocketConfig.pageType, enabled: settings.enable_app, settings: settings, preorderEnabled: settings.preorder_enabled } }); console.debug('STOQ - dispatching app loaded event'); window.dispatchEvent(appLoadedEvent); } }

District+ 3 is a comfortable, dependable electric bike that makes getting around your city simple, fast and fun. It has low-maintenance internal gearing, a Bosch motor and controller, and a frame that integrates the batteries inside the down tube, and comes with battery options from 400 Wh to 725 Wh. Plus, it comes with road-smoothing suspension and all the utility features you need like mudguards, integrated lights and a rear rack
  • *Please note – spec applies to all sizes unless listed separately Frameset