Passer au contenu

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

Bitcoin accepted at checkout  |  Ships from Laval, QC, Canada  |  Expert support since 2016

@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&display=swap’); .solo-calc { –bg-primary: #0D0D0D; –bg-secondary: #1E1E2E; –bg-tertiary: #242432; –accent: #FF6E00; –accent-glow: rgba(255, 110, 0, 0.15); –accent-glow-strong: rgba(255, 110, 0, 0.35); –text-primary: #E8E8E8; –text-secondary: #8A8A8A; –border: #333333; –border-subtle: #2A2A2A; –green: #00FF41; –green-dim: rgba(0, 255, 65, 0.15); –yellow: #FFD600; –yellow-dim: rgba(255, 214, 0, 0.15); –orange: #FF6E00; –orange-dim: rgba(255, 110, 0, 0.15); –red: #FF3B3B; –red-dim: rgba(255, 59, 59, 0.15); –terminal-bg: #0A0A0A; –mono: ‘JetBrains Mono’, ‘Fira Code’, ‘Courier New’, monospace; –sans: ‘Inter’, -apple-system, BlinkMacSystemFont, sans-serif; –heading: ‘Barlow Condensed’, ‘Inter’, sans-serif; max-width: 1280px; margin: 0 auto; padding: 0 20px; font-family: var(–sans); color: var(–text-primary); line-height: 1.7; -webkit-font-smoothing: antialiased; } .solo-calc *, .solo-calc *::before, .solo-calc *::after { box-sizing: border-box; } /* ── Typography ─────────────────────────────── */ .solo-calc h1 { font-family: var(–heading); font-weight: 700; font-size: clamp(2rem, 5vw, 3rem); color: var(–text-primary); text-transform: uppercase; letter-spacing: 0.02em; margin: 0 0 0.5em 0; line-height: 1.15; } .solo-calc h1 .accent { color: var(–accent); } .solo-calc h2 { font-family: var(–heading); font-weight: 700; font-size: clamp(1.5rem, 3.5vw, 2rem); color: var(–text-primary); text-transform: uppercase; letter-spacing: 0.02em; margin: 2em 0 0.75em 0; line-height: 1.2; } .solo-calc h3 { font-family: var(–heading); font-weight: 600; font-size: clamp(1.15rem, 2.5vw, 1.4rem); color: var(–text-primary); text-transform: uppercase; margin: 1.5em 0 0.5em 0; } .solo-calc p { color: var(–text-secondary); margin: 0 0 1em 0; font-size: 1rem; line-height: 1.7; } .solo-calc a { color: var(–accent); text-decoration: none; transition: color 0.2s, text-shadow 0.2s; } .solo-calc a:hover { color: #ff8c33; text-shadow: 0 0 8px var(–accent-glow); } /* ── Intro Section ──────────────────────────── */ .solo-calc__intro { margin-bottom: 2.5em; padding-bottom: 2em; border-bottom: 1px solid var(–border-subtle); } .solo-calc__intro p { max-width: 900px; } .solo-calc__intro .pioneer-badge { display: inline-flex; align-items: center; gap: 8px; background: var(–accent-glow); border: 1px solid rgba(255, 110, 0, 0.3); border-radius: 6px; padding: 6px 14px; font-family: var(–mono); font-size: 0.8rem; color: var(–accent); margin-top: 0.5em; } .solo-calc__intro .pioneer-badge::before { content: ’25C8′; } /* ── Calculator Card ────────────────────────── */ .solo-calc__card { background: var(–bg-secondary); border: 1px solid var(–border); border-radius: 12px; padding: clamp(20px, 4vw, 40px); margin-bottom: 2.5em; position: relative; overflow: hidden; } .solo-calc__card::before { content:  »; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(–accent), transparent); } .solo-calc__card-header { display: flex; align-items: center; gap: 12px; margin-bottom: 1.5em; padding-bottom: 1em; border-bottom: 1px solid var(–border-subtle); } .solo-calc__card-header .terminal-prompt { font-family: var(–mono); font-size: 0.85rem; color: var(–green); } .solo-calc__card-header .terminal-cmd { font-family: var(–mono); font-size: 0.85rem; color: var(–text-secondary); } .solo-calc__blink { display: inline-block; width: 8px; height: 16px; background: var(–green); margin-left: 4px; animation: blink 1s step-end infinite; vertical-align: middle; } @keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } } /* ── Form Grid ──────────────────────────────── */ .solo-calc__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 1.5em; } @media (max-width: 700px) { .solo-calc__grid { grid-template-columns: 1fr; } } .solo-calc__field { display: flex; flex-direction: column; gap: 6px; } .solo-calc__field.full-width { grid-column: 1 / -1; } .solo-calc__label { font-family: var(–mono); font-size: 0.75rem; text-transform: uppercase; color: var(–text-secondary); letter-spacing: 0.08em; } .solo-calc__label .live-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(–green); margin-left: 6px; animation: pulse-dot 2s ease infinite; } @keyframes pulse-dot { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } } .solo-calc select, .solo-calc input[type= »number »], .solo-calc input[type= »text »] { background: var(–terminal-bg); border: 1px solid var(–border); border-radius: 6px; color: var(–text-primary); font-family: var(–mono); font-size: 0.95rem; padding: 12px 14px; width: 100%; transition: border-color 0.2s, box-shadow 0.2s; -moz-appearance: textfield; } .solo-calc select { cursor: pointer; appearance: none; -webkit-appearance: none; background-image: url(« data:image/svg+xml,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’12’ height=’8′ fill=’%238A8A8A’%3E%3Cpath d=’M6 8L0 0h12z’/%3E%3C/svg%3E »); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; } .solo-calc select option { background: var(–bg-secondary); color: var(–text-primary); } .solo-calc input::-webkit-outer-spin-button, .solo-calc input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } .solo-calc input:focus, .solo-calc select:focus { outline: none; border-color: var(–accent); box-shadow: 0 0 0 3px var(–accent-glow); } .solo-calc__input-group { display: flex; gap: 0; } .solo-calc__input-group input { border-radius: 6px 0 0 6px; border-right: none; flex: 1; min-width: 0; } .solo-calc__input-group select { border-radius: 0 6px 6px 0; width: auto; min-width: 90px; padding-left: 10px; } .solo-calc__input-group input:focus { border-right: none; } .solo-calc__input-group input:focus + select { border-color: var(–accent); } .solo-calc__hint { font-size: 0.72rem; color: var(–text-secondary); font-family: var(–mono); margin-top: 2px; } /* ── Calculate Button ───────────────────────── */ .solo-calc__btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: var(–accent); color: #ffffff; font-family: var(–heading); font-weight: 700; font-size: 1.1rem; text-transform: uppercase; letter-spacing: 0.05em; padding: 14px 36px; border: none; border-radius: 8px; cursor: pointer; transition: background 0.2s, box-shadow 0.2s, transform 0.15s; box-shadow: 0 0 20px var(–accent-glow); width: 100%; margin-top: 0.5em; } .solo-calc__btn:hover { background: #ff8c33; box-shadow: 0 0 30px var(–accent-glow-strong); transform: translateY(-1px); } .solo-calc__btn:active { transform: translateY(0); } /* ── Results ────────────────────────────────── */ .solo-calc__results { display: none; margin-top: 2em; } .solo-calc__results.visible { display: block; animation: fadeInResults 0.5s ease; } @keyframes fadeInResults { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } } .solo-calc__results-header { display: flex; align-items: center; gap: 12px; margin-bottom: 1.5em; padding-bottom: 1em; border-bottom: 1px solid var(–border-subtle); } .solo-calc__results-header .terminal-prompt { font-family: var(–mono); font-size: 0.85rem; color: var(–green); } .solo-calc__results-header .terminal-cmd { font-family: var(–mono); font-size: 0.85rem; color: var(–text-secondary); } /* ── Probability Hero ───────────────────────── */ .solo-calc__prob-hero { background: var(–terminal-bg); border: 1px solid var(–border); border-radius: 10px; padding: clamp(20px, 4vw, 32px); text-align: center; margin-bottom: 1.5em; position: relative; overflow: hidden; } .solo-calc__prob-hero::after { content:  »; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(–accent), transparent); } .solo-calc__prob-label { font-family: var(–mono); font-size: 0.75rem; text-transform: uppercase; color: var(–text-secondary); letter-spacing: 0.1em; margin-bottom: 8px; } .solo-calc__prob-value { font-family: var(–mono); font-weight: 700; font-size: clamp(2rem, 6vw, 3.5rem); line-height: 1.1; margin-bottom: 8px; transition: color 0.3s; } .solo-calc__prob-value.prob-green { color: var(–green); text-shadow: 0 0 20px var(–green-dim); } .solo-calc__prob-value.prob-yellow { color: var(–yellow); text-shadow: 0 0 20px var(–yellow-dim); } .solo-calc__prob-value.prob-orange { color: var(–accent); text-shadow: 0 0 20px var(–orange-dim); } .solo-calc__prob-value.prob-red { color: var(–red); text-shadow: 0 0 20px var(–red-dim); } .solo-calc__prob-period { font-family: var(–mono); font-size: 0.85rem; color: var(–text-secondary); } /* ── Lottery Ticket ─────────────────────────── */ .solo-calc__ticket { background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #1a1a2e 100%); border: 2px dashed var(–accent); border-radius: 12px; padding: clamp(16px, 3vw, 24px); margin-bottom: 1.5em; position: relative; overflow: hidden; } .solo-calc__ticket::before, .solo-calc__ticket::after { content:  »; position: absolute; width: 24px; height: 24px; background: var(–bg-secondary); border-radius: 50%; top: 50%; transform: translateY(-50%); } .solo-calc__ticket::before { left: -12px; } .solo-calc__ticket::after { right: -12px; } .solo-calc__ticket-header { text-align: center; font-family: var(–heading); font-size: 1rem; text-transform: uppercase; color: var(–accent); letter-spacing: 0.15em; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px dashed rgba(255, 110, 0, 0.3); } .solo-calc__ticket-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; text-align: center; } .solo-calc__ticket-item { padding: 8px; } .solo-calc__ticket-item-label { font-family: var(–mono); font-size: 0.65rem; text-transform: uppercase; color: var(–text-secondary); letter-spacing: 0.08em; margin-bottom: 4px; } .solo-calc__ticket-item-value { font-family: var(–mono); font-weight: 700; font-size: clamp(1rem, 2.5vw, 1.3rem); color: var(–text-primary); } .solo-calc__ticket-item-value.highlight { color: var(–accent); } /* ── Results Grid ───────────────────────────── */ .solo-calc__stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-bottom: 1.5em; } .solo-calc__stat { background: var(–terminal-bg); border: 1px solid var(–border-subtle); border-radius: 8px; padding: 20px; transition: border-color 0.2s, box-shadow 0.2s; } .solo-calc__stat:hover { border-color: var(–border); box-shadow: 0 0 12px rgba(0, 0, 0, 0.3); } .solo-calc__stat-label { font-family: var(–mono); font-size: 0.7rem; text-transform: uppercase; color: var(–text-secondary); letter-spacing: 0.08em; margin-bottom: 8px; } .solo-calc__stat-value { font-family: var(–mono); font-weight: 700; font-size: 1.4rem; color: var(–text-primary); line-height: 1.2; } .solo-calc__stat-value .unit { font-size: 0.75rem; font-weight: 400; color: var(–text-secondary); margin-left: 4px; } .solo-calc__stat-sub { font-family: var(–mono); font-size: 0.72rem; color: var(–text-secondary); margin-top: 4px; } /* ── Hashrate Comparison Bar ────────────────── */ .solo-calc__hashbar { background: var(–terminal-bg); border: 1px solid var(–border-subtle); border-radius: 8px; padding: 20px; margin-bottom: 1.5em; } .solo-calc__hashbar-title { font-family: var(–mono); font-size: 0.75rem; text-transform: uppercase; color: var(–text-secondary); letter-spacing: 0.08em; margin-bottom: 16px; } .solo-calc__hashbar-track { position: relative; height: 36px; background: var(–bg-secondary); border-radius: 6px; overflow: hidden; margin-bottom: 12px; } .solo-calc__hashbar-network { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255, 110, 0, 0.08), rgba(255, 110, 0, 0.03)); border-radius: 6px; } .solo-calc__hashbar-you { position: absolute; left: 0; top: 0; bottom: 0; min-width: 3px; background: var(–accent); border-radius: 6px 0 0 6px; box-shadow: 0 0 12px var(–accent-glow-strong); transition: width 0.8s cubic-bezier(0.22, 1, 0.36, 1); } .solo-calc__hashbar-you-label { position: absolute; right: -4px; top: 50%; transform: translate(100%, -50%); font-family: var(–mono); font-size: 0.65rem; color: var(–accent); white-space: nowrap; padding-left: 8px; } .solo-calc__hashbar-legend { display: flex; justify-content: space-between; font-family: var(–mono); font-size: 0.7rem; color: var(–text-secondary); } .solo-calc__hashbar-legend .you-label { color: var(–accent); } .solo-calc__hashbar-note { font-family: var(–mono); font-size: 0.65rem; color: var(–text-secondary); margin-top: 8px; font-style: italic; } /* ── Every Hash Counts Banner ───────────────── */ .solo-calc__ethos { background: linear-gradient(135deg, rgba(255, 110, 0, 0.08), rgba(255, 110, 0, 0.02)); border: 1px solid rgba(255, 110, 0, 0.2); border-radius: 10px; padding: clamp(20px, 3vw, 28px); text-align: center; margin-top: 1.5em; } .solo-calc__ethos-slogan { font-family: var(–heading); font-size: clamp(1.3rem, 3vw, 1.8rem); font-weight: 700; color: var(–accent); text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 8px; } .solo-calc__ethos-text { font-size: 0.9rem; color: var(–text-secondary); max-width: 700px; margin: 0 auto; line-height: 1.6; } /* ── Content Sections ───────────────────────── */ .solo-calc__section { margin-top: 3em; padding-top: 2em; border-top: 1px solid var(–border-subtle); } .solo-calc__section p { max-width: 900px; } /* ── FAQ ─────────────────────────────────────── */ .solo-calc__faq { margin-top: 2em; } .solo-calc__faq details { background: var(–bg-secondary); border: 1px solid var(–border-subtle); border-radius: 8px; margin-bottom: 10px; transition: border-color 0.2s; } .solo-calc__faq details[open] { border-color: var(–border); } .solo-calc__faq details summary { padding: 16px 20px; cursor: pointer; font-weight: 600; color: var(–text-primary); font-size: 0.95rem; list-style: none; display: flex; align-items: center; gap: 12px; transition: color 0.2s; } .solo-calc__faq details summary::-webkit-details-marker { display: none; } .solo-calc__faq details summary::marker { display: none; content:  »; } .solo-calc__faq details summary::before { content: ‘+’; font-family: var(–mono); font-size: 1.2rem; color: var(–accent); flex-shrink: 0; width: 20px; text-align: center; transition: transform 0.2s; } .solo-calc__faq details[open] summary::before { content: ‘2212’; } .solo-calc__faq details summary:hover { color: var(–accent); } .solo-calc__faq details .faq-answer { padding: 0 20px 16px 52px; color: var(–text-secondary); font-size: 0.9rem; line-height: 1.7; } .solo-calc__faq details .faq-answer p { margin-bottom: 0.75em; } .solo-calc__faq details .faq-answer p:last-child { margin-bottom: 0; } /* ── Success Stories ────────────────────────── */ .solo-calc__stories { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; margin-top: 1.5em; } .solo-calc__story { background: var(–bg-secondary); border: 1px solid var(–border-subtle); border-radius: 8px; padding: 20px; position: relative; overflow: hidden; } .solo-calc__story::before { content: ‘201C’; position: absolute; top: 8px; left: 16px; font-size: 3rem; font-family: Georgia, serif; color: var(–accent); opacity: 0.3; line-height: 1; } .solo-calc__story-text { font-size: 0.9rem; color: var(–text-primary); margin-bottom: 12px; padding-top: 8px; line-height: 1.6; } .solo-calc__story-source { font-family: var(–mono); font-size: 0.72rem; color: var(–text-secondary); text-transform: uppercase; letter-spacing: 0.05em; } .solo-calc__story-source .block-emoji { color: var(–accent); } /* ── CTA Section ────────────────────────────── */ .solo-calc__cta { background: linear-gradient(135deg, var(–bg-secondary), var(–bg-tertiary)); border: 1px solid var(–border); border-radius: 12px; padding: clamp(28px, 5vw, 48px); text-align: center; margin-top: 3em; position: relative; overflow: hidden; } .solo-calc__cta::before { content:  »; position: absolute; inset: 0; background: radial-gradient(ellipse at center, var(–accent-glow) 0%, transparent 70%); pointer-events: none; } .solo-calc__cta h2 { margin-top: 0; position: relative; } .solo-calc__cta p { position: relative; max-width: 600px; margin: 0 auto 1.5em; } .solo-calc__cta-link { display: inline-flex; align-items: center; gap: 10px; background: var(–accent); color: #ffffff !important; font-family: var(–heading); font-weight: 700; font-size: 1.1rem; text-transform: uppercase; letter-spacing: 0.05em; padding: 16px 40px; border-radius: 8px; text-decoration: none; transition: background 0.2s, box-shadow 0.2s, transform 0.15s; box-shadow: 0 0 24px var(–accent-glow); position: relative; } .solo-calc__cta-link:hover { background: #ff8c33; box-shadow: 0 0 36px var(–accent-glow-strong); transform: translateY(-2px); color: #ffffff !important; text-shadow: none; } .solo-calc__cta-link::after { content: ‘2192’; transition: transform 0.2s; } .solo-calc__cta-link:hover::after { transform: translateX(4px); } /* ── Related Links ──────────────────────────── */ .solo-calc__related { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.5em; } .solo-calc__related a { display: inline-flex; align-items: center; gap: 6px; background: var(–bg-secondary); border: 1px solid var(–border-subtle); border-radius: 6px; padding: 10px 18px; font-family: var(–mono); font-size: 0.8rem; color: var(–text-secondary); transition: border-color 0.2s, color 0.2s, box-shadow 0.2s; } .solo-calc__related a:hover { border-color: var(–accent); color: var(–accent); box-shadow: 0 0 12px var(–accent-glow); text-shadow: none; } .solo-calc__related a::before { content: ’25B8′; color: var(–accent); } /* ── API Status ─────────────────────────────── */ .solo-calc__api-status { display: flex; align-items: center; gap: 8px; font-family: var(–mono); font-size: 0.7rem; color: var(–text-secondary); margin-bottom: 8px; } .solo-calc__api-dot { width: 6px; height: 6px; border-radius: 50%; background: var(–text-secondary); transition: background 0.3s; } .solo-calc__api-dot.live { background: var(–green); } .solo-calc__api-dot.error { background: var(–red); } /* ── Loading Spinner ────────────────────────── */ .solo-calc__spinner { display: none; justify-content: center; align-items: center; padding: 40px; } .solo-calc__spinner.visible { display: flex; } .solo-calc__spinner::after { content:  »; width: 32px; height: 32px; border: 3px solid var(–border); border-top-color: var(–accent); border-radius: 50%; animation: spin 0.8s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } /* ── Mobile Adjustments ─────────────────────── */ @media (max-width: 480px) { .solo-calc { padding: 0 12px; } .solo-calc__card { padding: 16px; } .solo-calc__stats-grid { grid-template-columns: 1fr; } .solo-calc__ticket-grid { grid-template-columns: 1fr 1fr; } .solo-calc__hashbar-legend { flex-direction: column; gap: 4px; } .solo-calc__related { flex-direction: column; } .solo-calc__related a { justify-content: center; } .solo-calc__prob-value { font-size: 2rem; } } @media (max-width: 360px) { .solo-calc__ticket-grid { grid-template-columns: 1fr; } }

Calculateur de Probabilité de Minage Solo

Le minage solo est la forme la plus pure du minage Bitcoin : votre mineur, le réseau, et une chance directe de remporter la récompense complète du bloc. Pas de pool, pas d’intermédiaire, pas de dilution. On l’appelle souvent « minage loterie » car trouver un bloc avec un petit mineur est statistiquement improbable sur de courtes périodes — mais ce n’est jamais impossible. Chaque hash calculé par votre mineur est une tentative valide pour résoudre le prochain bloc.

Ce calculateur vous aide à comprendre vos vraies probabilités. Que vous utilisiez un Bitaxe sur votre bureau ou un Antminer dans votre garage, vous verrez exactement à quoi ressemblent vos chances sur n’importe quel horizon temporel. Le minage solo ne vise pas des rendements garantis — c’est une question de souveraineté, de soutien à la décentralisation et du frisson de la chasse.

D-Central Technologies — Pionnier de l’écosystème Bitaxe depuis le premier jour
$ solo-mine –calculer-probabilite
— Sélectionnez votre mineur — Bitaxe Ultra — 500 GH/s Bitaxe Supra — 600 GH/s Bitaxe Gamma — 1.2 TH/s Bitaxe Hex — 3 TH/s Bitaxe GT — 5 TH/s NerdAxe — 500 GH/s NerdQAxe++ — 2 TH/s NerdOctaxe — 4 TH/s Antminer S9 — 14 TH/s Antminer S19 — 95 TH/s Antminer S21 — 200 TH/s Hashrate personnalisé
GH/s TH/s PH/s EH/s
EH/s
Récupération des données en direct…
BTC
Époque actuelle : 3.125 BTC (prochain halving ~2028)
1 jour 1 semaine 1 mois 6 mois 1 an 5 ans 10 ans
Prix BTC : chargement…
> résultats :
Probabilité de trouver au moins 1 bloc
dans la période sélectionnée
⚙ Votre billet de minage solo
Part du réseau
Attente estimée
Blocs attendus
Récompense de bloc
Votre part du réseau
Temps estimé pour un bloc
Blocs attendus dans la période
Valeur de la récompense
Comparaison de hashrate (échelle logarithmique)
Vous : — Réseau : —
La barre utilise une échelle logarithmique pour que les petits hashrates restent visibles. Le ratio réel est affiché ci-dessus.
Chaque hash compte.
Même le plus petit mineur renforce la décentralisation de Bitcoin. Votre hashrate est votre vote pour un réseau monétaire résistant à la censure. Le minage solo ne vise pas l’optimisation du profit — c’est une question de souveraineté, d’indépendance et de la chance de valider un bloc avec votre propre matériel. Pas de pool. Pas d’intermédiaire. Juste vous et le réseau.

Comprendre la probabilité du minage solo

Le minage Bitcoin est un processus probabiliste. Chaque hash calculé par votre mineur est une tentative indépendante de trouver une valeur inférieure à la cible actuelle du réseau. La probabilité qu’un seul hash résolve un bloc est votre hashrate divisé par le hashrate total du réseau. Avec un réseau dépassant 700 EH/s, même un puissant ASIC ne représente qu’une infime fraction de la puissance de calcul totale — mais les mathématiques sont claires : chaque hash a la même chance que n’importe quel autre.

Le minage suit un processus de Poisson, ce qui signifie qu’il possède la propriété « sans mémoire ». Que votre mineur fonctionne depuis une heure ou un an, la probabilité de trouver un bloc dans les dix prochaines minutes est exactement la même. Il n’y a pas d’« accumulation » de chance. Chaque instant est un nouveau lancer de dés. Cela signifie aussi que trouver un bloc plus tôt que prévu est tout aussi possible que d’en trouver un beaucoup plus tard.

La probabilité affichée par ce calculateur utilise la formule : P(au moins 1 bloc) = 1 – (1 – p)n, où p est votre probabilité de résoudre un bloc donné et n est le nombre de blocs que le réseau devrait produire dans la période choisie. À environ 144 blocs par jour, même un petit hashrate accumule des milliers de « tentatives » sur des mois et des années.

Pour les Bitaxe et autres petits mineurs solo, le temps moyen pour trouver un bloc se mesure en centaines ou milliers d’années. Mais c’est la moyenne attendue — cela ne signifie pas que vous attendrez aussi longtemps. Des blocs ont été trouvés par des mineurs solo avec aussi peu qu’un seul Bitaxe, prouvant que probabilité et certitude sont deux choses très différentes. C’est pourquoi la communauté du minage solo se rallie derrière la phrase : chaque hash compte.

Questions fréquemment posées

Que signifie réellement « probabilité de trouver un bloc » ?

Cela signifie la probabilité statistique que votre mineur résolve au moins un bloc Bitcoin dans la période donnée. Une probabilité de 0,01 % sur un an signifie que si 10 000 mineurs identiques fonctionnaient chacun pendant un an, en moyenne environ un d’entre eux trouverait un bloc. Cela ne signifie pas que vous devez attendre 10 000 ans — vous pourriez en trouver un demain ou jamais. Chaque instant est un événement indépendant.

Un Bitaxe peut-il vraiment trouver un bloc ?

Oui, et c’est déjà arrivé. Des mineurs solo utilisant un seul Bitaxe ont trouvé des blocs Bitcoin complets, gagnant la totalité de la récompense de bloc (actuellement 3.125 BTC). La probabilité par jour est extrêmement faible, mais elle n’est jamais nulle. Tant que votre mineur hache et soumet un travail valide à un pool de minage solo ou directement au réseau, chaque hash est une chance légitime de remporter la récompense complète du bloc.

Le minage solo est-il rentable ?

En termes de valeur attendue, le minage solo a le même rendement attendu par hash que le minage en pool (moins les frais de pool). Cependant, la variance est énorme. Le minage en pool vous donne des paiements petits et prévisibles. Le minage solo ne vous donne potentiellement rien pendant des années, puis une récompense massive si vous trouvez un bloc. La plupart des mineurs solo n’optimisent pas pour le profit attendu — ils minent pour la souveraineté, la décentralisation, l’éducation et le frisson. Beaucoup utilisent aussi leurs mineurs comme chaufferettes, donc le coût d’électricité sert à double fin.

Qu’arrive-t-il à mes probabilités après le prochain halving ?

Votre probabilité de trouver un bloc ne change pas avec le halving. Le halving réduit la récompense de bloc (de 3.125 à 1.5625 BTC, prévu aux alentours de 2028), pas la difficulté. Vos chances de résoudre un bloc dépendent de votre part du hashrate du réseau. Cependant, la valeur de trouver un bloc est réduite de moitié, ce qui peut amener certains mineurs à s’arrêter, réduisant potentiellement la difficulté et améliorant légèrement vos probabilités.

Pourquoi le calculateur affiche-t-il une notation scientifique pour ma part du réseau ?

Parce que votre part du réseau est extrêmement petite. Un Bitaxe à 500 GH/s face à un réseau de 750 EH/s représente 0,0000000667 % du hashrate total. La notation scientifique (comme 6,67 x 10-10) est la manière la plus claire d’exprimer ces fractions minuscules. Ne vous laissez pas décourager par les petits nombres — rappelez-vous que le réseau produit 144 blocs par jour, et chacun est une nouvelle chance.

Faire fonctionner mon mineur plus longtemps augmente-t-il mes chances cumulées ?

Oui. Bien que chaque hash individuel ait la même probabilité indépendamment de l’historique (la propriété sans mémoire), la probabilité cumulée d’avoir trouvé au moins un bloc augmente avec le temps. Faire fonctionner un Bitaxe pendant 10 ans vous donne une probabilité cumulée significativement plus élevée que de le faire fonctionner pendant 1 jour. C’est le pouvoir de la persévérance dans le minage solo : le temps est votre allié. Le calculateur vous permet d’explorer différentes périodes pour voir comment vos probabilités s’accumulent.

Histoires de succès du minage solo

Contre toute attente, des mineurs solo ont trouvé des blocs Bitcoin avec des hashrates remarquablement faibles. Ces histoires prouvent que les mathématiques fonctionnent dans les deux sens — improbable ne signifie pas impossible. Voici quelques victoires notables de la communauté du minage solo :

Un mineur solo utilisant un seul Bitaxe (moins de 1 TH/s) a réussi à miner un bloc Bitcoin complet, gagnant la totalité de la récompense de 3.125 BTC. Les probabilités étaient astronomiquement contre lui, mais le hash qui comptait a été trouvé.
Bloc solo Bitaxe — Vérifié on-chain
De nombreux mineurs solo utilisant des ASIC individuels ont trouvé des blocs via Solo CK Pool, certains ayant trouvé des blocs en quelques semaines seulement après avoir commencé. La communauté suit ces victoires comme preuve que le minage décentralisé fonctionne.
Solo CK Pool — Événements vérifiés par la communauté
Des mineurs maison utilisant des Antminer S9 (14 TH/s) ont miné en solo des blocs valant plus de 100 000 $ USD. Ces machines, souvent considérées comme obsolètes par les standards industriels, continuent de trouver des blocs pour les opérateurs individuels.
Communauté de minage maison — Multiples cas documentés

Rejoignez la révolution du minage solo

D-Central offre la gamme complète de mineurs solo Bitaxe, d’accessoires et de matériel de minage open source. En tant que pionniers de l’écosystème Bitaxe depuis le premier jour, nous connaissons ces machines sur le bout des doigts. Commencez votre aventure de minage solo aujourd’hui.

Magasiner les mineurs Bitaxe
(function() { ‘use strict’; // ── State ───────────────────────────────────── var btcPriceUSD = 0; var btcPriceCAD = 0; var networkHashrateEH = 750; // fallback var liveDataLoaded = false; // ── DOM refs ────────────────────────────────── var elMiner = document.getElementById(‘sc-miner’); var elHashrate = document.getElementById(‘sc-hashrate’); var elHashunit = document.getElementById(‘sc-hashunit’); var elNetwork = document.getElementById(‘sc-network’); var elReward = document.getElementById(‘sc-reward’); var elPeriod = document.getElementById(‘sc-period’); var elBtn = document.getElementById(‘sc-calculate’); var elResults = document.getElementById(‘sc-results’); var elNetworkHint = document.getElementById(‘sc-network-hint’); var elLiveDot = document.getElementById(‘sc-live-dot’); var elPriceDot = document.getElementById(‘sc-price-dot’); var elPriceStatus = document.getElementById(‘sc-price-status’); // ── Miner presets ───────────────────────────── elMiner.addEventListener(‘change’, function() { var val = this.value; if (val === ‘custom’) { elHashrate.value =  »; elHashrate.focus(); return; } var parts = val.split(‘:’); var hr = parseFloat(parts[0]); var unit = parts[1]; // Display in most readable unit if (hr >= 1000) { elHashrate.value = hr / 1000; elHashunit.value = ‘TH/s’; } else { elHashrate.value = hr; elHashunit.value = ‘GH/s’; } }); // ── Fetch BTC price ─────────────────────────── function fetchPrice() { fetch(‘https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd,cad’) .then(function(r) { return r.json(); }) .then(function(data) { if (data && data.bitcoin) { btcPriceUSD = data.bitcoin.usd || 0; btcPriceCAD = data.bitcoin.cad || 0; elPriceDot.className = ‘solo-calc__api-dot live’; elPriceStatus.textContent = ‘Prix BTC : ‘ + formatNumber(btcPriceUSD, 0) + ‘ $ USD / ‘ + formatNumber(btcPriceCAD, 0) + ‘ $ CAD’; } }) .catch(function() { elPriceDot.className = ‘solo-calc__api-dot error’; elPriceStatus.textContent = ‘Prix BTC : API indisponible (saisir manuellement apru00e8s le calcul)’; }); } // ── Fetch network hashrate from blockchain.info ── function fetchNetworkData() { fetch(‘https://mempool.space/api/v1/mining/hashrate/1d’) .then(function(r) { return r.json(); }) .then(function(data) { if (data && data.currentHashrate) { networkHashrateEH = data.currentHashrate / 1e18; applyNetworkData(); return; } throw new Error(‘no data’); }) .catch(function() { fetch(‘https://blockchain.info/q/getdifficulty’) .then(function(r) { return r.text(); }) .then(function(text) { var diff = parseFloat(text); if (diff && diff > 0) { networkHashrateEH = (diff * 4294967296) / 600 / 1e18; applyNetworkData(); } else { throw new Error(‘bad data’); } }) .catch(function() { elNetworkHint.textContent = ‘Donnu00e9es en direct indisponibles. Estimation ~750 EH/s utilisu00e9e.’; elLiveDot.style.background = ‘#FF3B3B’; }); }); } function applyNetworkData() { elNetwork.value = networkHashrateEH.toFixed(1); elNetworkHint.textContent = ‘Hashrate ru00e9seau en direct chargu00e9’; elLiveDot.style.background = ‘#00FF41’; liveDataLoaded = true; } // ── Utility formatters ──────────────────────── function formatNumber(num, decimals) { if (typeof decimals === ‘undefined’) decimals = 2; return num.toLocaleString(‘en-US’, { minimumFractionDigits: decimals, maximumFractionDigits: decimals }); } function formatHashrate(ghps) { if (ghps >= 1e9) return formatNumber(ghps / 1e9, 2) + ‘ EH/s’; if (ghps >= 1e6) return formatNumber(ghps / 1e6, 2) + ‘ PH/s’; if (ghps >= 1e3) return formatNumber(ghps / 1e3, 2) + ‘ TH/s’; return formatNumber(ghps, 2) + ‘ GH/s’; } function formatTime(days) { if (days < 1) { var hours = days * 24; if (hours < 1) return formatNumber(hours * 60, 1) + ' minutes'; return formatNumber(hours, 1) + ' heures'; } if (days < 30) return formatNumber(days, 1) + ' jours'; if (days < 365) { var months = days / 30.44; return formatNumber(months, 1) + ' mois'; } var years = days / 365.25; if (years < 1000) return formatNumber(years, 1) + ' ans'; if (years < 1e6) return formatNumber(years / 1000, 1) + 'K ans'; if (years < 1e9) return formatNumber(years / 1e6, 1) + 'M ans'; if (years = 0.9999) return ‘~100%’; if (prob >= 0.01) return formatNumber(prob * 100, 2) + ‘%’; if (prob >= 0.0001) return formatNumber(prob * 100, 4) + ‘%’; if (prob >= 1e-10) return prob.toExponential(2).replace(‘e’, ‘ x 10^’).replace(‘+’,  »).replace(‘^-0’, ‘^-‘); return prob.toExponential(2).replace(‘e’, ‘ x 10^’).replace(‘+’,  »).replace(‘^-0’, ‘^-‘); } function formatNetworkShare(fraction) { if (fraction >= 0.01) return formatNumber(fraction * 100, 4) + ‘%’; if (fraction >= 1e-8) { var exp = fraction.toExponential(2); return exp.replace(‘e’, ‘ x 10^’).replace(‘+’,  »).replace(‘^-0’, ‘^-‘); } return fraction.toExponential(2).replace(‘e’, ‘ x 10^’).replace(‘+’,  »).replace(‘^-0’, ‘^-‘); } function getProbClass(prob) { if (prob >= 0.5) return ‘prob-green’; if (prob >= 0.01) return ‘prob-yellow’; if (prob >= 0.0001) return ‘prob-orange’; return ‘prob-red’; } function getPeriodLabel(days) { if (days === 1) return ‘en 1 jour’; if (days === 7) return ‘en 1 semaine’; if (days === 30) return ‘en 1 mois’; if (days === 182) return ‘en 6 mois’; if (days === 365) return ‘en 1 an’; if (days === 1825) return ‘en 5 ans’; if (days === 3650) return ‘en 10 ans’; return ‘en ‘ + days + ‘ jours’; } // ── Hashrate to GH/s converter ──────────────── function toGHps(value, unit) { switch (unit) { case ‘GH/s’: return value; case ‘TH/s’: return value * 1000; case ‘PH/s’: return value * 1e6; case ‘EH/s’: return value * 1e9; default: return value; } } // ── Core calculation ────────────────────────── function calculate() { var userHashGH = toGHps(parseFloat(elHashrate.value), elHashunit.value); var netHashEH = parseFloat(elNetwork.value); var reward = parseFloat(elReward.value); var periodDays = parseInt(elPeriod.value, 10); if (isNaN(userHashGH) || userHashGH <= 0 || isNaN(netHashEH) || netHashEH <= 0) { return; } var netHashGH = netHashEH * 1e9; var share = userHashGH / netHashGH; var blocksPerDay = 144; var blocksInPeriod = blocksPerDay * periodDays; var expectedTimeDays = 1 / (share * blocksPerDay); var expectedBlocks = share * blocksInPeriod; var probAtLeastOne; if (share = 0.01 ? formatNumber(expectedBlocks, 4) : expectedBlocks.toExponential(2); document.getElementById(‘sc-ticket-reward’).textContent = formatNumber(reward, 4) + ‘ BTC’; document.getElementById(‘sc-share’).innerHTML = formatNetworkShare(share); document.getElementById(‘sc-share-sub’).textContent = formatHashrate(userHashGH) + ‘ / ‘ + formatNumber(netHashEH, 1) + ‘ EH/s’; document.getElementById(‘sc-expected-time’).textContent = formatTime(expectedTimeDays); document.getElementById(‘sc-expected-time-sub’).textContent = ‘Moyenne. Pourrait u00eatre plus tu00f4t ou plus tard.’; var expBlockStr = expectedBlocks >= 0.001 ? formatNumber(expectedBlocks, 6) : expectedBlocks.toExponential(3); document.getElementById(‘sc-expected-blocks’).textContent = expBlockStr; document.getElementById(‘sc-expected-blocks-sub’).textContent = getPeriodLabel(periodDays) + ‘ u00e0 ‘ + formatHashrate(userHashGH); if (btcPriceUSD > 0) { var rewardUSD = reward * btcPriceUSD; var rewardCAD = reward * btcPriceCAD; document.getElementById(‘sc-reward-value’).innerHTML = formatNumber(rewardUSD, 0) + ‘ $USD‘; document.getElementById(‘sc-reward-value-sub’).textContent = reward + ‘ BTC = ‘ + formatNumber(rewardCAD, 0) + ‘ $ CAD’; } else { document.getElementById(‘sc-reward-value’).textContent = reward + ‘ BTC’; document.getElementById(‘sc-reward-value-sub’).textContent = ‘Prix BTC indisponible’; } var logUser = Math.log10(userHashGH); var logNet = Math.log10(netHashGH); var logMin = 0; var barPercent = Math.max(0.5, Math.min(95, ((logUser – logMin) / (logNet – logMin)) * 100)); var hashbarFill = document.getElementById(‘sc-hashbar-fill’); hashbarFill.style.width = barPercent + ‘%’; var hashbarLabel = document.getElementById(‘sc-hashbar-you-label’); if (barPercent < 60) { hashbarLabel.textContent = formatHashrate(userHashGH); } else { hashbarLabel.textContent = ''; } document.getElementById('sc-hashbar-legend-you').textContent = 'Vous : ' + formatHashrate(userHashGH); document.getElementById('sc-hashbar-legend-net').textContent = 'Ru00e9seau : ' + formatNumber(netHashEH, 1) + ' EH/s'; setTimeout(function() { elResults.scrollIntoView({ behavior: 'smooth', block: 'start' }); }, 100); } // ── Event listeners ─────────────────────────── elBtn.addEventListener('click', calculate); var firstCalcDone = false; function autoCalc() { if (firstCalcDone) calculate(); } elHashrate.addEventListener('input', autoCalc); elHashunit.addEventListener('change', autoCalc); elNetwork.addEventListener('input', autoCalc); elReward.addEventListener('input', autoCalc); elPeriod.addEventListener('change', autoCalc); elMiner.addEventListener('change', function() { setTimeout(autoCalc, 50); }); elBtn.addEventListener('click', function() { firstCalcDone = true; }); document.getElementById('soloCalc').addEventListener('keydown', function(e) { if (e.key === 'Enter' && (e.target.tagName === 'INPUT' || e.target.tagName === 'SELECT')) { e.preventDefault(); firstCalcDone = true; calculate(); } }); // ── Init ────────────────────────────────────── fetchPrice(); fetchNetworkData(); })();

Que signifie réellement « probabilité de trouver un bloc » ?

Cela signifie la probabilité statistique que votre mineur résolve au moins un bloc Bitcoin dans la période donnée. Une probabilité de 0,01 % sur un an signifie que si 10 000 mineurs identiques fonctionnaient chacun pendant un an, en moyenne environ un d’entre eux trouverait un bloc. Cela ne signifie pas que vous devez attendre 10 000 ans — vous pourriez en trouver un demain ou jamais. Chaque instant est un événement indépendant.

Un Bitaxe peut-il vraiment trouver un bloc ?

Oui, et c’est déjà arrivé. Des mineurs solo utilisant un seul Bitaxe ont trouvé des blocs Bitcoin complets, gagnant la totalité de la récompense de bloc (actuellement 3.125 BTC). La probabilité par jour est extrêmement faible, mais elle n’est jamais nulle. Tant que votre mineur hache et soumet un travail valide à un pool de minage solo ou directement au réseau, chaque hash est une chance légitime de remporter la…

Le minage solo est-il rentable ?

En termes de valeur attendue, le minage solo a le même rendement attendu par hash que le minage en pool (moins les frais de pool). Cependant, la variance est énorme. Le minage en pool vous donne des paiements petits et prévisibles. Le minage solo ne vous donne potentiellement rien pendant des années, puis une récompense massive si vous trouvez un bloc. La plupart des mineurs solo n’optimisent pas pour le profit attendu — ils minent pour la…

Qu’arrive-t-il à mes probabilités après le prochain halving ?

Votre probabilité de trouver un bloc ne change pas avec le halving. Le halving réduit la récompense de bloc (de 3.125 à 1.5625 BTC, prévu aux alentours de 2028), pas la difficulté. Vos chances de résoudre un bloc dépendent de votre part du hashrate du réseau. Cependant, la valeur de trouver un bloc est réduite de moitié, ce qui peut amener certains mineurs à s’arrêter, réduisant potentiellement…

Pourquoi le calculateur affiche-t-il une notation scientifique pour ma part du réseau ?

Parce que votre part du réseau est extrêmement petite. Un Bitaxe à 500 GH/s face à un réseau de 750 EH/s représente 0,0000000667 % du hashrate total. La notation scientifique (comme 6,67 x 10-10) est la manière la plus claire d’exprimer ces fractions minuscules. Ne vous laissez pas décourager par les petits nombres — rappelez-vous que le réseau produit 144 blocs par jour, et chacun est une nouvelle chance.

Faire fonctionner mon mineur plus longtemps augmente-t-il mes chances cumulées ?

Oui. Bien que chaque hash individuel ait la même probabilité indépendamment de l’historique (la propriété sans mémoire), la probabilité cumulée d’avoir trouvé au moins un bloc augmente avec le temps. Faire fonctionner un Bitaxe pendant 10 ans vous donne une probabilité cumulée significativement plus élevée que de le faire fonctionner pendant 1 jour. C’est le pouvoir de la persévérance dans…