Cane Creek eeSILK Stem
Less Fatigue = Maximum Performance
Introducing the newest member of the eeSilk compliance family, the eeSilk stem. The eeSilk stem features up to 20mm of tunable compliance via a single bolt external elastomer change and a compliance switch to choose between soft and firm modes for no matter where the ride takes you.
- Compliance: up to 20mm
- Weight: 225g - 235g
- Angle: -6 degree
- Stack Height: 49mm
- Bar Clamp: 31.8mm
Frequently Asked Questions
-
Please get in touch with a member of the team either by phone (01313745324) or email ([email protected]) where on of the team will be more than happy to help.
ProjektRide Bike Shop Edinburgh
-
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.
Postage is free on orders over £50. Orders under £50, our postage charge is £3.99.
We also have a physical store, if you are local please pop in -
ProjektRide Bike Shop Edinburgh
Shop Pay


7_at_10.49.51.png?v=1639738207","width":1138},{"alt":null,"id":28865184006370,"position":2,"preview_image":{"aspect_ratio":1.004,"height":1134,"width":1138,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.22.59.png?v=1639738933"},"aspect_ratio":1.004,"height":1134,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.22.59.png?v=1639738933","width":1138},{"alt":null,"id":28865185513698,"position":3,"preview_image":{"aspect_ratio":1.004,"height":1134,"width":1138,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.23.28.png?v=1639738953"},"aspect_ratio":1.004,"height":1134,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.23.28.png?v=1639738953","width":1138},{"alt":null,"id":28865188692194,"position":4,"preview_image":{"aspect_ratio":1.004,"height":1134,"width":1138,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.23.43.png?v=163);
}
function initializeScripts(settings) {
settings = applyTranslations(settings);
window._RestockRocketConfig.settings = settings;
console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`);
// Stale-Liquid resilience (default-on, per-shop opt-out via the
// `disable_refresh_on_stale_liquid` Toggle, surfaced as the negative
// `disable_refresh_on_stale_liquid` flag in settings.json so that
// `undefined` -- in CDN-cached metafield payloads that predate this
// key -- reads as `!undefined === true` and gets default-on behavior
// immediately, no metafield rewrite required).
// When the Liquid CDN cache is older than LIQUID_CACHE_MAX_AGE the in-page
// selling_plans / integrations metafields can be wrong; refresh both from
// the API before launching scripts. 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._Restoche age
if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) {
console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh');
window._RestockRocketConfig.isLiquidCacheFresh = true;
window._RestockRocketConfig.liquidCacheAge = null;
} else {
const now = Math.floor(Date.now() / 1000); // Current time in seconds
const liquidCacheAge = now - liquidRenderedAt; // Age in seconds
// Surfaced into funnel events: a stale cache means the app rendered with
// outdated inventory/selling-plan data — a real "had the opportunity but
// failed" cause. Negative (client clock ahead) clamps to 0.
window._RestockRocketConfig.liquidCacheAge = Math.max(0, liquidCacheAge);
// Handle client clock ahead of server
if (liquidCacheAge
9738995"},"aspect_ratio":1.004,"height":1134,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.23.43.png?v=1639738995","width":1138},{"alt":null,"id":28865189773538,"position":5,"preview_image":{"aspect_ratio":1.004,"height":1134,"width":1138,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.23.38.png?v=1639739005"},"aspect_ratio":1.004,"height":1134,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.23.38.png?v=1639739005","width":1138},{"alt":null,"id":28865190002914,"position":6,"preview_image":{"aspect_ratio":1.004,"height":1134,"width":1138,"src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.23.52.png?v=1639739009"},"aspect_ratio":1.004,"height":1134,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/products\/Screenshot_2021-12-17_at_10.23.52.png?v=1639739009","width":1138}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"ckRocketConfig — 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 || [];
}
}),
fetchEmbedConfig('integrations', function(data) {
if (Array.isArray(data)) {
window._RestockRocketConfig.integrations<