{"id":117,"date":"2026-09-09T09:11:42","date_gmt":"2026-09-09T09:11:42","guid":{"rendered":"https:\/\/getbitcoin.guide\/articles\/?p=117"},"modified":"2026-10-25T09:30:30","modified_gmt":"2026-10-25T09:30:30","slug":"dcent-biometric-wallet","status":"publish","type":"post","link":"https:\/\/getbitcoin.guide\/articles\/dcent-biometric-wallet\/","title":{"rendered":"D&#8217;CENT Biometric Wallet: What the Fingerprint Cannot Do"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>The D&#8217;CENT biometric wallet uses your fingerprint to unlock the device and approve transactions. It does not store, replace or back up your recovery phrase. Lose the device without those words written down and the fingerprint is worthless, because the fingerprint never leaves the chip it was registered on.<\/strong><\/p>\n\n\n\n<div class=\"msq-audio\" data-article=\"dcent-biometric-wallet\" data-minutes=\"14\">\n<style>.msq-audio{margin:1.25em 0 1.75em;padding:16px 18px;background:#EEF3F8;border:1px solid #CBD8E6;border-radius:12px}\n.msq-audio-lead{margin:0 0 8px;font-size:.95em}.msq-audio audio{width:100%;margin:0 0 12px;display:block}\n.msq-toc-title{margin:0 0 6px;font-weight:700}.msq-toc ol{margin:0;padding:0;list-style:none}\n.msq-toc li{display:flex;gap:10px;align-items:center;padding:6px 6px;border-bottom:1px solid #CBD8E6;border-radius:8px}\n.msq-toc li:last-child{border-bottom:0}.msq-toc li.is-active{background:#fff}\n.msq-toc-play{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:0;background:#1F4E79;color:#fff;font:inherit;font-size:.72em;line-height:30px;padding:0;cursor:pointer}\n.msq-toc-play.is-playing{background:#B4531A}\n.msq-toc-time{flex:0 0 auto;min-width:3.1em;font-variant-numeric:tabular-nums;color:#4A5560;font-size:.9em}\n.msq-toc a{color:#1B1F24;text-decoration:none;line-height:1.35}.msq-toc li.is-active a{font-weight:700;color:#1F4E79}\n.msq-audio-note{margin:10px 0 0;font-size:.82em;color:#4A5560}\nh2.wp-block-heading[id]{scroll-margin-top:24px}\n.msq-hplay{display:inline-block;vertical-align:middle;width:26px;height:26px;margin:0 0 0 10px;border-radius:50%;border:0;background:#1F4E79;cursor:pointer;padding:0;position:relative;top:-2px}\n.msq-hplay::before{content:'\u25b6\ufe0e';display:block;color:#fff;font-size:11px;line-height:26px;text-align:center}\n.msq-hplay.is-playing{background:#B4531A}.msq-hplay.is-playing::before{content:'\u2016';font-size:13px;font-weight:700}\n.msq-bar{position:fixed;left:0;right:0;bottom:0;z-index:9000;display:flex;align-items:center;gap:10px;padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:#FFFFFF;border-top:1px solid #CBD8E6;box-shadow:0 -4px 16px rgba(0,0,0,.08);font-size:.92em;color:#1B1F24;transition:transform .2s ease}\n.msq-bar.is-hidden{transform:translateY(130%)}\n.msq-bar-play{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;background:#1F4E79;color:#fff;font:inherit;font-weight:700;padding:8px 14px 8px 12px;cursor:pointer;white-space:nowrap}\n.msq-bar-play.is-playing{background:#B4531A}\n.msq-bar-icon::before{content:'\u25b6\ufe0e';font-size:12px}.msq-bar-play.is-playing .msq-bar-icon::before{content:'\u2016';font-size:14px;font-weight:700}\n.msq-bar-chapter{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.msq-bar-time{flex:0 0 auto;font-variant-numeric:tabular-nums;color:#4A5560;font-size:.9em}\n.msq-bar-rate,.msq-bar-close{flex:0 0 auto;border:1px solid #CBD8E6;background:#fff;color:#1B1F24;font:inherit;font-size:.85em;line-height:1;border-radius:8px;padding:7px 9px;cursor:pointer}\n.msq-bar-close::before{content:'\u2715'}\n.msq-bar.msq-bar-pill{left:auto;right:14px;bottom:14px;padding:6px;padding-bottom:6px;border:1px solid #CBD8E6;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.15)}\n.msq-bar.msq-bar-pill .msq-bar-chapter,.msq-bar.msq-bar-pill .msq-bar-time,.msq-bar.msq-bar-pill .msq-bar-rate{display:none}\nbody.msq-has-bar{padding-bottom:76px}\n@media (max-width:600px){.msq-bar-time{display:none}.msq-bar{gap:8px;padding-left:10px;padding-right:10px}}\n.msq-s.msq-now{background:#EEF3F8;box-shadow:0 2px 0 #1F4E79;border-radius:2px}\ntr.msq-now td,tr.msq-now th{background:#EEF3F8;box-shadow:inset 0 -2px 0 #1F4E79}\n@media (hover:hover){.msq-s,tr[data-i]{cursor:pointer}.msq-s:hover{background:#EEF3F8}}<\/style>\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"AudioObject\",\"@id\":\"https:\/\/getbitcoin.guide\/articles\/dcent-biometric-wallet\/#audio\",\"name\":\"D\u2019CENT Biometric Wallet: What the Fingerprint Cannot Do, read aloud\",\"description\":\"Synthetic voice reading of the article, recorded 10 October 2026.\",\"contentUrl\":\"https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/10\/dcent-biometric-wallet-audio-202610102117.mp3\",\"encodingFormat\":\"audio\/mpeg\",\"duration\":\"PT13M34S\",\"uploadDate\":\"2026-10-10\",\"inLanguage\":\"en-GB\",\"isAccessibleForFree\":true,\"mainEntityOfPage\":\"https:\/\/getbitcoin.guide\/articles\/dcent-biometric-wallet\/\",\"hasPart\":[{\"@type\":\"Clip\",\"name\":\"D\u2019CENT Biometric Wallet: What the Fingerprint Cannot Do\",\"startOffset\":0,\"endOffset\":34},{\"@type\":\"Clip\",\"name\":\"What has changed since this was first published?\",\"startOffset\":34,\"endOffset\":195,\"url\":\"https:\/\/getbitcoin.guide\/articles\/dcent-biometric-wallet\/#what-has-changed-since-this-was-first-published\"},{\"@type\":\"Clip\",\"name\":\"What does the fingerprint actually do?\",\"startOffset\":195,\"endOffset\":264,\"url\":\"https:\/\/getbitcoin.guide\/articles\/dcent-biometric-wallet\/#what-does-the-fingerprint-actually-do\"},{\"@type\":\"Clip\",\"name\":\"If the fingerprint is not the backup, what is?\",\"startOffset\":264,\"endOffset\":333,\"url\":\"https:\/\/getbitcoin.guide\/articles\/dcent-biometric-wallet\/#if-the-fingerprint-is-not-the-backup-what-is\"},{\"@type\":\"Clip\",\"name\":\"What has been audited, and what is in the device today?\",\"startOffset\":333,\"endOffset\":498,\"url\":\"https:\/\/getbitcoin.guide\/articles\/dcent-biometric-wallet\/#what-has-been-audited-and-what-is-in-the-device-today\"},{\"@type\":\"Clip\",\"name\":\"What do people who own one actually report?\",\"startOffset\":498,\"endOffset\":680,\"url\":\"https:\/\/getbitcoin.guide\/articles\/dcent-biometric-wallet\/#what-do-people-who-own-one-actually-report\"},{\"@type\":\"Clip\",\"name\":\"How does a fingerprint compare with a PIN on other wallets?\",\"startOffset\":680,\"endOffset\":754,\"url\":\"https:\/\/getbitcoin.guide\/articles\/dcent-biometric-wallet\/#how-does-a-fingerprint-compare-with-a-pin-on-other-wallets\"},{\"@type\":\"Clip\",\"name\":\"What is worth checking before a firmware update?\",\"startOffset\":754,\"endOffset\":814,\"url\":\"https:\/\/getbitcoin.guide\/articles\/dcent-biometric-wallet\/#what-is-worth-checking-before-a-firmware-update\"}],\"contentSize\":\"5.7 MB\"}<\/script>\n<p class=\"msq-audio-lead\"><strong>Listen to this article<\/strong>, about 14 minutes. A synthetic voice reads the article and announces each section title as it begins; tables are read row by row and the questions at the end are left out.<\/p>\n<audio class=\"msq-audio-player\" controls preload=\"metadata\" src=\"https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/10\/dcent-biometric-wallet-audio-202610102117.mp3\"><\/audio>\n<nav class=\"msq-toc\" aria-label=\"In this article\"><p class=\"msq-toc-title\">In this article<\/p>\n<ol>\n<li data-start=\"0.0\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"0.0\" aria-label=\"Play from: D\u2019CENT Biometric Wallet: What the Fingerprint Cannot Do\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:00<\/span><a href=\"#top\">D\u2019CENT Biometric Wallet: What the Fingerprint Cannot Do<\/a><\/li>\n<li data-start=\"34.02\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"34.02\" aria-label=\"Play from: What has changed since this was first published?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:34<\/span><a href=\"#what-has-changed-since-this-was-first-published\">What has changed since this was first published?<\/a><\/li>\n<li data-start=\"195.48\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"195.48\" aria-label=\"Play from: What does the fingerprint actually do?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">3:15<\/span><a href=\"#what-does-the-fingerprint-actually-do\">What does the fingerprint actually do?<\/a><\/li>\n<li data-start=\"264.3\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"264.3\" aria-label=\"Play from: If the fingerprint is not the backup, what is?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">4:24<\/span><a href=\"#if-the-fingerprint-is-not-the-backup-what-is\">If the fingerprint is not the backup, what is?<\/a><\/li>\n<li data-start=\"332.56\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"332.56\" aria-label=\"Play from: What has been audited, and what is in the device today?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">5:33<\/span><a href=\"#what-has-been-audited-and-what-is-in-the-device-today\">What has been audited, and what is in the device today?<\/a><\/li>\n<li data-start=\"497.86\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"497.86\" aria-label=\"Play from: What do people who own one actually report?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">8:18<\/span><a href=\"#what-do-people-who-own-one-actually-report\">What do people who own one actually report?<\/a><\/li>\n<li data-start=\"680.4\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"680.4\" aria-label=\"Play from: How does a fingerprint compare with a PIN on other wallets?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">11:20<\/span><a href=\"#how-does-a-fingerprint-compare-with-a-pin-on-other-wallets\">How does a fingerprint compare with a PIN on other wallets?<\/a><\/li>\n<li data-start=\"753.62\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"753.62\" aria-label=\"Play from: What is worth checking before a firmware update?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">12:34<\/span><a href=\"#what-is-worth-checking-before-a-firmware-update\">What is worth checking before a firmware update?<\/a><\/li>\n<\/ol><\/nav>\n<p class=\"msq-audio-note\">Recorded 10 October 2026 from the article as published that day. Press a chapter to jump there; the highlighted line is what is playing. A play button sits beside every section heading, and once you scroll past this player a bar at the bottom of the screen keeps the controls in reach. Tap or click any sentence to hear the reading start from there.<\/p>\n<script>var MSQ_SENT = [[0.0,\"h\",\"dcentbiometricwalletwhat\",46],[3.36,\"p\",\"thedcentbiometricwalletu\",81],[8.92,\"p\",\"itdoesnotstorereplaceorb\",47],[12.72,\"p\",\"losethedevicewithoutthos\",125],[20.4,\"p\",\"onthispageadetailedbreak\",173],[34.02,\"h\",\"whathaschangedsincethisw\",40],[37.1,\"p\",\"onethingchangedsharplyan\",59],[41.7,\"p\",\"itisthedcentphoneappandi\",101],[48.86,\"p\",\"asofseptember2026dcentso\",298],[73.02,\"p\",\"thevendortellsaffectedus\",144],[83.06,\"p\",\"thescalereportedbycrypto\",120],[98.06,\"p\",\"blockheadon23september20\",191],[112.14,\"p\",\"outsideresearcherssuspec\",97],[118.5,\"p\",\"thefirmwarehasnotmoved\",22],[120.34,\"p\",\"asofseptember2026thebiom\",123],[133.82,\"p\",\"nohardwareadvisorywasfou\",43],[138.62,\"p\",\"thetrustpilotprofileread\",131],[154.74,\"p\",\"thenewestonestarreviewsd\",82],[163.22,\"p\",\"theydonotsaywhichdcentpr\",83],[168.78,\"p\",\"thelessonistheonethisart\",60],[173.22,\"p\",\"thefingerprintdidnothing\",69],[177.66,\"p\",\"thephraseoncetypedintoso\",72],[183.22,\"p\",\"securitywritingthattreat\",184],[195.48,\"h\",\"whatdoesthefingerprintac\",32],[197.48,\"p\",\"itunlocksthedeviceandita\",43],[201.44,\"p\",\"thatisthewholejob\",17],[203.28,\"p\",\"thesensorisacapacitiveto\",148],[214.24,\"p\",\"thefactthatthepinisoffer\",117],[221.64,\"p\",\"dcentsownpostof13march20\",215],[239.44,\"p\",\"thatisthevendorsayingthe\",121],[246.96,\"p\",\"functionallyitisthesames\",93],[253.84,\"p\",\"aconveniencelayeroverthe\",40],[256.76,\"p\",\"theaffiliatereviewsputth\",99],[264.3,\"h\",\"ifthefingerprintisnotthe\",36],[267.5,\"p\",\"therecoveryphrasewritten\",59],[271.66,\"p\",\"theshoppagestatesthatasl\",150],[281.74,\"p\",\"dcentdoesnotholdacopy\",21],[284.18,\"p\",\"nobodycanreissueit\",18],[285.66,\"p\",\"sothefailureyourfingerpr\",55],[289.5,\"p\",\"thedeviceisloststolenbro\",50],[293.9,\"p\",\"yourfingerstillworksperf\",29],[295.94,\"p\",\"itjusthasnothinglefttopr\",27],[298.1,\"p\",\"restoringmeanstyping24wo\",115],[305.82,\"p\",\"thatrulegovernseverynonc\",84],[311.66,\"p\",\"writethephraseonthesheet\",33],[314.46,\"p\",\"nevertypeitintoawebsitea\",92],[321.94,\"p\",\"anytoolaskingforarecover\",63],[326.82,\"p\",\"ifyouarenewtothisthemech\",77],[332.56,\"h\",\"whathasbeenauditedandwha\",43],[336.04,\"p\",\"everyrankingpageforthisw\",76],[341.12,\"p\",\"thatistrue\",10],[342.8,\"p\",\"itisalsoolderandnarrower\",105],[350.84,\"p\",\"theauditpostpublished2ma\",178],[365.08,\"p\",\"nocriticalissueswerefoun\",91],[371.92,\"p\",\"thatisagoodresultanditis\",35],[374.52,\"p\",\"theproblemiswhatthesames\",36],[376.72,\"p\",\"dcentsfirmwarepostof2apr\",133],[391.88,\"p\",\"nxpandstmicroelectronics\",91],[399.64,\"p\",\"checkedon9september2026n\",184],[414.4,\"t\",\"independentauditofthedev\",151],[427.96,\"t\",\"theauditedsecureelement\",99],[436.16,\"t\",\"thesecureelementdescribe\",137],[452.04,\"t\",\"firmwarecovered\",132],[465.84,\"t\",\"sourcecodereviewpossible\",156],[478.28,\"p\",\"noneofthatmeansthedevice\",32],[480.76,\"p\",\"itmeansthewordauditedisd\",131],[490.04,\"p\",\"ifyouwantthecontrastthis\",108],[497.86,\"h\",\"whatdopeoplewhoownoneact\",35],[500.5,\"p\",\"readingthepublicrecordon\",166],[516.38,\"p\",\"theshapeofthecomplaintsi\",89],[521.94,\"p\",\"areviewerpostingasvegasb\",141],[533.18,\"p\",\"dcentrepliedsuggestingre\",59],[537.54,\"p\",\"thatisthecharacteristicb\",84],[544.06,\"p\",\"severalonestarreportsinv\",65],[549.26,\"p\",\"harcourtward22november20\",66],[558.14,\"p\",\"larryquillopo23april2026\",79],[565.26,\"p\",\"botharesingleaccountswit\",124],[573.46,\"p\",\"theyarerecordedhereaswha\",58],[578.02,\"p\",\"sinceseptember2026therei\",240],[593.54,\"p\",\"thelargergroupoflossrepo\",59],[598.58,\"p\",\"onpagetwoandpagethreerev\",247],[622.74,\"p\",\"thomasstrebeighreportedt\",75],[627.38,\"p\",\"markjames24april2026repo\",141],[638.34,\"p\",\"againstthepatternamajori\",105],[644.74,\"p\",\"the2022bitcointalkthread\",184],[658.54,\"p\",\"wheretheaccountsagreewit\",106],[665.62,\"p\",\"wheretheydivergethevendo\",157],[675.5,\"p\",\"testimonynotevidenceandd\",43],[680.4,\"h\",\"howdoesafingerprintcompa\",48],[684.08,\"t\",\"whatitprotects\",145],[697.36,\"t\",\"whereitlives\",134],[710.48,\"t\",\"canitrestorealostdevice\",80],[718.44,\"t\",\"canyouchangeit\",114],[729.12,\"t\",\"failuremodeownersreport\",176],[745.04,\"p\",\"therowthatdecideseveryth\",40],[747.8,\"p\",\"twoofthesethreethingscan\",76],[753.62,\"h\",\"whatisworthcheckingbefor\",40],[756.46,\"p\",\"thecurrentbiometricwalle\",140],[772.06,\"p\",\"updatesruneitherfromacom\",97],[780.02,\"p\",\"dcentstatesthatanormalfi\",155],[790.42,\"p\",\"followthatrecommendation\",24],[792.02,\"p\",\"reviewershavereportedthe\",154],[802.14,\"p\",\"confirmtheversionontheve\",68],[806.94,\"p\",\"firmwarenumbersmoveandap\",82]];\n(function(){\n  function init(){\n  var root = document.querySelector('.msq-audio'); if (!root) { return; }\n  var audio = root.querySelector('audio'), items = Array.prototype.slice.call(root.querySelectorAll('.msq-toc li'));\n  var starts = items.map(function(li){ return parseFloat(li.getAttribute('data-start')) || 0; });\n  var names = items.map(function(li){ return li.querySelector('a').textContent; });\n  var anchors = items.map(function(li){ var h = li.querySelector('a').getAttribute('href') || ''; return (h.charAt(0) === '#' && h !== '#top') ? document.getElementById(h.slice(1)) : null; });\n  var article = root.getAttribute('data-article') || location.pathname, minutes = root.getAttribute('data-minutes') || '';\n  var marks = {}, started = false, pausedAt = -1, closed = false, ended = false;\n  var RATES = [1, 1.25, 1.5], rate = 1;\n  try { var saved = parseFloat(localStorage.getItem('msq-audio-rate')); if (RATES.indexOf(saved) >= 0) { rate = saved; } } catch (e) {}\n  audio.playbackRate = rate;\n  function track(name, extra){ try { if (typeof gtag === 'function') { var p = { article: article }; for (var k in extra) { p[k] = extra[k]; } gtag('event', name, p); } } catch (e) {} }\n  function current(){ var t = audio.currentTime, idx = 0; for (var i = 0; starts.length > i; i += 1) { if (t + 0.25 >= starts[i]) { idx = i; } } return idx; }\n  function onScreen(){\n    var line = window.innerHeight \/ 3, idx = 0;\n    for (var i = 0; anchors.length > i; i += 1) { var el = anchors[i]; if (el && line >= el.getBoundingClientRect().top) { idx = i; } }\n    return idx;\n  }\n  function fmt(s){ s = Math.max(0, Math.round(s || 0)); var m = Math.floor(s \/ 60), r = s % 60; return m + ':' + (10 > r ? '0' : '') + r; }\n  function play(from, source){\n    if (from !== null) { audio.currentTime = from; }\n    var p = audio.play(); if (p && p.catch) { p.catch(function(){}); }\n    track(from === null ? 'audio_resume' : 'audio_chapter', { chapter: names[current()], start: Math.round(audio.currentTime), source: source });\n  }\n  var hbtns = anchors.map(function(el, i){\n    if (!el) { return null; }\n    var b = document.createElement('button'); b.type = 'button'; b.className = 'msq-hplay'; b.setAttribute('aria-label', 'Play this section: ' + names[i]);\n    b.addEventListener('click', function(){\n      if (!audio.paused && current() === i) { audio.pause(); track('audio_pause', { source: 'heading' }); return; }\n      play(starts[i], 'heading');\n    });\n    el.appendChild(b); return b;\n  });\n  var bar = document.createElement('div'); bar.className = 'msq-bar msq-bar-pill is-hidden'; bar.setAttribute('role', 'region'); bar.setAttribute('aria-label', 'Audio player');\n  var playBtn = document.createElement('button'); playBtn.type = 'button'; playBtn.className = 'msq-bar-play';\n  var icon = document.createElement('span'); icon.className = 'msq-bar-icon'; icon.setAttribute('aria-hidden', 'true');\n  var label = document.createElement('span'); label.className = 'msq-bar-label';\n  playBtn.appendChild(icon); playBtn.appendChild(label);\n  var chap = document.createElement('span'); chap.className = 'msq-bar-chapter';\n  var clock = document.createElement('span'); clock.className = 'msq-bar-time';\n  var rateBtn = document.createElement('button'); rateBtn.type = 'button'; rateBtn.className = 'msq-bar-rate'; rateBtn.setAttribute('aria-label', 'Playback speed');\n  var closeBtn = document.createElement('button'); closeBtn.type = 'button'; closeBtn.className = 'msq-bar-close'; closeBtn.setAttribute('aria-label', 'Close the audio bar');\n  bar.appendChild(playBtn); bar.appendChild(chap); bar.appendChild(clock); bar.appendChild(rateBtn); bar.appendChild(closeBtn);\n  document.body.appendChild(bar);\n  function showRate(){ rateBtn.textContent = (rate === 1 ? '1' : String(rate)) + 'x'; }\n  showRate();\n  rateBtn.addEventListener('click', function(){\n    rate = RATES[(RATES.indexOf(rate) + 1) % RATES.length]; audio.playbackRate = rate; showRate();\n    try { localStorage.setItem('msq-audio-rate', String(rate)); } catch (e) {}\n    track('audio_rate', { rate: rate });\n  });\n  closeBtn.addEventListener('click', function(){\n    closed = true; if (!audio.paused) { audio.pause(); } paint(); track('audio_bar_close', {});\n  });\n  function mode(){\n    if (!audio.paused) { return 'pause'; }\n    if (ended) { return 'again'; }\n    if (!started) { return 'listen'; }\n    return (pausedAt === onScreen()) ? 'resume' : 'section';\n  }\n  playBtn.addEventListener('click', function(){\n    var m = mode();\n    if (m === 'pause') { audio.pause(); track('audio_pause', { source: 'bar' }); return; }\n    if (m === 'again') { ended = false; play(0, 'bar'); return; }\n    if (m === 'resume') { play(null, 'bar'); return; }\n    play(starts[onScreen()], 'bar');\n  });\n  function paint(){\n    var idx = current(), playing = !audio.paused, m = mode();\n    items.forEach(function(li, i){\n      var on = (i === idx) && playing, b = li.querySelector('.msq-toc-play'), a = li.querySelector('a');\n      li.classList.toggle('is-active', on); b.classList.toggle('is-playing', on);\n      b.textContent = on ? '\u2016' : '\u25b6\ufe0e';\n      b.setAttribute('aria-label', (on ? 'Pause: ' : 'Play from: ') + a.textContent);\n    });\n    hbtns.forEach(function(b, i){ if (b) { var on = (i === idx) && playing; b.classList.toggle('is-playing', on); b.setAttribute('aria-label', (on ? 'Pause this section: ' : 'Play this section: ') + names[i]); } });\n    playBtn.classList.toggle('is-playing', playing);\n    label.textContent = m === 'pause' ? 'Pause' : m === 'again' ? 'Play again' : m === 'resume' ? 'Resume' : m === 'section' ? 'Play this section' : 'Listen, ' + minutes + ' min';\n    playBtn.setAttribute('aria-label', label.textContent);\n    chap.textContent = started ? names[(playing || m === 'resume') ? idx : onScreen()] : '';\n    clock.textContent = started ? fmt(audio.currentTime) + ' \/ ' + fmt(audio.duration) : '';\n    bar.classList.toggle('msq-bar-pill', !started);\n    var show = !closed && (started || 0 > root.getBoundingClientRect().bottom);\n    bar.classList.toggle('is-hidden', !show);\n    document.body.classList.toggle('msq-has-bar', show);\n  }\n  root.addEventListener('click', function(e){\n    var b = e.target.closest ? e.target.closest('.msq-toc-play') : null; if (!b) { return; }\n    var li = b.parentNode, s = parseFloat(b.getAttribute('data-start')) || 0;\n    if (!audio.paused && current() === items.indexOf(li)) { audio.pause(); track('audio_pause', { source: 'index' }); return; }\n    play(s, 'index');\n  });\n  audio.addEventListener('play', function(){ ended = false; closed = false; if (!started) { started = true; track('audio_play', { minutes: Math.round((audio.duration || 0) \/ 60) }); } paint(); });\n  audio.addEventListener('pause', function(){ pausedAt = current(); paint(); });\n  audio.addEventListener('timeupdate', function(){\n    paint();\n    if (audio.duration > 0) {\n      var pct = Math.floor(audio.currentTime \/ audio.duration * 100);\n      [25, 50, 75].forEach(function(m){ if (pct >= m && !marks[m]) { marks[m] = true; track('audio_progress', { percent: m }); } });\n    }\n  });\n  audio.addEventListener('ended', function(){ ended = true; track('audio_complete', {}); paint(); });\n  var ticking = false;\n  function onScroll(){ if (ticking) { return; } ticking = true; setTimeout(function(){ ticking = false; paint(); }, 80); }\n  window.addEventListener('scroll', onScroll, { passive: true }); window.addEventListener('resize', onScroll);\n  paint();\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); }\n})();\n\n(function(){\n  function start(){\n    var root = document.querySelector('.msq-audio'), audio = root ? root.querySelector('audio') : null;\n    var map = (typeof MSQ_SENT !== 'undefined') ? MSQ_SENT : [];\n    if (!root || !audio || !map.length) { return; }\n    var scope = root.closest('main') || root.closest('article') || root.closest('.entry-content') || document.body;\n    var SKIP = '.msq-audio,.msq,.msq-tool,.msq-end,.msq-bar,script,style,noscript,figcaption,#rank-math-faq,.rank-math-block,nav,header,footer';\n    function norm(s){ return s.toLowerCase().replace(\/[^a-z0-9]+\/g, ''); }\n    var nodes = [], stream = '', walker = document.createTreeWalker(scope, NodeFilter.SHOW_TEXT, null), n;\n    while ((n = walker.nextNode())) {\n      var el = n.parentElement; if (!el || el.closest(SKIP)) { continue; }\n      var raw = n.nodeValue, keep = [], norms = '';\n      for (var i = 0; raw.length > i; i += 1) { var c = raw.charAt(i).toLowerCase(); if (\/[a-z0-9]\/.test(c)) { keep.push(i); norms += c; } }\n      if (!norms) { continue; }\n      nodes.push({ node: n, a: stream.length, b: stream.length + norms.length, keep: keep });\n      stream += norms;\n    }\n    var segs = [], cursor = 0, lastRow = null;\n    map.forEach(function(m, idx){\n      var kind = m[1], f = m[2], len = m[3];\n      if (kind === 't') {\n        var rows = scope.querySelectorAll('tr'), after = !lastRow;\n        for (var r = 0; rows.length > r; r += 1) {\n          var tr = rows[r];\n          if (!after) { if (tr === lastRow) { after = true; } continue; }\n          var cell = tr.querySelector('td,th');\n          if (cell && norm(cell.textContent).indexOf(f) === 0) { tr.setAttribute('data-i', idx); lastRow = tr; break; }\n        }\n        return;\n      }\n      var p = stream.indexOf(f, cursor); if (0 > p) { return; }\n      segs.push({ i: idx, a: p, b: Math.min(p + len, stream.length) }); cursor = p + len;\n    });\n    var si = 0;\n    nodes.forEach(function(nd){\n      var frag = document.createDocumentFragment(), raw = nd.node.nodeValue, rawPos = 0, any = false;\n      for (var k = si; segs.length > k; k += 1) {\n        var sg = segs[k]; if (sg.a >= nd.b) { break; } if (nd.a >= sg.b) { continue; }\n        var s = Math.max(sg.a, nd.a), e = Math.min(sg.b, nd.b);\n        var rs = nd.keep[s - nd.a], re2 = nd.keep[e - nd.a - 1] + 1;\n        if (rs > rawPos) { frag.appendChild(document.createTextNode(raw.slice(rawPos, rs))); }\n        var span = document.createElement('span'); span.className = 'msq-s'; span.setAttribute('data-i', sg.i); span.textContent = raw.slice(rs, re2);\n        frag.appendChild(span); rawPos = re2; any = true;\n        if (sg.b > nd.b) { break; }\n      }\n      while (segs.length > si && nd.b >= segs[si].b) { si += 1; }\n      if (!any) { return; }\n      if (raw.length > rawPos) { frag.appendChild(document.createTextNode(raw.slice(rawPos))); }\n      nd.node.parentNode.replaceChild(frag, nd.node);\n    });\n    var starts = map.map(function(m){ return m[0]; }), curIdx = -1, lastUser = 0, timer = null, autoUntil = 0, dragging = false;\n    function idxAt(t){ var lo = 0, hi = starts.length; while (hi > lo + 1) { var mid = (lo + hi) >> 1; if (t + 0.15 >= starts[mid]) { lo = mid; } else { hi = mid; } } return (t + 0.15 >= starts[0]) ? lo : -1; }\n    function setNow(i){\n      if (i === curIdx) { return; }\n      Array.prototype.forEach.call(scope.querySelectorAll('.msq-now'), function(el){ el.classList.remove('msq-now'); });\n      curIdx = i; if (0 > i) { return; }\n      var els = scope.querySelectorAll('[data-i=\"' + i + '\"]'); if (!els.length) { return; }\n      Array.prototype.forEach.call(els, function(el){ el.classList.add('msq-now'); });\n      var r = els[0].getBoundingClientRect(), now = Date.now();\n      if (!dragging && now > lastUser + 2500 && (80 > r.top || r.bottom > window.innerHeight - 140)) {\n        var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n        autoUntil = now + (reduce ? 400 : 1600);\n        els[0].scrollIntoView({ block: 'center', behavior: reduce ? 'auto' : 'smooth' });\n      }\n    }\n    function tick(){ if (!audio.paused) { setNow(idxAt(audio.currentTime)); } }\n    function userScrolled(){ lastUser = Date.now(); }\n    ['wheel', 'touchmove', 'keydown'].forEach(function(ev){ window.addEventListener(ev, userScrolled, { passive: true }); });\n    window.addEventListener('scroll', function(){ if (Date.now() > autoUntil) { userScrolled(); } }, { passive: true });\n    window.addEventListener('mousedown', function(e){ if (e.clientX >= document.documentElement.clientWidth) { dragging = true; userScrolled(); } }, { passive: true });\n    window.addEventListener('mouseup', function(){ if (dragging) { dragging = false; userScrolled(); } }, { passive: true });\n    audio.addEventListener('play', function(){ if (timer) { clearInterval(timer); } timer = setInterval(tick, 150); tick(); });\n    audio.addEventListener('pause', function(){ if (timer) { clearInterval(timer); timer = null; } });\n    scope.addEventListener('click', function(e){\n      if (e.target.closest('a, button, input, select, textarea, label, summary, .msq, .msq-tool, .msq-end, .msq-audio, .msq-bar')) { return; }\n      var sel = window.getSelection ? String(window.getSelection()) : '';\n      if (sel && sel.trim()) { return; }\n      var el = e.target.closest('[data-i]'); if (!el) { return; }\n      var i = parseInt(el.getAttribute('data-i'), 10); if (isNaN(i)) { return; }\n      if (!audio.paused && i === curIdx) { return; }\n      lastUser = Date.now();\n      audio.currentTime = starts[i];\n      var p = audio.play(); if (p && p.catch) { p.catch(function(){}); }\n      try { if (typeof gtag === 'function') { gtag('event', 'audio_chapter', { article: location.pathname, source: 'sentence', start: Math.round(starts[i]) }); } } catch (err) {}\n    });\n    audio.addEventListener('seeked', tick);\n    audio.addEventListener('ended', function(){ setNow(-1); });\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', start); } else { start(); }\n})();<\/script>\n<\/div>\n\n\n\n<p class=\"msq-hook wp-block-paragraph\">On this page: a detailed breakdown of D&#8217;CENT Biometric Wallet security, featuring Trustpilot review statistics, Coinspect audit discrepancies, a comparison table, and an essential firmware update checklist.<\/p>\n\n\n\n<div class=\"msq\" id=\"ms-quiz\" data-slug=\"dcent-biometric-wallet\" data-category=\"Wallets\" data-list=\"1\">\n<style>.msq,.msq-hook,.msq-box,.msq-end,.msq-tool{--msq-accent:#1F4E79;--msq-accent-text:#FFFFFF;--msq-line:#CBD8E6;--msq-warn:#B4531A;--msq-muted:#4A5560;--msq-tint:#EEF3F8;--msq-base:#FFFFFF}\n.msq{margin:1.25em 0 1.75em}\n.msq-hook{border-left:3px solid var(--msq-accent);padding:6px 14px;color:var(--msq-muted);font-size:.97em}\n.msq-box{background:var(--msq-tint);border:1px solid var(--msq-line);border-radius:12px;padding:0}\n.msq-box>summary{cursor:pointer;list-style:none;padding:14px 18px;font-weight:700;color:var(--msq-accent)}\n.msq-box>summary::-webkit-details-marker{display:none}\n.msq-box>summary::before{content:\"+\";display:inline-block;width:1.1em;font-weight:800}\n.msq-box[open]>summary::before{content:\"\\00d7\"}\n.msq-body{padding:2px 18px 18px}\n.msq-intro{margin:0 0 12px;font-size:.95em;color:var(--msq-muted)}\n.msq-list{margin:0;padding:0;list-style:none}\n.msq-q{margin:0 0 18px;padding:0}\n.msq-question{font-weight:700;margin:0 0 8px}\n.msq-options{display:flex;flex-direction:column;gap:8px}\n.msq-opt{text-align:left;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:8px;padding:10px 12px;font:inherit;font-size:.95em;color:inherit;cursor:pointer;line-height:1.35}\n.msq-opt:hover{border-color:var(--msq-accent)}\n.msq-opt[disabled]{cursor:default}\n.msq-opt.is-right{border-color:var(--msq-accent);background:var(--msq-line);font-weight:700}\n.msq-opt.is-wrong{border-color:var(--msq-warn);color:var(--msq-warn)}\n.msq-explain{margin:8px 0 0;font-size:.92em;padding:10px 12px;border-left:3px solid var(--msq-accent);background:var(--msq-base);border-radius:0 8px 8px 0}\n.msq-explain[hidden]{display:none}\n.msq-verdict{font-weight:700}\n.msq-result{margin-top:14px;padding:14px 16px;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:10px}\n.msq-result[hidden]{display:none}\n.msq-result h3{margin:0 0 6px;font-size:1.1em}\n.msq-result p{margin:0 0 8px}\n.msq-jump{margin:0 0 8px;padding-left:1.2em}\n.msq-form{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}\n.msq-form input[type=email]{flex:1 1 220px;padding:10px 12px;border:1px solid var(--msq-muted);border-radius:8px;font:inherit;background:#fff}\n.msq-btn{background:var(--msq-accent);color:var(--msq-accent-text);border:0;border-radius:8px;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer}\n.msq-btn:hover{filter:brightness(.92)}\n.msq-btn[disabled]{opacity:.7;cursor:default}\n.msq-no{font-size:.9em;color:var(--msq-muted);margin-left:4px}\n.msq-privacy{margin:6px 0 0;font-size:.82em;color:var(--msq-muted);flex-basis:100%}\n.msq-hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}\n.msq-msg{margin:8px 0 0;font-size:.92em}\n.msq-end{margin:1.5em 0;padding:18px;border:1px solid var(--msq-accent);border-radius:12px;text-align:center;background:var(--msq-tint)}\n.msq-end p{margin:0 0 12px}\n.msq-end .msq-body{text-align:left;padding:16px 0 0}\n.msq-end .msq-start-test[hidden]{display:none}\n.msq-tool{margin:1.5em 0;padding:18px 20px;background:var(--msq-tint);border:1px solid var(--msq-line);border-radius:12px}\n.msq-tool h3{margin:0 0 6px;font-size:1.15em}\n.msq-tool p{margin:0 0 10px}\n.msq-tool .msq-note{font-size:.85em;color:var(--msq-muted);margin:10px 0 0}\n.msq-check label{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--msq-line);cursor:pointer;line-height:1.4}\n.msq-check label:last-of-type{border-bottom:0}\n.msq-check input{margin-top:5px;flex:0 0 auto;width:18px;height:18px;accent-color:var(--msq-accent)}\n.msq-check-count{font-weight:700;margin:10px 0 0}\n.msq-verdict-box{margin:12px 0 0;padding:10px 14px;border-radius:8px;background:var(--msq-base);border-left:3px solid var(--msq-warn)}\n.msq-verdict-box[hidden]{display:none}\n.msq-calc{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}\n.msq-calc label{display:flex;flex-direction:column;gap:4px;font-size:.92em}\n.msq-calc input,.msq-calc select{padding:8px 10px;border:1px solid var(--msq-muted);border-radius:8px;font:inherit;background:#fff}\n.msq-calc-out{grid-column:1 \/ -1;margin-top:6px;padding:12px 14px;background:var(--msq-base);border-radius:8px;border:1px solid var(--msq-line)}\n.msq-calc-out strong{font-size:1.15em}\n.msq-choose label{display:block;padding:9px 12px;margin:0 0 8px;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:8px;cursor:pointer}\n.msq-choose input{margin-right:8px;accent-color:var(--msq-accent)}\n.msq-choice-result{margin-top:10px;padding:12px 14px;background:var(--msq-base);border-left:3px solid var(--msq-accent);border-radius:0 8px 8px 0}\n.msq-choice-result[hidden]{display:none}\n@media (max-width:600px){.msq-calc{grid-template-columns:1fr}}\nh2.wp-block-heading[id]{scroll-margin-top:24px}<\/style>\n<noscript><style>.msq-explain{display:block !important}<\/style><\/noscript>\n<details class=\"msq-box\">\n<summary>Think you already know this? Five questions, one minute.<\/summary>\n<div class=\"msq-body\">\n<p class=\"msq-intro\">Every answer is on this page. Answer from what you know now; the page fills in the rest.<\/p>\n<ol class=\"msq-list\">\n<li class=\"msq-q\" data-q=\"1\" data-answer=\"b\" data-title=\"What has changed since this was first published?\" data-section=\"#what-has-changed-since-this-was-first-published\">\n<p class=\"msq-question\">1. Which D&#8217;CENT product was affected by the late 2026 security incident involving older versions?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 1 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">The Biometric hardware wallet itself<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">The D&#8217;CENT App Wallet phone application<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">The D&#8217;CENT Bridge browser extension<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>According to the <a href=\"https:\/\/store.dcentwallet.com\/blogs\/post\/app-wallet-incident-report\" target=\"_blank\" rel=\"noopener\">App Wallet incident report<\/a>, the vulnerability affected users who entered their recovery phrase into the App Wallet on versions earlier than 8.1.0. <a class=\"msq-section\" href=\"#what-has-changed-since-this-was-first-published\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"2\" data-answer=\"a\" data-title=\"What does the fingerprint actually do?\" data-section=\"#what-does-the-fingerprint-actually-do\">\n<p class=\"msq-question\">2. How is the fingerprint template stored on the D&#8217;CENT Biometric Wallet?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 2 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">It is encrypted and held inside the secure element chip<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">It is saved in the companion phone app&#8217;s local database<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">It is stored on D&#8217;CENT&#8217;s cloud servers for cross-device sync<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>The template is encrypted and held inside the secure element, never leaving the chip, as described in the official post on <a href=\"https:\/\/store.dcentwallet.com\/blogs\/post\/is-biometric-authentication-safe-for-crypto-why-fingerprint-wallets-are-replacing-pins\" target=\"_blank\" rel=\"noopener\">biometric authentication<\/a>. <a class=\"msq-section\" href=\"#what-does-the-fingerprint-actually-do\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"3\" data-answer=\"b\" data-title=\"If the fingerprint is not the backup, what is?\" data-section=\"#if-the-fingerprint-is-not-the-backup-what-is\">\n<p class=\"msq-question\">3. What acts as the master key and only proof of ownership of your coins?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 3 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Your registered fingerprint template<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">The 24-word recovery phrase<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Your 4 to 8 digit device PIN<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>According to the <a href=\"https:\/\/store.dcentwallet.com\/pages\/dcent-biometric-crypto-wallet\" target=\"_blank\" rel=\"noopener\">D\u2019CENT shop specification<\/a>, the recovery phrase is the only proof of ownership of the coins and is required to restore accounts. <a class=\"msq-section\" href=\"#if-the-fingerprint-is-not-the-backup-what-is\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"4\" data-answer=\"b\" data-title=\"What has been audited, and what is in the device today?\" data-section=\"#what-has-been-audited-and-what-is-in-the-device-today\">\n<p class=\"msq-question\">4. What secure element chip was described in the original 2020 audit write-up?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 4 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">An ST33 chip rated EAL5+<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">An NXP chip housing the secure enclave<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">An STM32 main brain chip<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>The 2020 audit by <a href=\"https:\/\/www.coinspect.com\/\" target=\"_blank\" rel=\"noopener\">Coinspect<\/a> evaluated a secure enclave chip that differs from the one sold today, as detailed in the <a href=\"https:\/\/store.dcentwallet.com\/blogs\/post\/coinspect-audit-of-the-d-cent-wallet\" target=\"_blank\" rel=\"noopener\">audit post<\/a>. <a class=\"msq-section\" href=\"#what-has-been-audited-and-what-is-in-the-device-today\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"5\" data-answer=\"a\" data-title=\"What do people who own one actually report?\" data-section=\"#what-do-people-who-own-one-actually-report\">\n<p class=\"msq-question\">5. What is the primary biometric issue reported by D&#8217;CENT owners in public reviews?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 5 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">The sensor failing to read fingers, forcing them to use a PIN<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">The reader being bypassed by family members<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">The sensor scratching easily and disabling the device<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>Public feedback on <a href=\"https:\/\/www.trustpilot.com\/review\/dcentwallet.com\" target=\"_blank\" rel=\"noopener\">D\u2019CENT\u2019s Trustpilot profile<\/a> shows that the characteristic biometric failure is the reader refusing to recognize a fingerprint, leaving users to enter their passcode. <a class=\"msq-section\" href=\"#what-do-people-who-own-one-actually-report\">Read the section<\/a><\/p>\n<\/li>\n<\/ol>\n<div class=\"msq-result\" hidden><\/div>\n<\/div>\n<\/details>\n<script>(function(){\n  if (window.__msqInit) { return; }\n  window.__msqInit = true;\n  var root = document.getElementById('ms-quiz');\n  if (!root) { return; }\n  var meta = { slug: root.getAttribute('data-slug'), category: root.getAttribute('data-category'),\n               list: root.getAttribute('data-list') || '1' };\n  function qs(el, s){ return el.querySelector(s); }\n  function qsa(el, s){ return Array.prototype.slice.call(el.querySelectorAll(s)); }\n  function track(name, params){\n    try { if (typeof gtag === 'function') { var p = params || {}; p.article = meta.slug; gtag('event', name, p); } } catch (e) {}\n  }\n  function jumpList(missed){\n    if (!missed.length) { return ''; }\n    return '<ul class=\"msq-jump\">' + missed.map(function(q){\n      return '<li><a href=\"' + q.getAttribute('data-section') + '\">' + q.getAttribute('data-title') + '<\/a><\/li>';\n    }).join('') + '<\/ul>';\n  }\n  function emailForm(){\n    return '<div class=\"msq-sub\"><p><strong>Get the next one.<\/strong> We publish new articles on ' + meta.category\n      + ' most weeks and recheck this page on Sundays. Email me when a new article goes up or this page changes.<\/p>'\n      + '<form class=\"msq-form\" method=\"post\" action=\"\/mail\/form.php\" novalidate>'\n      + '<input type=\"hidden\" name=\"list\" value=\"' + meta.list + '\">'\n      + '<input type=\"hidden\" name=\"name\" value=\"\">'\n      + '<label class=\"msq-hp\" aria-hidden=\"true\">Leave this empty<input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label>'\n      + '<input type=\"email\" name=\"email\" placeholder=\"you@example.com\" required aria-label=\"Email address\" autocomplete=\"email\">'\n      + '<button type=\"submit\" class=\"msq-btn\">Email me the updates<\/button>'\n      + '<a href=\"#\" class=\"msq-no\">No thanks<\/a>'\n      + '<p class=\"msq-privacy\">We store your email and this page\\'s topic, nothing else. Unsubscribe any time.<\/p>'\n      + '<\/form><p class=\"msq-msg\" aria-live=\"polite\"><\/p><\/div>';\n  }\n  \/* The autoresponder always answers 200 with its own page. A \".msg.err\" box means the\n     address was rejected, \"You're subscribed\" means accepted, and a redirect only happens\n     after a successful subscribe. Same reading as the landing pages on the other sites. *\/\n  function sendForm(form){\n    return fetch(form.getAttribute('action'), { method: 'POST', body: new FormData(form), credentials: 'same-origin', redirect: 'manual' })\n      .then(function(res){\n        if (res.type === 'opaqueredirect') { return { status: 'ok' }; }\n        if (res.status === 404) { return { status: 'notlive' }; }\n        if (!res.ok) { throw new Error('HTTP ' + res.status); }\n        return res.text().then(function(t){\n          var doc = new DOMParser().parseFromString(t, 'text\/html');\n          var err = doc.querySelector('.msg.err');\n          if (err) {\n            var m = err.textContent.trim();\n            if (\/something went wrong\/i.test(m)) { throw new Error(m); }\n            return { status: 'rejected', message: m };\n          }\n          if (\/you.re subscribed\/i.test(doc.body.textContent)) { return { status: 'ok' }; }\n          return { status: 'unknown' };\n        });\n      });\n  }\n  function wireForm(sub){\n    var form = qs(sub, '.msq-form'), msg = qs(sub, '.msq-msg');\n    qs(form, '.msq-no').addEventListener('click', function(e){\n      e.preventDefault();\n      sub.innerHTML = '<p class=\"msq-msg\">No problem. The Sunday refresh keeps this page current either way.<\/p>';\n      track('quiz_email', { result: 'declined' });\n    });\n    form.addEventListener('submit', function(e){\n      e.preventDefault();\n      var input = qs(form, 'input[name=email]'), btn = qs(form, '.msq-btn');\n      var email = input.value.trim(); input.value = email;\n      if (!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email)) { msg.textContent = 'That email does not look right.'; return; }\n      btn.disabled = true; btn.textContent = 'Sending';\n      function reset(){ btn.disabled = false; btn.textContent = 'Email me the updates'; }\n      sendForm(form).then(function(r){\n        if (r.status === 'ok' || r.status === 'unknown') {\n          sub.innerHTML = '<p class=\"msq-msg\"><strong>Done.<\/strong> We will email you when the next article on ' + meta.category\n            + ' goes up and when this page changes. If a confirmation email arrives, click it.<\/p>';\n          track('quiz_email', { result: r.status });\n          if (r.status === 'ok') { track('generate_lead', { method: 'quiz' }); }\n        } else if (r.status === 'notlive') {\n          msg.textContent = 'Sign up is not switched on yet for this site. Nothing was stored.'; reset();\n          track('quiz_email', { result: 'notlive' });\n        } else {\n          msg.textContent = r.message || 'Please check the email address and try again.'; reset();\n          track('quiz_email', { result: 'rejected' });\n        }\n      }).catch(function(){\n        msg.textContent = 'Could not reach the sign up service just now. Nothing was stored.'; reset();\n        track('quiz_email', { result: 'error' });\n      });\n    });\n  }\n  function finish(container, mode, score, total, missed){\n    var result = qs(container, '.msq-result');\n    track('quiz_complete', { mode: mode, score: score, total: total });\n    var h;\n    if (mode === 'pre') {\n      h = '<h3>You knew ' + score + ' of ' + total + ' before reading.<\/h3>';\n      h += (score === total) ? '<p>All of them. Read on anyway; the sections below carry the detail behind each answer.<\/p>'\n                             : '<p>The rest is below. Jump straight to what you missed:<\/p>' + jumpList(missed);\n      try { sessionStorage.setItem('msq-pre-' + meta.slug, String(score)); } catch (e) {}\n    } else {\n      var pre = null;\n      try { pre = sessionStorage.getItem('msq-pre-' + meta.slug); } catch (e) {}\n      h = '<h3>You got ' + score + ' of ' + total + '.<\/h3>';\n      if (pre !== null) { h += '<p>Before reading you had ' + pre + ' of ' + total + '.<\/p>'; }\n      if (missed.length) { h += '<p>Worth a second look:<\/p>' + jumpList(missed); }\n      h += emailForm();\n    }\n    result.innerHTML = h; result.hidden = false;\n    if (mode !== 'pre') { wireForm(qs(result, '.msq-sub')); }\n    result.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n  }\n  function setup(container, mode){\n    var qEls = qsa(container, '.msq-q'), answered = 0, score = 0, missed = [];\n    qEls.forEach(function(q){\n      var answer = q.getAttribute('data-answer'), opts = qsa(q, '.msq-opt'), explain = qs(q, '.msq-explain');\n      q.removeAttribute('data-done'); explain.hidden = true; qs(explain, '.msq-verdict').textContent = '';\n      opts.forEach(function(b){ b.disabled = false; b.classList.remove('is-right', 'is-wrong'); });\n      opts.forEach(function(b){\n        b.addEventListener('click', function(){\n          if (q.getAttribute('data-done')) { return; }\n          q.setAttribute('data-done', '1');\n          var ok = b.getAttribute('data-opt') === answer;\n          opts.forEach(function(o){ o.disabled = true; if (o.getAttribute('data-opt') === answer) { o.classList.add('is-right'); } });\n          if (ok) { score += 1; } else { b.classList.add('is-wrong'); missed.push(q); }\n          qs(explain, '.msq-verdict').textContent = ok ? 'Right. ' : 'Not quite. ';\n          explain.hidden = false;\n          answered += 1;\n          track('quiz_answer', { mode: mode, question: q.getAttribute('data-q'), correct: ok ? 1 : 0 });\n          if (answered === qEls.length) { finish(container, mode, score, qEls.length, missed); }\n        });\n      });\n    });\n  }\n  var box = qs(root, '.msq-box');\n  setup(root, 'pre');\n  if (box) { var skipFirst = box.hasAttribute('data-default-open'); box.addEventListener('toggle', function(){ if (!box.open) { return; } if (skipFirst) { skipFirst = false; return; } track('quiz_open', { mode: 'pre' }); }); }\n  \/* The end block sits far below this script, so it does not exist yet while this runs\n     during parsing. A delegated listener finds it at click time. *\/\n  document.addEventListener('click', function(e){\n    var startBtn = (e.target && e.target.closest) ? e.target.closest('.msq-start-test') : null;\n    if (!startBtn) { return; }\n    var end = startBtn.closest('.msq-end');\n    if (!end) { return; }\n    var mount = qs(end, '.msq-mount');\n    var clone = qs(root, '.msq-body').cloneNode(true);\n    var intro = qs(clone, '.msq-intro');\n    if (intro) { intro.textContent = 'The same five questions, now that you have read the page.'; }\n    var res = qs(clone, '.msq-result'); if (res) { res.hidden = true; res.innerHTML = ''; }\n    mount.innerHTML = ''; mount.appendChild(clone);\n    setup(mount, 'test');\n    startBtn.hidden = true;\n    track('quiz_open', { mode: 'test' });\n    mount.scrollIntoView({ behavior: 'smooth', block: 'start' });\n    var first = qs(mount, '.msq-opt'); if (first) { first.focus({ preventScroll: true }); }\n  });\n  \/* Shared tool behaviour: checklists remember their ticks on this device, and a chooser\n     shows the result for the option picked. Calculators carry their own small script. *\/\n  function initTools(){\n    qsa(document, '.msq-check').forEach(function(box){\n      var key = 'msq-check-' + meta.slug + '-' + (box.getAttribute('data-id') || 'x');\n      var boxes = qsa(box, 'input[type=checkbox]'), count = qs(box, '.msq-check-count');\n      var yes = qs(box, '.msq-verdict-yes'), no = qs(box, '.msq-verdict-no');\n      var saved = {};\n      try { saved = JSON.parse(localStorage.getItem(key) || '{}'); } catch (e) {}\n      boxes.forEach(function(cb, i){ if (saved[i]) { cb.checked = true; } });\n      function refresh(){\n        var n = boxes.filter(function(cb){ return cb.checked; }).length, state = {};\n        boxes.forEach(function(cb, i){ if (cb.checked) { state[i] = 1; } });\n        try { localStorage.setItem(key, JSON.stringify(state)); } catch (e) {}\n        if (count) { count.textContent = n + ' of ' + boxes.length + (box.getAttribute('data-verb') || ' done'); }\n        if (yes && no) { yes.hidden = n === 0; no.hidden = n !== 0; }\n      }\n      boxes.forEach(function(cb){ cb.addEventListener('change', function(){ refresh(); track('tool_check', { tool: box.getAttribute('data-id') }); }); });\n      refresh();\n    });\n    qsa(document, '.msq-choose').forEach(function(box){\n      var results = qsa(box, '.msq-choice-result');\n      qsa(box, 'input[type=radio]').forEach(function(r){\n        r.addEventListener('change', function(){\n          results.forEach(function(el){ el.hidden = el.getAttribute('data-for') !== r.value; });\n          track('tool_choose', { tool: box.getAttribute('data-id'), choice: r.value });\n        });\n      });\n    });\n  }\n  \/\/ read progress: how far down the article the reader has scrolled, fired once per quarter\n  (function(){\n    var art = root.closest('article') || root.parentNode, fired = {};\n    function check(){\n      var top = art.getBoundingClientRect().top + window.pageYOffset, h = art.offsetHeight || 1;\n      var seen = (window.pageYOffset + window.innerHeight - top) \/ h * 100;\n      [25, 50, 75, 100].forEach(function(m){ if (seen >= m && !fired[m]) { fired[m] = true; track('read_progress', { percent: m }); } });\n    }\n    window.addEventListener('scroll', check, { passive: true }); window.addEventListener('load', check);\n  })();\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initTools); } else { initTools(); }\n})();<\/script>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-has-changed-since-this-was-first-published\">What has changed since this was first published?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">One thing changed sharply, and it is not the device this article is about. It is the D&#8217;CENT phone app, and if you ever typed this wallet&#8217;s recovery phrase into it, read this section before anything else.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>As of September 2026, D&#8217;CENT&#8217;s own <a href=\"https:\/\/store.dcentwallet.com\/blogs\/post\/app-wallet-incident-report\" target=\"_blank\" rel=\"noopener\">App Wallet incident report<\/a>, first published as a preliminary report on 17 September 2026 after an alert on 16 September, says users are potentially affected if they entered a recovery phrase into the App Wallet and signed any transaction or approval with it on an app version earlier than 8.1.0, which was released on 5 November 2025. The vendor tells affected users to create a wallet with a new recovery phrase and move every asset to it, because reusing the old phrase may regenerate the same or a related key.<\/li>\n\n<li>The scale, reported by <a href=\"https:\/\/cryptoslate.com\/nearly-20-million-in-xrp-drained-from-6678-wallets-across-six-attack-waves\/\" target=\"_blank\" rel=\"noopener\">CryptoSlate<\/a>: about 11.7 million XRP, close to $20 million, taken from 6,678 wallets in six waves between 15 and 20 September 2026. <a href=\"https:\/\/www.blockhead.co\/2026\/09\/23\/dcent-app-wallet-flaw-linked-to-theft-of-millions-of-xrp\/\" target=\"_blank\" rel=\"noopener\">Blockhead, on 23 September 2026<\/a>, reports D&#8217;CENT&#8217;s position that the Biometric hardware wallet is not affected unless its recovery phrase was also restored into the App Wallet, and that the company has withheld the technical details. Outside researchers suspect weak randomness in older app versions; that is their suspicion, not a published finding.<\/li>\n\n<li>The firmware has not moved. As of September 2026 the Biometric Wallet is still on v2.35.2 of 16 March 2026, the same build this article named on 9 September, per D&#8217;CENT&#8217;s <a href=\"https:\/\/store.dcentwallet.com\/blogs\/post\/hardware-wallet-firmware-update-security\" target=\"_blank\" rel=\"noopener\">firmware post<\/a>. No hardware advisory was found on 27 September 2026.<\/li>\n\n<li>The Trustpilot profile read 108 reviews at 3.7 out of 5 on 27 September 2026, 58 percent five star and 30 percent one star, down from 102 reviews at 3.9 on 9 September. The newest one star reviews, dated 18 and 19 September 2026, describe unauthorised XRP withdrawals. They do not say which D&#8217;CENT product was involved, so they are recorded as what the reviewers reported.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The lesson is the one this article was already making, with a date on it now. The fingerprint did nothing either way, because none of this touched a fingerprint. The phrase, once typed into software, stopped being as safe as the paper it was written on. Security writing that treats a hardware wallet and its maker&#8217;s phone app as one product is how people end up importing the phrase in the first place; the ways that goes wrong are laid out in <a href=\"https:\/\/getbitcoin.guide\/articles\/best-hot-wallet\/\">how hot wallets actually get drained<\/a>. A month later the same lesson arrived at another Bluetooth wallet maker, when <a href=\"https:\/\/getbitcoin.guide\/articles\/secux-v20-review\/\">SecuX confirmed a hacked banner inside its phone app<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-does-the-fingerprint-actually-do\">What does the fingerprint actually do?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">It unlocks the device and it authorises a signature. That is the whole job. The sensor is a capacitive touch reader, and the <a href=\"https:\/\/store.dcentwallet.com\/pages\/dcent-biometric-crypto-wallet\" target=\"_blank\" rel=\"noopener\">D&#8217;CENT shop specification<\/a> says you can register up to two fingerprints, or skip biometrics entirely and use a 4 to 8 digit PIN instead. The fact that the PIN is offered as a straight swap tells you exactly how much cryptographic weight the fingerprint is carrying, which is none.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">D&#8217;CENT&#8217;s own post of 13 March 2026 on <a href=\"https:\/\/store.dcentwallet.com\/blogs\/post\/is-biometric-authentication-safe-for-crypto-why-fingerprint-wallets-are-replacing-pins\" target=\"_blank\" rel=\"noopener\">biometric authentication<\/a> puts it plainly: the fingerprint template is encrypted and held inside the secure element, never in device memory, app databases or a server, and the recovery phrase remains the master key to the funds. That is the vendor saying the quiet part out loud on its own shop blog, which is more than most of the review sites ranking for this device manage to do.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Functionally it is the same slot a PIN occupies on a <a href=\"https:\/\/getbitcoin.guide\/articles\/trezor-hardware-wallet\/\">Trezor hardware wallet<\/a>, or the passcode on a <a href=\"https:\/\/getbitcoin.guide\/articles\/ledger-nano-s-plus-review\/\">Ledger Nano S Plus<\/a>. A convenience layer over the thing that matters. The affiliate reviews put the sensor in the headline because a fingerprint photographs well and a seed phrase does not.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"if-the-fingerprint-is-not-the-backup-what-is\">If the fingerprint is not the backup, what is?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The recovery phrase, written on the Recovery Sheet that ships in the box. The shop page states that as long as you have that phrase you can restore your accounts on a new D&#8217;CENT Biometric Wallet, and that those words are the only proof of ownership of the coins. D&#8217;CENT does not hold a copy. Nobody can reissue it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So the failure your fingerprint does not cover is the ordinary one. The device is lost, stolen, broken, or sent back under warranty. Your finger still works perfectly. It just has nothing left to press. Restoring means typing 24 words into a replacement device, and if those words are not written down somewhere you control, the coins are gone. That rule governs every <a href=\"https:\/\/getbitcoin.guide\/articles\/non-custodial-crypto-wallet\/\">non custodial wallet<\/a> and does not soften because the unlock method got nicer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Write the phrase on the sheet or on steel. Never type it into a website, a support chat, a browser extension or a phone app that offers to check or validate it. Any tool asking for a recovery phrase is taking the coins, without exception. If you are new to this, the mechanics are covered in more depth in <a href=\"https:\/\/getbitcoin.guide\/articles\/what-is-a-cold-wallet\/\">what a cold wallet actually is<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"627\" src=\"https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/09\/recovery-phrase-written-notebook.jpg\" alt=\"Hand writing in a notebook at a wooden desk, the offline backup a biometric wallet still needs\" class=\"wp-image-115\" srcset=\"https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/09\/recovery-phrase-written-notebook.jpg 1200w, https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/09\/recovery-phrase-written-notebook-300x157.jpg 300w, https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/09\/recovery-phrase-written-notebook-1024x535.jpg 1024w, https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/09\/recovery-phrase-written-notebook-768x401.jpg 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><figcaption class=\"wp-block-image__caption\">The recovery phrase is the only route back to the coins on a replacement device.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-has-been-audited-and-what-is-in-the-device-today\">What has been audited, and what is in the device today?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Every ranking page for this wallet repeats that it was independently audited by <a href=\"https:\/\/www.coinspect.com\/\" target=\"_blank\" rel=\"noopener\">Coinspect<\/a>. That is true. It is also older and narrower than the phrase suggests, and the gap is visible on D&#8217;CENT&#8217;s own website rather than anywhere exotic.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <a href=\"https:\/\/store.dcentwallet.com\/blogs\/post\/coinspect-audit-of-the-d-cent-wallet\" target=\"_blank\" rel=\"noopener\">audit post<\/a>, published 2 March 2020, describes the hardware Coinspect looked at as a two chip design: an STM32 acting as the brain of the wallet, and an NXP chip housing the secure enclave where private keys are stored. No critical issues were found, some minor non security concerns were fixed, and Coinspect confirmed the fixes. That is a good result and it is worth having.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The problem is what the same shop says today. D&#8217;CENT&#8217;s firmware post of 2 April 2026 and its biometric post of 13 March 2026 both name the secure element as an ST33, an STMicroelectronics part, certified to EAL5+. NXP and STMicroelectronics are not the same company and an ST33 is not the chip described in the audit write up. Checked on 9 September 2026, no published Coinspect report covering the ST33 hardware or the current firmware could be found, and the old user guide URLs that reviews still link to now redirect to a bare support landing page.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>What the badge implies<\/th><th>What the vendor pages actually say<\/th><\/tr><\/thead><tbody><tr><td>Independent audit of the device you can buy now<\/td><td>Audit write up published 2 March 2020, no dated report for current hardware found on 9 September 2026<\/td><\/tr><tr><td>The audited secure element<\/td><td>An NXP chip housing the secure enclave, per the audit post<\/td><\/tr><tr><td>The secure element described in 2026<\/td><td>An ST33 rated EAL5+, per the firmware post of 2 April 2026 and the biometric post of 13 March 2026<\/td><\/tr><tr><td>Firmware covered<\/td><td>Not stated in the audit post. Current release is v2.35.2, issued 16 March 2026, change note &#8220;improved stability&#8221;<\/td><\/tr><tr><td>Source code review possible by anyone else<\/td><td>No. The firmware is closed source, which is the objection raised throughout the 2022 Bitcointalk thread below<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-block-table__caption\">Compiled 9 September 2026 from D&#8217;CENT&#8217;s own shop pages. Each row is checkable against the links in this section.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">None of that means the device is unsafe. It means the word audited is doing work it has not been asked to do since 2020, and a reader deciding on the strength of that badge deserves the date attached to it. If you want the contrast, this site has written about a vendor whose problem was not the chip at all in the <a href=\"https:\/\/getbitcoin.guide\/articles\/safepal-wallet-review\/\">SafePal customer data leak<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"627\" src=\"https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/09\/secure-element-chip-circuit-board.jpg\" alt=\"Close up of microchips on a dark circuit board, the secure element class used in the D&#8217;CENT wallet\" class=\"wp-image-116\" srcset=\"https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/09\/secure-element-chip-circuit-board.jpg 1200w, https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/09\/secure-element-chip-circuit-board-300x157.jpg 300w, https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/09\/secure-element-chip-circuit-board-1024x535.jpg 1024w, https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/09\/secure-element-chip-circuit-board-768x401.jpg 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><figcaption class=\"wp-block-image__caption\">The secure element named on the shop pages in 2026 is not the one named in the audit write up.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-do-people-who-own-one-actually-report\">What do people who own one actually report?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Reading the public record on 9 September 2026: 102 reviews on <a href=\"https:\/\/www.trustpilot.com\/review\/dcentwallet.com\" target=\"_blank\" rel=\"noopener\">D&#8217;CENT&#8217;s Trustpilot profile<\/a>, scoring 3.9 out of 5, split 60 percent five star and 28 percent one star, plus a 2022 owner discussion on <a href=\"https:\/\/bitcointalk.org\/index.php?topic=5429613.0\" target=\"_blank\" rel=\"noopener\">Bitcointalk<\/a>. The shape of the complaints is the interesting part, because it is not the shape the security debate expects.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A reviewer posting as Vegas Baby on 23 January 2026 rated it three stars and said the fingerprint reader simply would not work, leaving them entering the passcode instead. D&#8217;CENT replied suggesting re registering the print or running PIN only. That is the characteristic biometric failure in the record: refusal to read, not defeat by an attacker.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Several one star reports involve funds moving in ways the owner did not intend. Harcourt Ward, 22 November 2025, reported an unauthorised XRP transfer at 4:41am. Larry Quillopo, 23 April 2026, reported a wallet drained despite having secured the seed phrase. Both are single accounts with no independent confirmation, D&#8217;CENT replied to each directing them to support, and neither can be verified from outside. They are recorded here as what the reviewers reported, not as findings. Since September 2026 there is one documented route by which a phrase could be drained without the device ever being touched, the App Wallet flaw described at the top of this page, but neither review says whether the phrase had ever been typed into the app, so it would be guessing to connect them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The larger group of loss reports is more mundane and better documented. On <a href=\"https:\/\/www.trustpilot.com\/review\/dcentwallet.com?page=2\" target=\"_blank\" rel=\"noopener\">page two<\/a> and <a href=\"https:\/\/nz.trustpilot.com\/review\/dcentwallet.com?page=3\" target=\"_blank\" rel=\"noopener\">page three<\/a>, reviewers describe failed XRP transfers because the destination account was never activated (wjnsail, 20 February 2026), coins lost to unfamiliar gas fees (Terry LaRont, 13 January 2026), and a swap through a third party provider that ate the tokens (James Anthony, 31 March 2026). Thomas Strebeigh reported the wallet freezing during an update and support resolving it. Mark James, 24 April 2026, reported a warranty replacement handled under guarantee, which is precisely the case where the recovery phrase is the only road back to the coins.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Against the pattern: a majority of these reviewers are happy, and several single out the fingerprint as the reason they chose it. The 2022 Bitcointalk thread cuts the other way again, where experienced posters objected to the closed source firmware and to Bluetooth being in the threat model at all, an objection the 2026 product does nothing to answer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Where the accounts agree with the official guidance: the recovery phrase is what saves people, and the biometric is convenience. Where they diverge: the vendor markets the sensor as the headline security feature, while the owners who lost money mostly lost it to transaction mistakes the sensor was never going to catch. Testimony, not evidence, and dated so you can check it.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/10\/dcent-biometric-wallet-chart.png\" alt=\"Bar chart comparing five-star and one-star reviews across two dates in September 2026\" class=\"wp-image-538\" srcset=\"https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/10\/dcent-biometric-wallet-chart.png 1600w, https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/10\/dcent-biometric-wallet-chart-300x169.png 300w, https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/10\/dcent-biometric-wallet-chart-1024x576.png 1024w, https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/10\/dcent-biometric-wallet-chart-768x432.png 768w, https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/10\/dcent-biometric-wallet-chart-1536x864.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><figcaption class=\"wp-block-image__caption\">Review percentages sourced from Trustpilot on September 9 and September 27, 2026.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-does-a-fingerprint-compare-with-a-pin-on-other-wallets\">How does a fingerprint compare with a PIN on other wallets?<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><\/th><th>D&#8217;CENT fingerprint<\/th><th>PIN on a hardware wallet<\/th><th>Recovery phrase<\/th><\/tr><\/thead><tbody><tr><td>What it protects<\/td><td>Physical access to an unlocked device<\/td><td>Physical access to an unlocked device<\/td><td>The keys themselves<\/td><\/tr><tr><td>Where it lives<\/td><td>Encrypted inside the secure element, per D&#8217;CENT<\/td><td>On the device<\/td><td>Wherever you wrote it down<\/td><\/tr><tr><td>Can it restore a lost device<\/td><td>No<\/td><td>No<\/td><td>Yes<\/td><\/tr><tr><td>Can you change it<\/td><td>Re register, up to two prints<\/td><td>Yes<\/td><td>Only by moving to a new phrase<\/td><\/tr><tr><td>Failure mode owners report<\/td><td>Refuses to read your finger<\/td><td>Forgotten, device wipes after retries<\/td><td>Never written down, or written down where someone found it<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-block-table__caption\">Fingerprint and PIN behaviour from D&#8217;CENT&#8217;s shop specification, checked 9 September 2026.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The row that decides everything is the third one. Two of these three things cannot bring your coins back, and the one that can is a piece of paper.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-is-worth-checking-before-a-firmware-update\">What is worth checking before a firmware update?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The current Biometric Wallet firmware is v2.35.2, released 16 March 2026, with a change note of improved stability, according to D&#8217;CENT&#8217;s <a href=\"https:\/\/store.dcentwallet.com\/blogs\/post\/hardware-wallet-firmware-update-security\" target=\"_blank\" rel=\"noopener\">firmware update post of 2 April 2026<\/a>. Updates run either from a computer over USB using the D&#8217;CENT Bridge in Chrome, or from an Android phone over an OTG cable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">D&#8217;CENT states that a normal firmware update does not erase accounts, balances or settings, and still recommends confirming your recovery phrase is stored safely offline before you start. Follow that recommendation. Reviewers have reported the device freezing mid update, and the difference between an inconvenience and a loss in that moment is whether the phrase exists somewhere outside the device.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Confirm the version on the vendor pages rather than in a review, including this one. Firmware numbers move, and a page written six months ago is not evidence about the build on your desk.<\/p>\n\n\n\n<div class=\"msq-tool msq-check\" data-id=\"dcent-firmware-checklist\" data-verb=\" verified\">\n<h3>Firmware Update Security Checklist<\/h3>\n<p>Before updating your D&#8217;CENT Biometric Wallet firmware, complete these verification steps to prevent device lockouts or asset loss.<\/p>\n<label><input type=\"checkbox\">Confirm the target firmware version on official vendor pages<\/label>\n<label><input type=\"checkbox\">Verify your recovery phrase is stored safely offline<\/label>\n<label><input type=\"checkbox\">Prepare a computer with Chrome if updating over USB<\/label>\n<label><input type=\"checkbox\">Set up the D&#8217;CENT Bridge on your computer<\/label>\n<label><input type=\"checkbox\">Prepare an Android phone and an OTG cable if updating via mobile<\/label>\n<p class=\"msq-check-count\"><\/p>\n<p class=\"msq-note\">Ticks are saved on this device only.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"frequently-asked-questions\">Frequently asked questions<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-q-1\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Can my fingerprint recover a D&#8217;CENT wallet if the device is lost?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>No. The fingerprint template is held inside the secure element on that specific device and cannot leave it. Restoring on a replacement device requires the recovery phrase written on your Recovery Sheet. D&#8217;CENT does not keep a copy and cannot reissue it.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-2\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">How many fingerprints can be registered?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Up to two, according to the D&#8217;CENT shop specification checked on 9 September 2026. You can also skip biometrics and use a 4 to 8 digit PIN instead, which is offered as a direct alternative rather than an inferior fallback.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">What happens if the fingerprint reader stops recognising my finger?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>You fall back to the PIN. This is the failure owners describe most often in public reviews, including a three star Trustpilot review from 23 January 2026 where the reader would not read at all. D&#8217;CENT&#8217;s reply suggested re registering the print or switching to PIN only.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-4\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Is the D&#8217;CENT firmware open source?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>No. It is closed, which is the main objection raised by experienced posters in the 2022 Bitcointalk thread about this device. It means nobody outside the company and its auditors can inspect what the device does with your keys.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-5\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">What is the 25th word some owners mention?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>An optional extra passphrase added on top of the 24 word recovery phrase, creating a separate set of accounts. It is a real feature and two Trustpilot reviewers cite it, but it is also another secret that is unrecoverable if forgotten, so it doubles what you must back up rather than replacing anything.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Does the fingerprint make the device harder to seize?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Not obviously. A biometric is something an attacker can use while your hand is present, which a PIN in your head is not. If that is part of your threat model, the PIN only mode exists for exactly this reason and the device supports it fully.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<div class=\"msq-end\" id=\"ms-quiz-end\">\n<p><strong>Finished the page?<\/strong> The same five questions from the top, to see what stuck.<\/p>\n<button type=\"button\" class=\"msq-btn msq-start-test\">Test Your Understanding of This Article<\/button>\n<div class=\"msq-mount\"><\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><em>This article is educational and is not financial advice. Nothing here is a recommendation to buy, sell or hold anything. You are responsible for your own security decisions.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The fingerprint on a D&#8217;CENT biometric wallet unlocks the device. It does not replace the recovery phrase, and the audit badge on every review page is dated 2020.<\/p>\n","protected":false},"author":1,"featured_media":114,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","rank_math_title":"D&#8217;CENT Biometric Wallet: What the Fingerprint Cannot Do","rank_math_description":"The D&#8217;CENT biometric wallet unlocks with your fingerprint but never backs itself up. Here is what the recovery phrase still has to do.","rank_math_focus_keyword":"d cent biometric wallet","rank_math_canonical_url":"","rank_math_breadcrumb_title":"","rank_math_facebook_title":"","rank_math_facebook_description":"","rank_math_facebook_image":"","rank_math_twitter_title":"","rank_math_twitter_description":"","rank_math_twitter_image":"","rank_math_pillar_content":"","rank_math_robots":[],"rank_math_advanced_robots":[]},"categories":[2],"tags":[],"class_list":["post-117","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wallets"],"_links":{"self":[{"href":"https:\/\/getbitcoin.guide\/articles\/wp-json\/wp\/v2\/posts\/117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/getbitcoin.guide\/articles\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/getbitcoin.guide\/articles\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/getbitcoin.guide\/articles\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/getbitcoin.guide\/articles\/wp-json\/wp\/v2\/comments?post=117"}],"version-history":[{"count":5,"href":"https:\/\/getbitcoin.guide\/articles\/wp-json\/wp\/v2\/posts\/117\/revisions"}],"predecessor-version":[{"id":739,"href":"https:\/\/getbitcoin.guide\/articles\/wp-json\/wp\/v2\/posts\/117\/revisions\/739"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/getbitcoin.guide\/articles\/wp-json\/wp\/v2\/media\/114"}],"wp:attachment":[{"href":"https:\/\/getbitcoin.guide\/articles\/wp-json\/wp\/v2\/media?parent=117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/getbitcoin.guide\/articles\/wp-json\/wp\/v2\/categories?post=117"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/getbitcoin.guide\/articles\/wp-json\/wp\/v2\/tags?post=117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}