{"id":1835,"date":"2026-07-28T15:04:22","date_gmt":"2026-07-28T19:04:22","guid":{"rendered":"https:\/\/boldgambler.com\/ca\/?post_type=apostas&#038;p=1835"},"modified":"2026-07-28T15:52:56","modified_gmt":"2026-07-28T19:52:56","slug":"stanley-cup-odds","status":"publish","type":"apostas","link":"https:\/\/boldgambler.com\/ca\/sports-betting\/nhl\/stanley-cup-odds\/","title":{"rendered":"2027 Stanley Cup Favourites: Edmonton Oilers Lead Canadian Hopes in Early Odds"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">As the National Hockey League prepares for the 2026\u201327 season, anticipation is growing across Canada and the United States. This year features a return to an 84-game regular-season schedule for the first time since 1993\u201394. While the ultimate prize is still months away, evaluators have already pinpointed the early front-runners. Based on updated figures from July 28, 2026, here are the top five favourites to win the 2027 Stanley Cup, followed by a look at the rest of the league.<\/p>\n\n\n\n<h2 id=\"h-a-look-at-the-top-favourites-for-the-2027-stanley-cup\" class=\"wp-block-heading\">A Look at the Top Favourites for the 2027 Stanley Cup<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Florida Panthers (+650)<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Florida Panthers enter the 2026\u201327 campaign as the top overall favourites. This might surprise some, considering they endured a tough 2025\u201326 season, missing the playoffs with a 40-38-4 record. However, this followed back-to-back Stanley Cup championships. Analysts attribute much of their recent struggle to injuries and expect a massive bounce-back year from their healthy core.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Carolina Hurricanes (+700)<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Just behind Florida are the defending champions, the Carolina Hurricanes. They conquered the hockey world in June 2026, defeating the Vegas Golden Knights in six games to capture their second Stanley Cup. Head coach Rod Brind&#8217;Amour cemented his legacy by leading the squad to glory, matching his 2006 triumph as a player. With playoff MVP Jordan Staal anchoring the roster, the Hurricanes are heavily favoured to repeat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Colorado Avalanche (+750)<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Colorado Avalanche rank third, continuing their status as a perennial powerhouse. Colorado captured the Presidents&#8217; Trophy in 2025\u201326 with an outstanding 55-16-11 record. Driven by superstar Nathan MacKinnon, who won the Maurice &#8220;Rocket&#8221; Richard Trophy with 53 goals, they possess a terrifying offence. Despite a surprising sweep by Vegas in the Western Conference Final, a healthy Avalanche squad remains primed for another deep playoff run.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Edmonton Oilers (+900)<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Coming in fourth are the Edmonton Oilers. Whenever a team features Connor McDavid, they are a constant threat. McDavid continued his dominance in 2025\u201326, winning the Art Ross Trophy with 138 points and securing the Ted Lindsay Award. The Oilers ushered in a new era by hiring veteran head coach Mike Babcock in June 2026. Fans hope his approach will finally push Edmonton\u2019s elite talent to a championship.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vegas Golden Knights (+1000)<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rounding out the top five are the Vegas Golden Knights. They proved their resilience by reaching the 2026 Stanley Cup Final before falling to Carolina. After parting ways with John Tortorella, the Golden Knights promoted Ryan Craig to head coach. Their talented roster keeps them firmly in the championship conversation.<\/p>\n\n\n<style id=\"bg-odds-css\">.bg-odds-wrap{border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:18px 18px 12px;margin:1.4em 0;font-family:inherit}\n.bg-odds-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}\n.bg-odds-title{font-weight:700;font-size:1.05rem;color:var(--bgo-p,#111827)}\n.bg-odds-meta{display:flex;align-items:center;gap:10px;font-size:.78rem;color:#6b7280}\n.bg-odds-live{display:inline-flex;align-items:center;gap:6px;background:var(--bgo-a,#ef4444);color:#fff;font-weight:700;font-size:.68rem;letter-spacing:.04em;padding:3px 9px;border-radius:999px}\n.bg-odds-live i{width:7px;height:7px;border-radius:50%;background:#fff;display:inline-block;animation:bgoPulse 1.6s ease-in-out infinite}\n@keyframes bgoPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.7)}}\n.bg-odds-legend{display:flex;gap:10px 18px;flex-wrap:wrap;margin:14px 0 2px;padding-top:12px;border-top:1px solid #f0f1f3;font-size:.8rem;justify-content:center}\n.bg-odds-legend .bgo-li{display:inline-flex;align-items:center;gap:6px;color:#6b7280;background:none;border:0;padding:3px 6px;margin:0;font:inherit;line-height:1.4;cursor:pointer;border-radius:6px;transition:opacity .15s,background .15s}\n.bg-odds-legend .bgo-li:hover{background:#f6f7f9}\n.bg-odds-legend .bgo-li.is-off{opacity:.45}\n.bg-odds-legend .bgo-li.is-off .bgo-name,.bg-odds-legend .bgo-li.is-off .bgo-val{color:#9ca3af;font-weight:400}\n.bg-odds-legend .bgo-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 auto}\n.bg-odds-legend .bgo-name{color:#374151}\n.bg-odds-legend .bgo-val{font-weight:600;color:#111827;margin-left:2px}\n.bg-odds-legend .bgo-delta{font-size:.72rem;font-weight:700;margin-left:3px;letter-spacing:-.02em}\n.bg-odds-legend .bgo-delta.bgo-down{color:#059669}\n.bg-odds-legend .bgo-delta.bgo-up{color:#dc2626}\n.bg-odds-legend .bgo-li.is-off .bgo-delta{color:#9ca3af;font-weight:400}\n.bg-odds-elim{text-align:center;font-size:.76rem;color:#9ca3af;margin:2px 0 2px;padding:0 8px}\n.bg-odds-elim .bgo-elim-lbl{font-weight:600;color:#6b7280}\n.bg-odds-elim .bgo-elim-name{text-decoration:line-through;margin:0 1px}\n.bg-odds-body{position:relative;margin-top:4px}\n.bg-odds-body svg{display:block;width:100%;height:auto}\n.bg-odds-msg{padding:34px 0;text-align:center;color:#9ca3af;font-size:.9rem}\n.bg-odds-foot{margin-top:10px;padding-top:8px;font-size:.76rem;color:#9ca3af}\n.bg-odds-footwrap{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;flex-wrap:wrap}\n.bg-odds-cta{display:inline-block;background:var(--bgo-a,#ef4444);color:#fff;font-weight:700;font-size:.95rem;text-decoration:none;padding:10px 22px;border-radius:9px;transition:filter .15s}\n.bg-odds-cta:hover{filter:brightness(1.08);color:#fff}\n.bg-odds-tip{position:absolute;pointer-events:none;background:#111827;color:#f9fafb;border-radius:8px;padding:7px 10px;font-size:.75rem;line-height:1.55;white-space:nowrap;opacity:0;transition:opacity .12s;z-index:5;box-shadow:0 4px 14px rgba(0,0,0,.18)}\n.bg-odds-tip .bgo-td{color:#9ca3af;margin-bottom:2px}\n.bg-odds-tip .bgo-sub{color:#9ca3af}\n@media(max-width:600px){.bg-odds-wrap{padding:14px 12px 8px}.bg-odds-legend{gap:12px;font-size:.8rem}}<\/style><script id=\"bg-odds-cfg\">window.BG_ODDS_CFG={\"rest\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/wp-json\\\/bg-odds\\\/v1\\\/series\\\/\",\"lang\":\"en\",\"poll\":60,\"palette\":[\"#FF4A4A\",\"#2563eb\",\"#059669\",\"#d97706\",\"#7c3aed\",\"#0891b2\",\"#dc2626\",\"#64748b\"],\"i18n\":{\"live\":\"LIVE\",\"updated\":\"Updated\",\"nodata\":\"No data yet\",\"closed\":\"Market closed\",\"manual\":\"Odds updated on\",\"toggle\":\"Click to show\\\/hide on the chart\",\"pick\":\"Click a team below to show its line\",\"since\":\"Change since first reading\",\"eliminated\":\"Eliminated\"}};<\/script><script id=\"bg-odds-js\">\/\/<BGJS>\n(function(){\n'use strict';\nvar CFG=window.BG_ODDS_CFG||{};\nvar LOCALES={pt:'pt-BR',es:'es',en:'en-US'};\n\nfunction fmtVal(v,format){\n  if(format==='decimal'){return Number(v).toFixed(2);}\n  var n=Number(v);\n  return (n>=10?Math.round(n):(Math.round(n*10)\/10))+'%';\n}\nfunction fmtAmerican(a){\n  if(a===null||a===undefined||a===''){return null;}\n  var s=String(a);\n  if(s[0]!=='-'&&s[0]!=='+'&&!isNaN(Number(s))&&Number(s)>0){return '+'+s;}\n  return s;\n}\nfunction impliedFromDec(dec){ return (dec>0)? Math.round(1000\/dec)\/10 : null; } \/\/ 100\/dec, 1 casa\n\n\/\/ Escolhe a odd a exibir no formato do mercado (decimal|fractional|american).\n\/\/ Fracional\/americana so existem quando vieram do feed; sem elas, cai para decimal.\nfunction pickOdd(dec,frac,amer,oddsFmt){\n  if(oddsFmt==='fractional'&&frac){return frac;}\n  if(oddsFmt==='american'){var am=fmtAmerican(amer);if(am){return am;}}\n  if(dec!==null&&dec!==undefined&&Number(dec)>0){return Number(dec).toFixed(2);}\n  return null;\n}\n\/\/ Par exibido ao lado do nome: \"odd_no_formato_escolhido \u00b7 prob%\" (sem % duplicada).\nfunction fmtOddPair(dec,frac,amer,oddsFmt){\n  var odd=pickOdd(dec,frac,amer,oddsFmt);\n  var imp=(dec!==null&&dec!==undefined)?impliedFromDec(Number(dec)):null;\n  var parts=[];\n  if(odd){parts.push(odd);}\n  if(imp!==null){parts.push(imp+'%');}\n  return parts.length?parts.join(' \\u00b7 '):null;\n}\nfunction fmtDate(ts){\n  try{return new Date(ts*1000).toLocaleDateString(LOCALES[CFG.lang]||'en-US',{month:'short'});}catch(e){return '';}\n}\nfunction fmtDateTime(ts){\n  try{return new Date(ts*1000).toLocaleString(LOCALES[CFG.lang]||'en-US',{day:'2-digit',month:'short',hour:'2-digit',minute:'2-digit'});}catch(e){return '';}\n}\nfunction fmtTime(ts){\n  try{return new Date(ts*1000).toLocaleTimeString(LOCALES[CFG.lang]||'en-US',{hour:'2-digit',minute:'2-digit'});}catch(e){return '';}\n}\nfunction fmtStamp(ts){\n  try{return new Date(ts*1000).toLocaleDateString(LOCALES[CFG.lang]||'en-US',{day:'2-digit',month:'2-digit',year:'numeric'});}catch(e){return '';}\n}\n\/\/ Rotulo curto de eixo: \"24 jul\" \u2014 usado quando ha poucas coletas.\nfunction fmtDayShort(ts){\n  try{return new Date(ts*1000).toLocaleDateString(LOCALES[CFG.lang]||'en-US',{day:'2-digit',month:'short'});}catch(e){return '';}\n}\n\/\/ Variacao da ODD desde a abertura. Convencao de mercado:\n\/\/  odd caiu (shortened) = chance subiu = verde\/baixo\n\/\/  odd subiu (drifted)  = chance caiu  = vermelho\/cima\nfunction oddDelta(openDec,nowDec){\n  if(openDec===null||openDec===undefined||nowDec===null||nowDec===undefined){return null;}\n  var a=Number(openDec),b=Number(nowDec);\n  if(!isFinite(a)||!isFinite(b)||a<=0||b<=0){return null;}\n  var diff=b-a;\n  if(Math.abs(diff)<0.005){return {dir:0,pct:0};}\n  return {dir:diff>0?1:-1,pct:Math.round((diff\/a)*1000)\/10};\n}\nfunction niceTicks(min,max,target){\n  var span=max-min;if(span<=0){span=1;}\n  var steps=[0.1,0.2,0.25,0.5,1,2,2.5,5,10,20,25,50,100];\n  var step=steps[steps.length-1];\n  for(var i=0;i<steps.length;i++){if(span\/steps[i]<=target){step=steps[i];break;}}\n  var start=Math.ceil(min\/step)*step,out=[];\n  for(var v=start;v<=max+1e-9;v+=step){out.push(Math.round(v*100)\/100);}\n  return out;\n}\n\/\/ Cor estavel por SELECAO (nao por posicao): reordenar por favoritismo nao\n\/\/ pode trocar a cor de um time. Se sel.color existe, usa ela; senao, deriva\n\/\/ da palette por um hash simples da key (mesma key = sempre a mesma cor).\nfunction colorFor(sel,idx){\n  if(sel.color&&\/^#([0-9a-f]{3}){1,2}$\/i.test(sel.color)){return sel.color;}\n  var p=CFG.palette||['#ef4444'];\n  var k=String(sel.key||idx);\n  var h=0;\n  for(var i=0;i<k.length;i++){h=(h*31+k.charCodeAt(i))>>>0;}\n  return p[h%p.length];\n}\nfunction stepPath(pts,X,Y){\n  if(!pts.length){return '';}\n  var d='M'+X(pts[0][0]).toFixed(1)+' '+Y(pts[0][1]).toFixed(1);\n  for(var i=1;i<pts.length;i++){\n    d+='H'+X(pts[i][0]).toFixed(1)+'V'+Y(pts[i][1]).toFixed(1);\n  }\n  return d;\n}\n\/\/ Ultimo ponto <= t (semantica de step). Ponto: [t,v,dec,frac,amer].\nfunction pointAt(pts,t){\n  var p=null;\n  for(var i=0;i<pts.length;i++){\n    if(pts[i][0]<=t){p=pts[i];}else{break;}\n  }\n  return p;\n}\n\n\/\/ Ranking por favoritismo: menor odd decimal primeiro. Sem decimal, usa o valor\n\/\/ plotado (maior % = mais favorito; menor odd = mais favorito).\nfunction favRank(latest,key,format){\n  var lt=latest&&latest[key]?latest[key]:null;\n  if(!lt){return Infinity;}\n  if(lt.dec!==null&&lt.dec!==undefined&&Number(lt.dec)>0){return Number(lt.dec);}\n  var v=Number(lt.v);\n  if(!isFinite(v)){return Infinity;}\n  return (format==='decimal')? v : (v>0? 100\/v : Infinity);\n}\n\n\/\/ Estado de visibilidade por linha. Na primeira renderizacao liga os TOP N\n\/\/ favoritos; depois respeita o que o leitor clicou (persistido no elemento).\nfunction visState(wrap,data,format){\n  if(wrap.__bgoVis){return wrap.__bgoVis;}\n  var top=parseInt(wrap.getAttribute('data-top'),10);\n  if(isNaN(top)||top<0){top=5;}\n  var sels=data.selections||[];\n  var order=sels.map(function(s){return {key:s.key,r:favRank(data.latest,s.key,format)};});\n  order.sort(function(a,b){return a.r-b.r;});\n  var vis={};\n  sels.forEach(function(s){vis[s.key]=false;});\n  order.slice(0,top).forEach(function(o){vis[o.key]=true;});\n  wrap.__bgoVis=vis;\n  return vis;\n}\n\nfunction render(wrap,data){\n  var body=wrap.querySelector('.bg-odds-body');\n  var legend=wrap.querySelector('.bg-odds-legend');\n  var meta=wrap.querySelector('.bg-odds-meta');\n  var H=parseInt(wrap.getAttribute('data-height'),10)||320;\n  var W=Math.max(300,body.clientWidth||640);\n  var format=data.market.format||'percent';\n  var oddsFmt=data.market.odds_fmt||'decimal';\n\n  meta.innerHTML='';\n  if(data.market.manual_updated){\n    var up=document.createElement('span');\n    up.textContent=CFG.i18n.manual+' '+fmtStamp(data.market.manual_updated);\n    meta.appendChild(up);\n  }\n\n  \/\/ Rodape editorial some \u2014 a data agora vai no topo. Mantem o wrap para o CTA.\n  var foot=wrap.querySelector('.bg-odds-foot');\n  if(foot){ foot.style.display='none'; }\n\n  legend.innerHTML='';\n  \/\/ Ordena por FAVORITISMO ATUAL (nao pela ordem de cadastro). Assim quando um\n  \/\/ time ultrapassa outro (ex: Flamengo passa o Palmeiras), a ordem visual na\n  \/\/ legenda e no desenho acompanha, em vez de ficar presa a ordem antiga.\n  var sels=(data.selections||[]).slice().sort(function(a,b){\n    return favRank(data.latest,a.key,format)-favRank(data.latest,b.key,format);\n  });\n  \/\/ Indice de cada selecao na ordem final \u2014 allPts[__idx] pertence a este sel.\n  sels.forEach(function(sel,idx){ sel.__idx=idx; });\n  var vis=visState(wrap,data,format);\n\n  \/\/ Mapa de cores calculado UMA VEZ, por sel.key. Legenda, linhas e tooltip\n  \/\/ leem TODOS deste mesmo mapa \u2014 nunca recalculam por conta propria \u2014 para\n  \/\/ que a cor de um time nunca possa divergir entre as partes do grafico.\n  var colorMap={};\n  sels.forEach(function(sel,idx){ colorMap[sel.key]=colorFor(sel,idx); });\n  function colorOf(sel){ return colorMap[sel.key]||colorFor(sel,0); }\n\n  sels.forEach(function(sel,idx){\n    var c=colorOf(sel);\n    var on=!!vis[sel.key];\n    var lt=data.latest&&data.latest[sel.key]?data.latest[sel.key]:null;\n    var li=document.createElement('button');\n    li.type='button';\n    li.className='bgo-li'+(on?' is-on':' is-off');\n    li.setAttribute('aria-pressed',on?'true':'false');\n    li.title=CFG.i18n.toggle||'';\n    var html='<span class=\"bgo-dot\" style=\"background:'+(on?c:'transparent')+';box-shadow:inset 0 0 0 2px '+c+'\"><\/span><span class=\"bgo-name\">'+sel.label+'<\/span>';\n    if(lt){\n      \/\/ Mostra a ODD no formato escolhido (nao a probabilidade). Sem odd => cai para o valor plotado.\n      var odd=pickOdd(lt.dec,lt.frac,lt.amer,oddsFmt);\n      html+='<span class=\"bgo-val\">'+(odd||fmtVal(lt.v,format))+'<\/span>';\n      \/\/ Variacao desde a abertura (so aparece se houve movimento real).\n      var op=data.opening&&data.opening[sel.key]?data.opening[sel.key]:null;\n      if(op){\n        var d=oddDelta(op.dec,lt.dec);\n        if(d&&d.dir!==0){\n          var arrow=d.dir<0?'\\u25BC':'\\u25B2';\n          var cls=d.dir<0?'bgo-down':'bgo-up';\n          html+='<span class=\"bgo-delta '+cls+'\" title=\"'+(CFG.i18n.since||'')+'\">'+arrow+Math.abs(d.pct)+'%<\/span>';\n        }\n      }\n    }\n    li.innerHTML=html;\n    li.addEventListener('click',function(){\n      wrap.__bgoVis[sel.key]=!wrap.__bgoVis[sel.key];\n      render(wrap,data);\n    });\n    legend.appendChild(li);\n  });\n\n  \/\/ Secao \"Eliminados\": nomes riscados, fora do grafico. So aparece se houver.\n  var elimWrap=wrap.querySelector('.bg-odds-elim');\n  var elim=data.eliminated||[];\n  if(elim.length){\n    if(!elimWrap){\n      elimWrap=document.createElement('div');elimWrap.className='bg-odds-elim';\n      legend.parentNode.insertBefore(elimWrap,legend.nextSibling);\n    }\n    var eh='<span class=\"bgo-elim-lbl\">'+(CFG.i18n.eliminated||'Eliminados')+':<\/span> ';\n    eh+=elim.map(function(e){return '<span class=\"bgo-elim-name\">'+e.label+'<\/span>';}).join(', ');\n    elimWrap.innerHTML=eh;\n    elimWrap.style.display='';\n  }else if(elimWrap){\n    elimWrap.style.display='none';\n  }\n\n  \/\/ Escala e linhas consideram APENAS as selecoes visiveis.\n  var allPts=[],tMin=Infinity,tMax=-Infinity,vMin=Infinity,vMax=-Infinity,anyVis=false;\n  sels.forEach(function(sel){\n    var pts=(data.series&&data.series[sel.key])||[];\n    allPts.push(pts);\n    if(!vis[sel.key]){return;}\n    anyVis=true;\n    pts.forEach(function(p){\n      if(p[0]<tMin){tMin=p[0];}if(p[0]>tMax){tMax=p[0];}\n      if(p[1]<vMin){vMin=p[1];}if(p[1]>vMax){vMax=p[1];}\n    });\n  });\n\n  if(!anyVis){\n    body.innerHTML='<div class=\"bg-odds-msg\">'+(CFG.i18n.pick||CFG.i18n.nodata)+'<\/div>';\n    return;\n  }\n  if(!isFinite(tMin)||tMax<=tMin){\n    body.innerHTML='<div class=\"bg-odds-msg\">'+CFG.i18n.nodata+'<\/div>';\n    return;\n  }\n\n  \/\/ ---- Decide escala do eixo Y: linear ou logaritmica ----\n  \/\/ Quando ha um favorito muito destacado e um pelotao amontoado embaixo (ex:\n  \/\/ campeao a 47% e o resto entre 6-20%), a escala linear espreme o pelotao\n  \/\/ numa faixa fininha e deixa um vazio enorme no meio. A escala log comprime o\n  \/\/ topo e expande a base, dando espaco pra disputa real entre os azaroes.\n  \/\/ So vale para o eixo de probabilidade (percent) e so quando a disparidade\n  \/\/ justifica \u2014 num grafico equilibrado, log deixaria estranho ao contrario.\n  var useLog=false;\n  if(format==='percent'){\n    var lo=vMin,hi=vMax;\n    \/\/ Razao entre o teto e o piso dos dados visiveis. >4x = disparidade grande.\n    if(lo>0.4 && hi\/lo>=4){ useLog=true; }\n  }\n\n  if(useLog){\n    \/\/ Dominio log: do menor \"nice\" abaixo do piso ao maior \"nice\" acima do teto,\n    \/\/ em passos de potencia (1,2,5 x10^n). Clampado em [0.5, 100].\n    var lgMin=Math.max(0.5, vMin);\n    var lgMax=Math.min(100, vMax);\n    \/\/ Folga: meia decada abaixo\/acima para os pontos nao colarem na borda.\n    lgMin=Math.pow(10, Math.floor(Math.log10(lgMin)*2)\/2);\n    lgMax=Math.pow(10, Math.ceil(Math.log10(lgMax)*2)\/2);\n    lgMin=Math.max(0.5, Math.min(lgMin, vMin*0.85));\n    lgMax=Math.min(100, Math.max(lgMax, vMax*1.05));\n    vMin=lgMin; vMax=lgMax;\n  }else if(format==='percent'){\n    vMin=Math.max(0,Math.floor(vMin\/10)*10-0);\n    vMax=Math.min(100,Math.ceil(vMax\/10)*10);\n    if(vMax-vMin<10){vMax=Math.min(100,vMin+10);}\n  }else{\n    var pad=(vMax-vMin)*0.12||0.2;vMin=Math.max(0,vMin-pad);vMax=vMax+pad;\n  }\n\n  var padL=14,padR=58,padT=16,padB=26;\n  var iw=W-padL-padR,ih=H-padT-padB;\n\n  \/\/ ---- Eixo X por MEDICAO (nao por tempo real) ----\n  \/\/ Todos os timestamps distintos das linhas visiveis, em ordem. Cada um ocupa\n  \/\/ uma fatia igual do grafico: 2 medicoes => mudanca no meio; 3 => em tercos.\n  var tset={};\n  sels.forEach(function(sel,idx){\n    if(!vis[sel.key]){return;}\n    (allPts[idx]||[]).forEach(function(p){tset[p[0]]=true;});\n  });\n  var tkeys=Object.keys(tset).map(Number).sort(function(a,b){return a-b;});\n  var tPos={};\n  var denom=Math.max(1,tkeys.length-1);\n  tkeys.forEach(function(tv,i){tPos[tv]=i\/denom;});\n  function X(t){\n    var pos=tPos[t];\n    if(pos===undefined){\n      \/\/ t fora dos pontos (ex: posicao do mouse): interpola entre vizinhos.\n      if(t<=tkeys[0])pos=0;\n      else if(t>=tkeys[tkeys.length-1])pos=1;\n      else{\n        for(var i=0;i<tkeys.length-1;i++){\n          if(t>=tkeys[i]&&t<=tkeys[i+1]){\n            var frac=(t-tkeys[i])\/((tkeys[i+1]-tkeys[i])||1);\n            pos=(i+frac)\/denom;break;\n          }\n        }\n      }\n    }\n    return padL+pos*iw;\n  }\n  \/\/ Y: linear por padrao; logaritmica quando useLog (comprime topo, expande base).\n  var logMin=useLog?Math.log10(vMin):0, logMax=useLog?Math.log10(vMax):0;\n  var logSpan=(logMax-logMin)||1;\n  function Y(v){\n    if(useLog){\n      var vv=Math.max(v,vMin*0.5); \/\/ evita log(0)\/negativo em valores minusculos\n      return padT+ih-((Math.log10(vv)-logMin)\/logSpan)*ih;\n    }\n    return padT+ih-((v-vMin)\/(vMax-vMin))*ih;\n  }\n\n  var ns='http:\/\/www.w3.org\/2000\/svg';\n  var svg=document.createElementNS(ns,'svg');\n  svg.setAttribute('viewBox','0 0 '+W+' '+H);\n  svg.setAttribute('preserveAspectRatio','xMidYMid meet');\n\n  \/\/ Ticks: em log, usa a progressao 1-2-5 por decada (1,2,5,10,20,50) dentro do\n  \/\/ dominio; em linear, os ticks \"nice\" de sempre.\n  var yTicks;\n  if(useLog){\n    yTicks=[];\n    var bases=[1,2,5];\n    for(var dec=-1;dec<=2;dec++){\n      for(var bi=0;bi<bases.length;bi++){\n        var tv=bases[bi]*Math.pow(10,dec);\n        if(tv>=vMin-1e-9 && tv<=vMax+1e-9){ yTicks.push(Math.round(tv*100)\/100); }\n      }\n    }\n    if(!yTicks.length){ yTicks=[vMin,vMax]; }\n  }else{\n    yTicks=niceTicks(vMin,vMax,5);\n  }\n  yTicks.forEach(function(v){\n    var y=Y(v);\n    var ln=document.createElementNS(ns,'line');\n    ln.setAttribute('x1',padL);ln.setAttribute('x2',W-padR);\n    ln.setAttribute('y1',y);ln.setAttribute('y2',y);\n    ln.setAttribute('stroke','#e5e7eb');ln.setAttribute('stroke-dasharray','2 4');\n    svg.appendChild(ln);\n    var tx=document.createElementNS(ns,'text');\n    tx.setAttribute('x',W-padR+8);tx.setAttribute('y',y+4);\n    tx.setAttribute('fill','#9ca3af');tx.setAttribute('font-size','11');\n    tx.textContent=fmtVal(v,format);\n    svg.appendChild(tx);\n  });\n\n  \/\/ Medicoes reais visiveis (exclui o ponto sintetico \"agora\"): sao os tkeys\n  \/\/ que existem em data.stamps. Cada uma vira um rotulo + guia vertical.\n  var stampSet={};(data.stamps||[]).forEach(function(s){stampSet[s]=true;});\n  var realStamps=tkeys.filter(function(t){return stampSet[t];});\n  var many=realStamps.length>8;\n  var lastLabX=-999;\n  realStamps.forEach(function(s){\n    var x=X(s);\n    var gl=document.createElementNS(ns,'line');\n    gl.setAttribute('x1',x);gl.setAttribute('x2',x);\n    gl.setAttribute('y1',padT);gl.setAttribute('y2',padT+ih);\n    gl.setAttribute('stroke','#eef0f2');gl.setAttribute('stroke-width','1');\n    svg.appendChild(gl);\n    \/\/ Com muitas medicoes, rotula so as que nao colam; com poucas, rotula todas.\n    if(!many || x-lastLabX>=52){\n      lastLabX=x;\n      var tl=document.createElementNS(ns,'text');\n      tl.setAttribute('x',x);tl.setAttribute('y',H-8);\n      tl.setAttribute('fill','#9ca3af');tl.setAttribute('font-size','11');\n      \/\/ Extremos ancoram para dentro do canvas (senao o texto centralizado\n      \/\/ extrapola a borda e e cortado pelo viewBox \u2014 era o caso da 1a data).\n      var anchor='middle';\n      if(x<=padL+2){anchor='start';}\n      else if(x>=padL+iw-2){anchor='end';}\n      tl.setAttribute('text-anchor',anchor);\n      tl.textContent=fmtDayShort(s);\n      svg.appendChild(tl);\n    }\n  });\n  var sparse=true; \/\/ sempre desenha marcadores nas medicoes (eixo por medicao)\n\n  \/\/ ---- Jitter anti-sobreposicao ----\n  \/\/ Em cada timestamp, linhas visiveis cujo Y cai dentro de JT pixels sao\n  \/\/ consideradas \"empatadas\" e recebem um deslocamento vertical simetrico, para\n  \/\/ nao desenharem uma exatamente sobre a outra. Nao altera dados: o dot, o\n  \/\/ tooltip e a legenda seguem mostrando o valor real.\n  var JT=3.0;        \/\/ tolerancia de empate, em px\n  var JSTEP=3.2;     \/\/ afastamento entre linhas empatadas, em px\n  var visIdx=[];\n  sels.forEach(function(sel,idx){ if(vis[sel.key]&&allPts[idx]&&allPts[idx].length){visIdx.push(idx);} });\n\n  \/\/ offAt[idx][t] = deslocamento em px daquela linha naquele timestamp.\n  var offAt={};\n  visIdx.forEach(function(idx){offAt[idx]={};});\n  tkeys.forEach(function(t){\n    \/\/ valor Y de cada linha visivel neste t\n    var here=[];\n    visIdx.forEach(function(idx){\n      var p=pointAt(allPts[idx],t);\n      if(p){here.push({idx:idx,y:Y(p[1])});}\n    });\n    \/\/ agrupa por proximidade de Y\n    here.sort(function(a,b){return a.y-b.y;});\n    var used={};\n    for(var i=0;i<here.length;i++){\n      if(used[here[i].idx])continue;\n      var group=[here[i]];used[here[i].idx]=true;\n      for(var j=i+1;j<here.length;j++){\n        if(!used[here[j].idx]&&Math.abs(here[j].y-here[i].y)<=JT){\n          group.push(here[j]);used[here[j].idx]=true;\n        }\n      }\n      if(group.length>1){\n        \/\/ distribui simetricamente em torno do Y comum\n        var mid=(group.length-1)\/2;\n        group.forEach(function(g,gi){ offAt[g.idx][t]=(gi-mid)*JSTEP; });\n      }\n    }\n  });\n  function Yoff(idx,t,v){var o=offAt[idx]&&offAt[idx][t]!==undefined?offAt[idx][t]:0;return Y(v)+o;}\n  \/\/ stepPath com deslocamento por ponto (usa o t de cada ponto para achar o offset).\n  function stepPathJ(idx,pts){\n    if(!pts.length)return '';\n    var d='M'+X(pts[0][0]).toFixed(1)+' '+Yoff(idx,pts[0][0],pts[0][1]).toFixed(1);\n    for(var i=1;i<pts.length;i++){\n      d+='H'+X(pts[i][0]).toFixed(1)+'V'+Yoff(idx,pts[i][0],pts[i][1]).toFixed(1);\n    }\n    return d;\n  }\n\n  sels.forEach(function(sel,idx){\n    if(!vis[sel.key]){return;}\n    var pts=allPts[idx];if(!pts.length){return;}\n    var c=colorOf(sel);\n    var path=document.createElementNS(ns,'path');\n    path.setAttribute('d',stepPathJ(idx,pts));\n    path.setAttribute('fill','none');\n    path.setAttribute('stroke',c);\n    path.setAttribute('stroke-width','2');\n    path.setAttribute('stroke-linejoin','round');\n    svg.appendChild(path);\n\n    \/\/ Com poucas medicoes, marca cada coleta real (o 6o elemento marca o ponto\n    \/\/ sintetico \"agora\", que nao recebe marcador).\n    if(sparse){\n      pts.forEach(function(p){\n        if(p[5]){return;}\n        var m=document.createElementNS(ns,'circle');\n        m.setAttribute('cx',X(p[0]));m.setAttribute('cy',Yoff(idx,p[0],p[1]));\n        m.setAttribute('r','3.2');\n        m.setAttribute('fill','#fff');\n        m.setAttribute('stroke',c);\n        m.setAttribute('stroke-width','2');\n        svg.appendChild(m);\n      });\n    }\n\n    var last=pts[pts.length-1];\n    var dot=document.createElementNS(ns,'circle');\n    dot.setAttribute('cx',X(last[0]));dot.setAttribute('cy',Yoff(idx,last[0],last[1]));\n    dot.setAttribute('r','4.2');dot.setAttribute('fill',c);\n    svg.appendChild(dot);\n  });\n\n  var hover=document.createElementNS(ns,'line');\n  hover.setAttribute('y1',padT);hover.setAttribute('y2',padT+ih);\n  hover.setAttribute('stroke','#9ca3af');hover.setAttribute('stroke-width','1');\n  hover.setAttribute('opacity','0');\n  svg.appendChild(hover);\n\n  body.innerHTML='';\n  body.appendChild(svg);\n  var tip=document.createElement('div');tip.className='bg-odds-tip';\n  body.appendChild(tip);\n\n  function onMove(ev){\n    var rect=svg.getBoundingClientRect();\n    var sx=(ev.clientX-rect.left)*(W\/rect.width);\n    if(sx<padL||sx>W-padR){onLeave();return;}\n    \/\/ Posicao relativa -> indice de medicao -> timestamp real (snap na medicao).\n    var pos=(sx-padL)\/iw; if(pos<0)pos=0; if(pos>1)pos=1;\n    var fi=pos*denom;\n    var ti=Math.round(fi);\n    if(ti<0)ti=0; if(ti>tkeys.length-1)ti=tkeys.length-1;\n    var t=tkeys[ti];\n    var snapX=X(t);\n    hover.setAttribute('x1',snapX);hover.setAttribute('x2',snapX);\n    hover.setAttribute('opacity','0.7');\n    var rows='<div class=\"bgo-td\">'+fmtStamp(t)+'<\/div>';\n    \/\/ Coleta os pontos visiveis NESTE instante e ordena pelo favoritismo do\n    \/\/ MOMENTO (menor odd primeiro), nao pelo favoritismo atual. Assim, ao olhar\n    \/\/ uma data passada, o favorito de entao aparece no topo do tooltip.\n    var hereRows=[];\n    sels.forEach(function(sel){\n      if(!vis[sel.key]){return;}\n      var idx=sel.__idx;\n      var p=pointAt(allPts[idx],t);\n      if(!p){return;}\n      \/\/ p = [ts, valorPlotado, dec, frac, amer]\n      var dec=(p[2]!==null&&p[2]!==undefined)?Number(p[2]):null;\n      var rank=(dec!==null&&dec>0)?dec:(format==='decimal'?Number(p[1]):(Number(p[1])>0?100\/Number(p[1]):Infinity));\n      hereRows.push({sel:sel,p:p,dec:dec,rank:rank});\n    });\n    hereRows.sort(function(a,b){return a.rank-b.rank;});\n    hereRows.forEach(function(r){\n      var p=r.p;\n      var prob=(r.dec!==null)?impliedFromDec(r.dec):null;\n      var probStr=(prob!==null)?prob+'%':fmtVal(p[1],format);\n      var odd=pickOdd(p[2],p[3],p[4],oddsFmt);\n      var line='<span style=\"color:'+colorOf(r.sel)+'\">&#9679;<\/span> '+r.sel.label+': <strong>'+probStr+'<\/strong>';\n      if(odd){line+=' <span class=\"bgo-sub\">('+odd+')<\/span>';}\n      rows+='<div>'+line+'<\/div>';\n    });\n    tip.innerHTML=rows;\n    tip.style.opacity='1';\n    var px=(snapX\/W)*rect.width;\n    var flip=px>rect.width*0.62;\n    tip.style.left=flip?'auto':(px+12)+'px';\n    tip.style.right=flip?(rect.width-px+12)+'px':'auto';\n    tip.style.top='10px';\n  }\n  function onLeave(){hover.setAttribute('opacity','0');tip.style.opacity='0';}\n  svg.addEventListener('mousemove',onMove);\n  svg.addEventListener('mouseleave',onLeave);\n}\n\nfunction load(wrap){\n  var id=wrap.getAttribute('data-market');\n  fetch(CFG.rest+id,{credentials:'omit'})\n    .then(function(r){if(!r.ok){throw new Error('HTTP '+r.status);}return r.json();})\n    .then(function(data){\n      wrap.__bgoData=data;\n      render(wrap,data);\n    })\n    .catch(function(){\n      var body=wrap.querySelector('.bg-odds-body');\n      if(body){body.innerHTML='<div class=\"bg-odds-msg\">'+CFG.i18n.nodata+'<\/div>';}\n    });\n}\n\nfunction init(){\n  var wraps=document.querySelectorAll('.bg-odds-wrap[data-market]');\n  if(!wraps.length){return;}\n  wraps.forEach(function(w){load(w);});\n\n  setInterval(function(){\n    if(document.hidden){return;}\n    wraps.forEach(function(w){\n      var d=w.__bgoData;\n      if(d&&d.market&&d.market.status!=='open'){return;}\n      load(w);\n    });\n  },(CFG.poll||60)*1000);\n\n  var rt=null;\n  window.addEventListener('resize',function(){\n    clearTimeout(rt);\n    rt=setTimeout(function(){\n      wraps.forEach(function(w){if(w.__bgoData){render(w,w.__bgoData);}});\n    },180);\n  });\n}\n\nif(document.readyState==='loading'){\n  document.addEventListener('DOMContentLoaded',init);\n}else{\n  init();\n}\n})();\n\/\/<\/BGJS><\/script><div class=\"bg-odds-wrap\" data-market=\"1825\" data-height=\"320\" data-top=\"5\" style=\"--bgo-p:#031426;--bgo-a:#FF4A4A;\"><div class=\"bg-odds-head\"><div class=\"bg-odds-title\">NHL Stanley Cup 2026\/27 \u2014 To Win Outright<\/div><div class=\"bg-odds-meta\"><\/div><\/div><div class=\"bg-odds-body\"><div class=\"bg-odds-msg\">Loading odds\u2026<\/div><\/div><div class=\"bg-odds-legend\"><\/div><div class=\"bg-odds-footwrap\"><div class=\"bg-odds-foot\"><\/div><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">See more on:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">bet365pag2<\/p>\n\n\n\n<h2 id=\"h-the-rest-of-the-league\" class=\"wp-block-heading\">The Rest of the League <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Beyond the top five, the NHL remains highly competitive. The Tampa Bay Lightning (+1200), Minnesota Wild (+1400), Washington Capitals (+1500), and Dallas Stars (+1600) are all strong contenders closely trailing the leaders. Middle-of-the-pack teams with potential include the Montreal Canadiens (+2000), New Jersey Devils (+2800), Utah Mammoth (+2800), Anaheim Ducks (+2800), and Los Angeles Kings (+3000).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Further down the list are the Ottawa Senators, Buffalo Sabres, and Toronto Maple Leafs, all sitting at +3300. They are followed by the San Jose Sharks (+4000), Philadelphia Flyers (+5000), and Columbus Blue Jackets (+5500).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Facing steeper climbs are the Pittsburgh Penguins, New York Rangers, and Detroit Red Wings at +8000. The Winnipeg Jets and Boston Bruins sit at +10000, while the New York Islanders (+12500), St. Louis Blues (+15000), Nashville Predators (+15000), and Chicago Blackhawks (+17500) are viewed as longshots. Finally, the Seattle Kraken (+25000), Calgary Flames (+40000), and Vancouver Canucks (+50000) face the longest odds to hoist the Cup this season.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Connor McDavid and the Edmonton Oilers lead Canadian contenders as early odds reveal the top favourites for the 2027 Stanley Cup title.<\/p>\n","protected":false},"author":1,"featured_media":1838,"comment_status":"open","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"cat_apostas":[91],"hub_relacionado":[106,107],"class_list":["post-1835","apostas","type-apostas","status-publish","has-post-thumbnail","hentry","cat_apostas-nhl","hub_relacionado-nhl","hub_relacionado-stanley-cup"],"acf":{"hreflang_group":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.3.1 (Yoast SEO v28.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>2027 Stanley Cup Odds: Oilers Top Canadian Contenders<\/title>\n<meta name=\"description\" content=\"Connor McDavid and the Edmonton Oilers lead Canadian contenders as early odds reveal the top favourites for the 2027 Stanley Cup title.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/boldgambler.com\/ca\/sports-betting\/nhl\/stanley-cup-odds\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"2027 Stanley Cup Favourites: Edmonton Oilers Lead Canadian Hopes in Early Odds\" \/>\n<meta property=\"og:description\" content=\"Connor McDavid and the Edmonton Oilers lead Canadian contenders as early odds reveal the top favourites for the 2027 Stanley Cup title.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/boldgambler.com\/ca\/sports-betting\/nhl\/stanley-cup-odds\/\" \/>\n<meta property=\"og:site_name\" content=\"Bold Gambler Canada\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-28T19:52:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/boldgambler.com\/ca\/wp-content\/uploads\/sites\/6\/2026\/07\/stanley-cup-2026-27-odds-bold-gambler.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"674\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/sports-betting\\\/nhl\\\/stanley-cup-odds\\\/\",\"url\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/sports-betting\\\/nhl\\\/stanley-cup-odds\\\/\",\"name\":\"2027 Stanley Cup Odds: Oilers Top Canadian Contenders\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/sports-betting\\\/nhl\\\/stanley-cup-odds\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/sports-betting\\\/nhl\\\/stanley-cup-odds\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/wp-content\\\/uploads\\\/sites\\\/6\\\/2026\\\/07\\\/stanley-cup-2026-27-odds-bold-gambler.webp\",\"datePublished\":\"2026-07-28T19:04:22+00:00\",\"dateModified\":\"2026-07-28T19:52:56+00:00\",\"description\":\"Connor McDavid and the Edmonton Oilers lead Canadian contenders as early odds reveal the top favourites for the 2027 Stanley Cup title.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/sports-betting\\\/nhl\\\/stanley-cup-odds\\\/#breadcrumb\"},\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/boldgambler.com\\\/ca\\\/sports-betting\\\/nhl\\\/stanley-cup-odds\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/sports-betting\\\/nhl\\\/stanley-cup-odds\\\/#primaryimage\",\"url\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/wp-content\\\/uploads\\\/sites\\\/6\\\/2026\\\/07\\\/stanley-cup-2026-27-odds-bold-gambler.webp\",\"contentUrl\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/wp-content\\\/uploads\\\/sites\\\/6\\\/2026\\\/07\\\/stanley-cup-2026-27-odds-bold-gambler.webp\",\"width\":1200,\"height\":674},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/sports-betting\\\/nhl\\\/stanley-cup-odds\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"NHL\",\"item\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/sports-betting\\\/nhl\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"2027 Stanley Cup Favourites: Edmonton Oilers Lead Canadian Hopes in Early Odds\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/#website\",\"url\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/\",\"name\":\"Bold Gambler Canada\",\"description\":\"Trusted and Genuine Information on Online Games\",\"publisher\":{\"@id\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-CA\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/#organization\",\"name\":\"Bold Gambler Canada\",\"url\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/wp-content\\\/uploads\\\/sites\\\/6\\\/2025\\\/10\\\/cropped-Bold-Gambler-Transparente-Home.webp\",\"contentUrl\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/wp-content\\\/uploads\\\/sites\\\/6\\\/2025\\\/10\\\/cropped-Bold-Gambler-Transparente-Home.webp\",\"width\":1535,\"height\":614,\"caption\":\"Bold Gambler Canada\"},\"image\":{\"@id\":\"https:\\\/\\\/boldgambler.com\\\/ca\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"2027 Stanley Cup Odds: Oilers Top Canadian Contenders","description":"Connor McDavid and the Edmonton Oilers lead Canadian contenders as early odds reveal the top favourites for the 2027 Stanley Cup title.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/boldgambler.com\/ca\/sports-betting\/nhl\/stanley-cup-odds\/","og_locale":"en_US","og_type":"article","og_title":"2027 Stanley Cup Favourites: Edmonton Oilers Lead Canadian Hopes in Early Odds","og_description":"Connor McDavid and the Edmonton Oilers lead Canadian contenders as early odds reveal the top favourites for the 2027 Stanley Cup title.","og_url":"https:\/\/boldgambler.com\/ca\/sports-betting\/nhl\/stanley-cup-odds\/","og_site_name":"Bold Gambler Canada","article_modified_time":"2026-07-28T19:52:56+00:00","og_image":[{"width":1200,"height":674,"url":"https:\/\/boldgambler.com\/ca\/wp-content\/uploads\/sites\/6\/2026\/07\/stanley-cup-2026-27-odds-bold-gambler.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/boldgambler.com\/ca\/sports-betting\/nhl\/stanley-cup-odds\/","url":"https:\/\/boldgambler.com\/ca\/sports-betting\/nhl\/stanley-cup-odds\/","name":"2027 Stanley Cup Odds: Oilers Top Canadian Contenders","isPartOf":{"@id":"https:\/\/boldgambler.com\/ca\/#website"},"primaryImageOfPage":{"@id":"https:\/\/boldgambler.com\/ca\/sports-betting\/nhl\/stanley-cup-odds\/#primaryimage"},"image":{"@id":"https:\/\/boldgambler.com\/ca\/sports-betting\/nhl\/stanley-cup-odds\/#primaryimage"},"thumbnailUrl":"https:\/\/boldgambler.com\/ca\/wp-content\/uploads\/sites\/6\/2026\/07\/stanley-cup-2026-27-odds-bold-gambler.webp","datePublished":"2026-07-28T19:04:22+00:00","dateModified":"2026-07-28T19:52:56+00:00","description":"Connor McDavid and the Edmonton Oilers lead Canadian contenders as early odds reveal the top favourites for the 2027 Stanley Cup title.","breadcrumb":{"@id":"https:\/\/boldgambler.com\/ca\/sports-betting\/nhl\/stanley-cup-odds\/#breadcrumb"},"inLanguage":"en-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/boldgambler.com\/ca\/sports-betting\/nhl\/stanley-cup-odds\/"]}]},{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/boldgambler.com\/ca\/sports-betting\/nhl\/stanley-cup-odds\/#primaryimage","url":"https:\/\/boldgambler.com\/ca\/wp-content\/uploads\/sites\/6\/2026\/07\/stanley-cup-2026-27-odds-bold-gambler.webp","contentUrl":"https:\/\/boldgambler.com\/ca\/wp-content\/uploads\/sites\/6\/2026\/07\/stanley-cup-2026-27-odds-bold-gambler.webp","width":1200,"height":674},{"@type":"BreadcrumbList","@id":"https:\/\/boldgambler.com\/ca\/sports-betting\/nhl\/stanley-cup-odds\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/boldgambler.com\/ca\/"},{"@type":"ListItem","position":2,"name":"NHL","item":"https:\/\/boldgambler.com\/ca\/sports-betting\/nhl\/"},{"@type":"ListItem","position":3,"name":"2027 Stanley Cup Favourites: Edmonton Oilers Lead Canadian Hopes in Early Odds"}]},{"@type":"WebSite","@id":"https:\/\/boldgambler.com\/ca\/#website","url":"https:\/\/boldgambler.com\/ca\/","name":"Bold Gambler Canada","description":"Trusted and Genuine Information on Online Games","publisher":{"@id":"https:\/\/boldgambler.com\/ca\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/boldgambler.com\/ca\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-CA"},{"@type":"Organization","@id":"https:\/\/boldgambler.com\/ca\/#organization","name":"Bold Gambler Canada","url":"https:\/\/boldgambler.com\/ca\/","logo":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/boldgambler.com\/ca\/#\/schema\/logo\/image\/","url":"https:\/\/boldgambler.com\/ca\/wp-content\/uploads\/sites\/6\/2025\/10\/cropped-Bold-Gambler-Transparente-Home.webp","contentUrl":"https:\/\/boldgambler.com\/ca\/wp-content\/uploads\/sites\/6\/2025\/10\/cropped-Bold-Gambler-Transparente-Home.webp","width":1535,"height":614,"caption":"Bold Gambler Canada"},"image":{"@id":"https:\/\/boldgambler.com\/ca\/#\/schema\/logo\/image\/"}}]}},"taxonomy_info":{"cat_apostas":[{"value":91,"label":"NHL"}],"hub_relacionado":[{"value":106,"label":"NHL"},{"value":107,"label":"Stanley Cup"}]},"featured_image_src_large":["https:\/\/boldgambler.com\/ca\/wp-content\/uploads\/sites\/6\/2026\/07\/stanley-cup-2026-27-odds-bold-gambler-1024x575.webp",1024,575,true],"author_info":{"display_name":"Lucas Portela","author_link":"https:\/\/boldgambler.com\/ca\/author\/loucosporapostasgmail-com\/"},"comment_info":0,"_links":{"self":[{"href":"https:\/\/boldgambler.com\/ca\/wp-json\/wp\/v2\/apostas\/1835","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/boldgambler.com\/ca\/wp-json\/wp\/v2\/apostas"}],"about":[{"href":"https:\/\/boldgambler.com\/ca\/wp-json\/wp\/v2\/types\/apostas"}],"author":[{"embeddable":true,"href":"https:\/\/boldgambler.com\/ca\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/boldgambler.com\/ca\/wp-json\/wp\/v2\/comments?post=1835"}],"version-history":[{"count":1,"href":"https:\/\/boldgambler.com\/ca\/wp-json\/wp\/v2\/apostas\/1835\/revisions"}],"predecessor-version":[{"id":1836,"href":"https:\/\/boldgambler.com\/ca\/wp-json\/wp\/v2\/apostas\/1835\/revisions\/1836"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/boldgambler.com\/ca\/wp-json\/wp\/v2\/media\/1838"}],"wp:attachment":[{"href":"https:\/\/boldgambler.com\/ca\/wp-json\/wp\/v2\/media?parent=1835"}],"wp:term":[{"taxonomy":"cat_apostas","embeddable":true,"href":"https:\/\/boldgambler.com\/ca\/wp-json\/wp\/v2\/cat_apostas?post=1835"},{"taxonomy":"hub_relacionado","embeddable":true,"href":"https:\/\/boldgambler.com\/ca\/wp-json\/wp\/v2\/hub_relacionado?post=1835"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}