Unlike SVG or HTML, there are no layers or groupings on the HTML canvas. You cannot wrap your arc / gradient in another element with lower opacity; you must propagate opacity (or tinting, or something else), down to the final properties.
Your color #1f0000 equivalent to rgb(31,0,0) ; use rgba to reduce the opacity of this particular color stop.
var opacity = 0.55; //55% visible grd.addColorStop(1,'transparent'); grd.addColorStop(0.1,'rgba(31,0,0,'+opacity+')');
source share