Skip to content

We're upgrading our operations to serve you better. Orders ship as usual from Laval, QC. Questions? Contact us

Free shipping on orders over $500 CAD  |  Bitcoin accepted at checkout  |  Ships from Laval, QC

/* ============================================ Mining Power Cost Calculator – D-Central Technologies “Terminal Meets Workshop” Dark Theme ============================================ */ @import url(‘https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&family=Barlow+Condensed:wght@600;700;800&display=swap’); .mpc-calculator { –mpc-bg-primary: #0D0D0D; –mpc-bg-secondary: #1A1A1A; –mpc-bg-card: #1E1E2E; –mpc-bg-input: #141422; –mpc-bg-terminal: #0A0A0A; –mpc-accent: #FF6E00; –mpc-accent-glow: rgba(255, 110, 0, 0.15); –mpc-accent-glow-strong: rgba(255, 110, 0, 0.35); –mpc-text-primary: #E8E8E8; –mpc-text-secondary: #8A8A8A; –mpc-text-muted: #6A6A6A; –mpc-green: #00FF41; –mpc-green-dim: #10B981; –mpc-border: #2A2A2A; –mpc-border-hover: #444; –mpc-red: #EF4444; –mpc-font-body: ‘Inter’, -apple-system, BlinkMacSystemFont, sans-serif; –mpc-font-mono: ‘JetBrains Mono’, ‘Fira Code’, ‘Source Code Pro’, monospace; –mpc-font-heading: ‘Barlow Condensed’, ‘Oswald’, sans-serif; –mpc-radius: 8px; –mpc-radius-sm: 4px; max-width: 1280px; margin: 0 auto; padding: 0 16px; font-family: var(–mpc-font-body); color: var(–mpc-text-primary); line-height: 1.6; -webkit-font-smoothing: antialiased; } .mpc-calculator *, .mpc-calculator *::before, .mpc-calculator *::after { box-sizing: border-box; } /* —- Typography —- */ .mpc-calculator h1 { font-family: var(–mpc-font-heading); font-weight: 800; font-size: 2.5rem; text-transform: uppercase; letter-spacing: 0.02em; color: var(–mpc-text-primary); margin: 0 0 0.5rem 0; line-height: 1.1; } .mpc-calculator h1 span.mpc-accent-text { color: var(–mpc-accent); } .mpc-calculator h2 { font-family: var(–mpc-font-heading); font-weight: 700; font-size: 1.75rem; text-transform: uppercase; letter-spacing: 0.02em; color: var(–mpc-text-primary); margin: 2.5rem 0 1rem 0; line-height: 1.2; } .mpc-calculator h3 { font-family: var(–mpc-font-heading); font-weight: 700; font-size: 1.35rem; text-transform: uppercase; color: var(–mpc-text-primary); margin: 2rem 0 0.75rem 0; } .mpc-calculator p { margin: 0 0 1rem 0; color: var(–mpc-text-secondary); font-size: 1rem; } .mpc-calculator a { color: var(–mpc-accent); text-decoration: none; transition: color 0.2s; } .mpc-calculator a:hover { color: #FF8C33; text-decoration: underline; } /* —- Intro Section —- */ .mpc-intro { margin-bottom: 2.5rem; padding-bottom: 2rem; border-bottom: 1px solid var(–mpc-border); } .mpc-intro .mpc-subtitle { font-family: var(–mpc-font-mono); font-size: 0.85rem; color: var(–mpc-green); margin-bottom: 0.75rem; letter-spacing: 0.05em; } .mpc-intro p { font-size: 1.05rem; max-width: 850px; } /* —- Card —- */ .mpc-card { background: var(–mpc-bg-card); border: 1px solid var(–mpc-border); border-radius: var(–mpc-radius); padding: 1.5rem; margin-bottom: 1.5rem; } .mpc-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.25rem; padding-bottom: 0.75rem; border-bottom: 1px solid var(–mpc-border); } .mpc-card-header h3 { margin: 0; font-size: 1.1rem; } /* —- Form Elements —- */ .mpc-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; } .mpc-form-group { display: flex; flex-direction: column; gap: 0.4rem; } .mpc-form-group.mpc-full-width { grid-column: 1 / -1; } .mpc-label { font-family: var(–mpc-font-body); font-size: 0.8rem; font-weight: 600; color: var(–mpc-text-secondary); text-transform: uppercase; letter-spacing: 0.06em; } .mpc-label-hint { font-size: 0.7rem; font-weight: 400; color: var(–mpc-text-muted); text-transform: none; letter-spacing: normal; } .mpc-input, .mpc-select { background: var(–mpc-bg-input); border: 1px solid var(–mpc-border); border-radius: var(–mpc-radius-sm); color: var(–mpc-text-primary); font-family: var(–mpc-font-mono); font-size: 0.95rem; padding: 0.6rem 0.75rem; width: 100%; transition: border-color 0.2s, box-shadow 0.2s; outline: none; -webkit-appearance: none; appearance: none; } .mpc-input:focus, .mpc-select:focus { border-color: var(–mpc-accent); box-shadow: 0 0 0 2px var(–mpc-accent-glow); } .mpc-input:hover, .mpc-select:hover { border-color: var(–mpc-border-hover); } .mpc-select { background-image: url(“data:image/svg+xml,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’12’ height=’8′ viewBox=’0 0 12 8’%3E%3Cpath d=’M1 1l5 5 5-5′ stroke=’%238A8A8A’ stroke-width=’1.5′ fill=’none’ stroke-linecap=’round’/%3E%3C/svg%3E”); background-repeat: no-repeat; background-position: right 0.75rem center; padding-right: 2.25rem; cursor: pointer; } .mpc-select option { background: var(–mpc-bg-card); color: var(–mpc-text-primary); } /* Slider */ .mpc-slider-group { display: flex; align-items: center; gap: 0.75rem; } .mpc-slider-group input[type=”range”] { flex: 1; -webkit-appearance: none; appearance: none; height: 6px; background: var(–mpc-border); border-radius: 3px; outline: none; cursor: pointer; } .mpc-slider-group input[type=”range”]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 18px; height: 18px; background: var(–mpc-accent); border-radius: 50%; cursor: pointer; box-shadow: 0 0 6px var(–mpc-accent-glow-strong); transition: transform 0.15s; } .mpc-slider-group input[type=”range”]::-webkit-slider-thumb:hover { transform: scale(1.15); } .mpc-slider-group input[type=”range”]::-moz-range-thumb { width: 18px; height: 18px; background: var(–mpc-accent); border-radius: 50%; border: none; cursor: pointer; box-shadow: 0 0 6px var(–mpc-accent-glow-strong); } .mpc-slider-value { font-family: var(–mpc-font-mono); font-size: 0.95rem; font-weight: 600; color: var(–mpc-accent); min-width: 3.5rem; text-align: right; } /* Input with unit suffix */ .mpc-input-unit { position: relative; } .mpc-input-unit .mpc-input { padding-right: 3.5rem; } .mpc-input-unit .mpc-unit { position: absolute; right: 0.75rem; top: 50%; transform: translateY(-50%); font-family: var(–mpc-font-mono); font-size: 0.75rem; color: var(–mpc-text-muted); pointer-events: none; } /* Inline selects */ .mpc-inline-row { display: flex; gap: 0.75rem; align-items: flex-end; } .mpc-inline-row .mpc-form-group { flex: 1; } /* —- Buttons —- */ .mpc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; font-family: var(–mpc-font-body); font-weight: 600; font-size: 0.9rem; padding: 0.65rem 1.25rem; border-radius: var(–mpc-radius-sm); border: none; cursor: pointer; transition: all 0.2s; text-transform: uppercase; letter-spacing: 0.04em; } .mpc-btn-primary { background: var(–mpc-accent); color: #ffffff; box-shadow: 0 0 12px var(–mpc-accent-glow); } .mpc-btn-primary:hover { background: #FF8C33; box-shadow: 0 0 20px var(–mpc-accent-glow-strong); transform: translateY(-1px); } .mpc-btn-secondary { background: transparent; color: var(–mpc-accent); border: 1px solid var(–mpc-accent); } .mpc-btn-secondary:hover { background: var(–mpc-accent); color: #ffffff; } .mpc-btn-danger { background: transparent; color: var(–mpc-red); border: 1px solid rgba(239, 68, 68, 0.3); font-size: 0.8rem; padding: 0.4rem 0.75rem; } .mpc-btn-danger:hover { background: var(–mpc-red); color: #ffffff; } .mpc-btn-icon { font-size: 1.1rem; line-height: 1; } /* —- Miner Entry —- */ .mpc-miner-entry { background: var(–mpc-bg-card); border: 1px solid var(–mpc-border); border-radius: var(–mpc-radius); padding: 1.25rem; margin-bottom: 1rem; transition: border-color 0.2s; } .mpc-miner-entry:hover { border-color: var(–mpc-border-hover); } .mpc-miner-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; } .mpc-miner-number { font-family: var(–mpc-font-mono); font-size: 0.8rem; font-weight: 600; color: var(–mpc-accent); background: rgba(255, 110, 0, 0.1); padding: 0.25rem 0.6rem; border-radius: var(–mpc-radius-sm); } /* —- Global Settings Card —- */ .mpc-global-settings { background: var(–mpc-bg-terminal); border: 1px solid var(–mpc-border); border-radius: var(–mpc-radius); padding: 1.25rem; margin-bottom: 1.5rem; } .mpc-global-settings .mpc-card-header { border-bottom-color: #222; } .mpc-global-settings .mpc-card-header h3 { font-size: 0.95rem; color: var(–mpc-green); } .mpc-global-settings .mpc-terminal-prompt { font-family: var(–mpc-font-mono); font-size: 0.7rem; color: var(–mpc-text-muted); margin-right: 0.5rem; } /* —- Results Section —- */ .mpc-results { margin-top: 2rem; } .mpc-results-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1.5rem; } .mpc-result-tile { background: var(–mpc-bg-card); border: 1px solid var(–mpc-border); border-radius: var(–mpc-radius); padding: 1rem 1.25rem; text-align: center; transition: border-color 0.2s, box-shadow 0.2s; } .mpc-result-tile:hover { border-color: var(–mpc-accent); box-shadow: 0 0 15px var(–mpc-accent-glow); } .mpc-result-tile.mpc-highlight { border-color: var(–mpc-accent); box-shadow: 0 0 15px var(–mpc-accent-glow); } .mpc-result-label { font-family: var(–mpc-font-body); font-size: 0.7rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(–mpc-text-muted); margin-bottom: 0.35rem; } .mpc-result-value { font-family: var(–mpc-font-mono); font-size: 1.6rem; font-weight: 700; color: var(–mpc-accent); line-height: 1.2; } .mpc-result-value.mpc-value-green { color: var(–mpc-green); } .mpc-result-sub { font-family: var(–mpc-font-mono); font-size: 0.7rem; color: var(–mpc-text-muted); margin-top: 0.2rem; } /* —- Detailed Results Table —- */ .mpc-detail-table { width: 100%; border-collapse: collapse; font-family: var(–mpc-font-mono); font-size: 0.85rem; } .mpc-detail-table th { text-align: left; font-weight: 600; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(–mpc-text-muted); padding: 0.6rem 0.75rem; border-bottom: 2px solid var(–mpc-accent); } .mpc-detail-table td { padding: 0.55rem 0.75rem; border-bottom: 1px solid var(–mpc-border); color: var(–mpc-text-primary); } .mpc-detail-table tr:last-child td { border-bottom: none; } .mpc-detail-table .mpc-table-value { font-weight: 600; color: var(–mpc-accent); text-align: right; } .mpc-detail-table .mpc-table-total td { border-top: 2px solid var(–mpc-accent); font-weight: 700; color: var(–mpc-text-primary); } .mpc-detail-table .mpc-table-total .mpc-table-value { color: var(–mpc-accent); font-size: 1rem; } /* —- Electrical Section —- */ .mpc-electrical-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 1rem; } .mpc-electrical-item { background: var(–mpc-bg-terminal); border: 1px solid var(–mpc-border); border-radius: var(–mpc-radius-sm); padding: 0.75rem 1rem; } .mpc-electrical-item .mpc-result-label { margin-bottom: 0.25rem; } .mpc-electrical-item .mpc-result-value { font-size: 1.15rem; } .mpc-electrical-note { font-size: 0.75rem; color: var(–mpc-text-muted); margin-top: 0.25rem; } /* —- Comparison / Equivalence —- */ .mpc-equivalence { background: var(–mpc-bg-terminal); border: 1px solid var(–mpc-border); border-left: 3px solid var(–mpc-accent); border-radius: var(–mpc-radius-sm); padding: 1rem 1.25rem; margin-top: 1rem; } .mpc-equivalence p { margin: 0.35rem 0; font-size: 0.9rem; color: var(–mpc-text-secondary); } .mpc-equivalence strong { color: var(–mpc-accent); font-family: var(–mpc-font-mono); } .mpc-equivalence .mpc-eq-icon { font-size: 1rem; margin-right: 0.35rem; } /* —- Heating Offset —- */ .mpc-heating-section { margin-top: 1.5rem; } .mpc-heating-toggle { display: flex; align-items: center; gap: 0.75rem; cursor: pointer; margin-bottom: 1rem; font-weight: 600; color: var(–mpc-text-primary); font-size: 0.95rem; } .mpc-heating-toggle input[type=”checkbox”] { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; background: var(–mpc-bg-input); border: 2px solid var(–mpc-border); border-radius: 4px; cursor: pointer; position: relative; flex-shrink: 0; transition: all 0.2s; } .mpc-heating-toggle input[type=”checkbox”]:checked { background: var(–mpc-accent); border-color: var(–mpc-accent); } .mpc-heating-toggle input[type=”checkbox”]:checked::after { content: ”; position: absolute; left: 5px; top: 1px; width: 6px; height: 11px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); } .mpc-heating-details { display: none; background: var(–mpc-bg-card); border: 1px solid var(–mpc-border); border-left: 3px solid var(–mpc-accent); border-radius: var(–mpc-radius-sm); padding: 1.25rem; margin-top: 0.5rem; } .mpc-heating-details.mpc-visible { display: block; } .mpc-heating-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-bottom: 1rem; } .mpc-heating-item { text-align: center; } .mpc-heating-item .mpc-result-value { font-size: 1.25rem; } .mpc-heating-message { font-size: 0.85rem; color: var(–mpc-text-secondary); font-style: italic; border-top: 1px solid var(–mpc-border); padding-top: 0.75rem; margin-top: 0.75rem; } .mpc-net-cost { text-align: center; margin-top: 1rem; } .mpc-net-cost .mpc-result-value { font-size: 1.5rem; color: var(–mpc-green); } /* —- Chart —- */ .mpc-chart-section { margin-top: 1.5rem; } .mpc-chart-container { background: var(–mpc-bg-card); border: 1px solid var(–mpc-border); border-radius: var(–mpc-radius); padding: 1.25rem; } .mpc-chart-bar-group { margin-bottom: 0.75rem; } .mpc-chart-bar-label { display: flex; justify-content: space-between; align-items: center; font-size: 0.8rem; margin-bottom: 0.3rem; } .mpc-chart-bar-name { color: var(–mpc-text-secondary); font-weight: 500; } .mpc-chart-bar-value { font-family: var(–mpc-font-mono); font-weight: 600; color: var(–mpc-accent); font-size: 0.8rem; } .mpc-chart-bar-track { width: 100%; height: 24px; background: var(–mpc-bg-terminal); border-radius: 4px; overflow: hidden; position: relative; } .mpc-chart-bar-fill { height: 100%; border-radius: 4px; transition: width 0.5s ease-out; min-width: 2px; display: flex; align-items: center; justify-content: flex-end; padding-right: 0.5rem; } .mpc-chart-bar-pct { font-family: var(–mpc-font-mono); font-size: 0.65rem; font-weight: 600; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,0.5); } .mpc-chart-total { display: flex; justify-content: space-between; align-items: center; border-top: 2px solid var(–mpc-accent); padding-top: 0.75rem; margin-top: 0.5rem; } .mpc-chart-total-label { font-weight: 700; font-size: 0.85rem; color: var(–mpc-text-primary); text-transform: uppercase; } .mpc-chart-total-value { font-family: var(–mpc-font-mono); font-weight: 700; font-size: 1.1rem; color: var(–mpc-accent); } /* Chart colors for multi-miner bars */ .mpc-bar-color-0 { background: #FF6E00; } .mpc-bar-color-1 { background: #FF8C33; } .mpc-bar-color-2 { background: #FFAB66; } .mpc-bar-color-3 { background: #CC5800; } .mpc-bar-color-4 { background: #994200; } .mpc-bar-color-5 { background: #FF6E00; opacity: 0.7; } .mpc-bar-color-6 { background: #FF8C33; opacity: 0.7; } .mpc-bar-color-7 { background: #FFAB66; opacity: 0.7; } /* —- CTA Section —- */ .mpc-cta { background: linear-gradient(135deg, rgba(255,110,0,0.08), rgba(255,110,0,0.02)); border: 1px solid rgba(255, 110, 0, 0.25); border-radius: var(–mpc-radius); padding: 2rem; text-align: center; margin: 2.5rem 0; } .mpc-cta h3 { color: var(–mpc-accent); margin-top: 0; margin-bottom: 0.5rem; } .mpc-cta p { max-width: 600px; margin: 0 auto 1.25rem auto; font-size: 1rem; } .mpc-cta .mpc-btn-primary { font-size: 1rem; padding: 0.75rem 2rem; } /* —- Tips Section —- */ .mpc-tips-section { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(–mpc-border); } .mpc-tips-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1rem; } .mpc-tip-card { background: var(–mpc-bg-card); border: 1px solid var(–mpc-border); border-radius: var(–mpc-radius); padding: 1.25rem; transition: border-color 0.2s; } .mpc-tip-card:hover { border-color: var(–mpc-border-hover); } .mpc-tip-icon { font-size: 1.5rem; margin-bottom: 0.5rem; } .mpc-tip-card h4 { font-family: var(–mpc-font-heading); font-weight: 700; font-size: 1rem; text-transform: uppercase; color: var(–mpc-text-primary); margin: 0 0 0.5rem 0; } .mpc-tip-card p { font-size: 0.85rem; margin: 0; } /* —- FAQ Section —- */ .mpc-faq-section { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(–mpc-border); } .mpc-faq-section details { background: var(–mpc-bg-card); border: 1px solid var(–mpc-border); border-radius: var(–mpc-radius-sm); margin-bottom: 0.75rem; transition: border-color 0.2s; } .mpc-faq-section details:hover { border-color: var(–mpc-border-hover); } .mpc-faq-section details[open] { border-color: var(–mpc-accent); } .mpc-faq-section summary { padding: 1rem 1.25rem; cursor: pointer; font-weight: 600; font-size: 0.95rem; color: var(–mpc-text-primary); list-style: none; display: flex; align-items: center; justify-content: space-between; } .mpc-faq-section summary::-webkit-details-marker { display: none; } .mpc-faq-section summary::after { content: ‘+’; font-family: var(–mpc-font-mono); font-size: 1.2rem; color: var(–mpc-accent); font-weight: 700; flex-shrink: 0; margin-left: 1rem; transition: transform 0.2s; } .mpc-faq-section details[open] summary::after { content: ‘-‘; } .mpc-faq-section details p { padding: 0 1.25rem 1rem 1.25rem; font-size: 0.9rem; line-height: 1.7; margin: 0; } /* —- Links Section —- */ .mpc-links-section { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(–mpc-border); } .mpc-links-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1rem; } .mpc-link-card { display: block; background: var(–mpc-bg-card); border: 1px solid var(–mpc-border); border-radius: var(–mpc-radius); padding: 1.25rem; text-decoration: none; transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s; } .mpc-link-card:hover { border-color: var(–mpc-accent); box-shadow: 0 0 12px var(–mpc-accent-glow); transform: translateY(-2px); text-decoration: none; } .mpc-link-card h4 { font-family: var(–mpc-font-heading); font-weight: 700; font-size: 1rem; text-transform: uppercase; color: var(–mpc-accent); margin: 0 0 0.35rem 0; } .mpc-link-card p { font-size: 0.85rem; margin: 0; color: var(–mpc-text-secondary); } /* —- Responsive —- */ @media (max-width: 1024px) { .mpc-results-grid { grid-template-columns: repeat(3, 1fr); } .mpc-tips-grid, .mpc-links-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 768px) { .mpc-calculator h1 { font-size: 1.75rem; } .mpc-calculator h2 { font-size: 1.35rem; } .mpc-form-grid { grid-template-columns: 1fr; } .mpc-results-grid { grid-template-columns: repeat(2, 1fr); } .mpc-electrical-grid { grid-template-columns: 1fr; } .mpc-heating-grid { grid-template-columns: 1fr; } .mpc-tips-grid, .mpc-links-grid { grid-template-columns: 1fr; } .mpc-inline-row { flex-direction: column; } .mpc-cta { padding: 1.5rem 1rem; } } @media (max-width: 480px) { .mpc-calculator { padding: 0 12px; } .mpc-calculator h1 { font-size: 1.45rem; } .mpc-card { padding: 1rem; } .mpc-miner-entry { padding: 1rem; } .mpc-results-grid { grid-template-columns: 1fr 1fr; gap: 0.75rem; } .mpc-result-value { font-size: 1.3rem; } .mpc-chart-bar-track { height: 20px; } } @media (max-width: 360px) { .mpc-results-grid { grid-template-columns: 1fr; } } /* —- Utility —- */ .mpc-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; } .mpc-hidden { display: none !important; } .mpc-mt-1 { margin-top: 0.5rem; } .mpc-mt-2 { margin-top: 1rem; } .mpc-mt-3 { margin-top: 1.5rem; } .mpc-mb-1 { margin-bottom: 0.5rem; } .mpc-mb-2 { margin-bottom: 1rem; }
// d-central.tech / tools / power-cost-calculator

Mining Power Cost Calculator

Electricity is the single largest ongoing cost in Bitcoin mining. Whether you are running a fleet of Antminers or a single Bitaxe on your desk, understanding your power costs down to the cent is essential for evaluating profitability. Canada offers some of the lowest electricity rates in the world — especially in Quebec and Manitoba — but rates vary dramatically by province and time of use. This calculator helps you model exact costs for any miner, any rate, and any setup, so you can make data-driven decisions before plugging in.

$ Global Settings

Quebec — $0.06/kWh (Hydro-Québec) Manitoba — $0.09/kWh British Columbia — $0.10/kWh Ontario — $0.13/kWh (TOU avg) New Brunswick — $0.13/kWh Newfoundland — $0.14/kWh Saskatchewan — $0.15/kWh US Average — $0.16/kWh Alberta — $0.17/kWh Nova Scotia — $0.17/kWh PEI — $0.18/kWh Custom Rate
$/kWh
CAD $ USD $

Cost Breakdown

Hourly
$0.00
Daily
$0.00
Weekly
$0.00
Monthly (30d)
$0.00
Yearly
$0.00
Total Power
0 W

Energy Consumption

Period kWh Consumed Cost

Electrical Planning

Amps at 120V
0.0 A
Amps at 240V
0.0 A

Cost Distribution by Miner

BTU/h Output
0
watts × 3.412
Equiv. Electric Heater Cost
$0.00
per month
Net Monthly Cost After Heating Offset
$0.00
mining cost − heating value = net cost
When used as a space heater during cold months, your mining cost is effectively reduced by the heating value — because you would have spent that electricity on heating anyway. In Canada, where heating is needed 6-8 months a year, this can dramatically change the economics of home mining. Every watt a miner consumes is converted to heat with 100% efficiency.

Looking for Energy-Efficient Miners?

The Bitaxe family uses just 5–80W while solo mining Bitcoin. Perfect for home miners who want to contribute to decentralization without a massive power bill. Every hash counts.

Browse Bitaxe Miners

Reducing Your Mining Power Costs

Power costs are the variable you have the most control over. Here are proven strategies Canadian miners use to minimize their electricity spend and maximize profitability.

Time-of-Use Rates

In Ontario and other TOU provinces, run your miners during off-peak hours (7pm–7am) when rates can drop by 40-60%. Smart plugs and scheduling make this automatic. Some miners like Bitaxe can be easily scheduled via their web interface.

🌡️

Space Heater Offset

Every watt your miner uses becomes heat. In Canada, where you need heating 6-8 months per year, a miner can replace an electric heater entirely. A 3,250W Antminer S19 produces 11,088 BTU/h — equivalent to a large portable heater, but you earn sats while staying warm.

🔌

Efficient Hardware

Newer generation miners produce more hashrate per watt. The Antminer S21 delivers roughly 15 J/TH compared to the S9’s 98 J/TH. For small-scale solo mining, Bitaxe devices use 5–80W total — less than a light bulb. Choose hardware that matches your power budget.

🌎

Quebec Advantage

Hydro-Québec offers some of the cheapest electricity in North America at ~$0.06/kWh for residential. If you are in Quebec, you already have a massive competitive advantage over miners in Alberta ($0.17) or PEI ($0.18). Location matters.

⛰️

240V Circuits

Running miners on 240V instead of 120V halves the amperage, allowing more miners per circuit and slightly improving PSU efficiency. If you are running anything larger than a Bitaxe, a dedicated 240V circuit is strongly recommended for safety and efficiency.

📊

Renewable Integration

Solar panels, micro-hydro, or excess wind energy can feed your miners for near-zero marginal cost. Bitcoin mining is the ultimate monetizer of stranded or excess energy. Many Canadian home miners pair solar arrays with Bitaxe units for off-grid solo mining.

Frequently Asked Questions

How much electricity does a Bitcoin miner use per month?

It depends entirely on the miner. A Bitaxe Supra uses about 15W, which translates to roughly 10.8 kWh per month — less than a single LED light bulb running 24/7. An Antminer S19 uses 3,250W, consuming about 2,340 kWh per month — roughly equivalent to an average Canadian household’s total electricity consumption. Use the calculator above to model your exact setup. The key is matching your miner’s power draw to your electrical capacity and budget.

What is the cheapest province in Canada to mine Bitcoin?

Quebec offers the lowest residential electricity rates in Canada at approximately $0.06/kWh through Hydro-Québec, followed by Manitoba at $0.09/kWh and British Columbia at $0.10/kWh. These provinces benefit from abundant hydroelectric power. Quebec miners pay roughly one-third of what Alberta or PEI miners pay. This is why D-Central’s hosting facility is located in Laval, Quebec. For home miners, your province’s rate is one of the most important variables in your profitability equation.

Can I run a Bitcoin miner on a regular household outlet?

Small miners like the Bitaxe (5–80W) or NerdMiner (1W) can run on any standard 120V outlet — they draw less power than a laptop charger. Mid-range miners like the Antminer S9 (1,350W) can work on a dedicated 15A/120V circuit but will draw over 11 amps, leaving little headroom. Large miners like the S19 (3,250W) or S21 (3,500W) require a dedicated 240V circuit and a 20A or 30A breaker. The calculator above shows your amperage draw and recommended breaker size for both 120V and 240V. Always consult a licensed electrician for circuit installations.

Does using a miner as a heater really save money?

Yes, and the physics is simple: electric heaters convert 100% of electricity to heat. Bitcoin miners also convert 100% of electricity to heat — they just do useful computation along the way. If you would have run a 1,500W space heater anyway, replacing it with a 1,500W miner means your heating cost is zero because you would have spent that electricity regardless, but now you are also earning Bitcoin. In Canada, where heating is needed roughly 6-8 months per year, this offset can cut your effective mining cost in half on an annual basis. D-Central’s Bitcoin Space Heaters are purpose-built for this use case.

How do I calculate if mining is profitable at my electricity rate?

Power cost is one half of the equation — the other half is mining revenue, which depends on your hashrate, network difficulty, and Bitcoin price. This calculator gives you the cost side. For a complete profitability picture, pair your results here with our Mining Profitability Calculator which factors in hashrate, difficulty, pool fees, and current BTC price. As a general rule, at current difficulty levels, you need below $0.10/kWh for older miners (S9/S17) to be profitable, while newer efficient machines (S21) can remain profitable up to $0.15-0.18/kWh. Solo mining with Bitaxe is a different calculation entirely — it is lottery mining where a single block find pays 3.125 BTC.

(function() { ‘use strict’; /* ============================================ Mining Power Cost Calculator – D-Central Technologies Pure vanilla JS, no dependencies ============================================ */ // — Miner presets: [label, watts] — var MINER_PRESETS = [ [‘Bitaxe Supra’, 15], [‘Bitaxe Ultra’, 12], [‘Bitaxe Hex’, 65], [‘Bitaxe GT’, 80], [‘NerdAxe’, 5], [‘NerdMiner’, 1], [‘Antminer S9’, 1350], [‘Antminer S17’, 2100], [‘Antminer S19’, 3250], [‘Antminer S19 XP’, 3010], [‘Antminer S21’, 3500], [‘Whatsminer M30S’, 3400], [‘Custom’, 0] ]; // Average Canadian household ~30 kWh/day, ~900 kWh/month var AVG_HOUSEHOLD_KWH_MONTH = 900; var LED_BULB_WATTS = 10; // State var miners = []; var nextMinerId = 0; // DOM refs var container = document.getElementById(‘mpcMinersContainer’); var provinceSelect = document.getElementById(‘mpcProvinceRate’); var rateInput = document.getElementById(‘mpcElecRate’); var currencySelect = document.getElementById(‘mpcCurrency’); var hoursRange = document.getElementById(‘mpcHoursRange’); var hoursDisplay = document.getElementById(‘mpcHoursDisplay’); var heatingToggle = document.getElementById(‘mpcHeatingToggle’); var heatingDetails = document.getElementById(‘mpcHeatingDetails’); var addMinerBtn = document.getElementById(‘mpcAddMiner’); // —- Province preset handler —- provinceSelect.addEventListener(‘change’, function() { var val = this.value; if (val === ‘custom’) { rateInput.value = ”; rateInput.focus(); } else { rateInput.value = val; } recalculate(); }); rateInput.addEventListener(‘input’, function() { var matched = false; for (var i = 0; i < provinceSelect.options.length; i++) { if (provinceSelect.options[i].value === this.value) { provinceSelect.selectedIndex = i; matched = true; break; } } if (!matched) { provinceSelect.value = 'custom'; } recalculate(); }); currencySelect.addEventListener('change', recalculate); hoursRange.addEventListener('input', function() { hoursDisplay.textContent = this.value + 'h'; recalculate(); }); heatingToggle.addEventListener('change', function() { heatingDetails.classList.toggle('mpc-visible', this.checked); recalculate(); }); addMinerBtn.addEventListener('click', function() { addMiner(); }); // —- Miner management —- function addMiner(preset, watts, units) { var id = nextMinerId++; var miner = { id: id, preset: preset || MINER_PRESETS[0][0], watts: watts !== undefined ? watts : MINER_PRESETS[0][1], units: units || 1 }; miners.push(miner); renderMiners(); recalculate(); return id; } function removeMiner(id) { miners = miners.filter(function(m) { return m.id !== id; }); if (miners.length === 0) { addMiner(); return; } renderMiners(); recalculate(); } function renderMiners() { container.innerHTML = ''; miners.forEach(function(miner, index) { var entry = document.createElement('div'); entry.className = 'mpc-miner-entry'; entry.setAttribute('data-miner-id', miner.id); var presetOptions = MINER_PRESETS.map(function(p) { var selected = p[0] === miner.preset ? ' selected' : ''; return '’ + p[0] + (p[1] > 0 ? ‘ (‘ + p[1] + ‘W)’ : ”) + ”; }).join(”); entry.innerHTML = ‘
‘ + ‘MINER #’ + (index + 1) + ” + (miners.length > 1 ? ‘