{"id":849,"date":"2026-11-03T09:21:15","date_gmt":"2026-11-03T09:21:15","guid":{"rendered":"https:\/\/getbitcoin.guide\/articles\/?p=849"},"modified":"2026-11-03T09:25:48","modified_gmt":"2026-11-03T09:25:48","slug":"moonpay-wallet","status":"publish","type":"post","link":"https:\/\/getbitcoin.guide\/articles\/moonpay-wallet\/","title":{"rendered":"MoonPay Wallet: What It Holds and What It Only Passes On"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>A MoonPay wallet is non-custodial: MoonPay&#8217;s own help centre says it has no access to your crypto or your recovery phrase, which you can export at any time. But most people meet MoonPay as a checkout inside another wallet, where it holds nothing and sends coins to whatever address that checkout was given.<\/strong><\/p>\n\n\n\n<div class=\"msq-audio\" data-article=\"moonpay-wallet\" data-minutes=\"11\">\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\/moonpay-wallet\/#audio\",\"name\":\"MoonPay Wallet: What It Holds and What It Only Passes On, read aloud\",\"description\":\"Synthetic voice reading of the article, recorded 3 November 2026.\",\"contentUrl\":\"https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/11\/moonpay-wallet-audio-202611031455.mp3\",\"encodingFormat\":\"audio\/mpeg\",\"duration\":\"PT10M54S\",\"uploadDate\":\"2026-11-03\",\"inLanguage\":\"en-GB\",\"isAccessibleForFree\":true,\"mainEntityOfPage\":\"https:\/\/getbitcoin.guide\/articles\/moonpay-wallet\/\",\"hasPart\":[{\"@type\":\"Clip\",\"name\":\"MoonPay Wallet: What It Holds and What It Only Passes On\",\"startOffset\":0,\"endOffset\":56},{\"@type\":\"Clip\",\"name\":\"Is a MoonPay wallet custodial, and who holds the keys?\",\"startOffset\":56,\"endOffset\":207,\"url\":\"https:\/\/getbitcoin.guide\/articles\/moonpay-wallet\/#is-a-moonpay-wallet-custodial-and-who-holds-the-keys\"},{\"@type\":\"Clip\",\"name\":\"Where do coins land when you buy through MoonPay inside another wallet?\",\"startOffset\":207,\"endOffset\":284,\"url\":\"https:\/\/getbitcoin.guide\/articles\/moonpay-wallet\/#where-do-coins-land-when-you-buy-through-moonpay-inside-anot\"},{\"@type\":\"Clip\",\"name\":\"What happens to a MoonPay wallet if the account is disabled?\",\"startOffset\":284,\"endOffset\":342,\"url\":\"https:\/\/getbitcoin.guide\/articles\/moonpay-wallet\/#what-happens-to-a-moonpay-wallet-if-the-account-is-disabled\"},{\"@type\":\"Clip\",\"name\":\"How do scammers use MoonPay without touching your wallet?\",\"startOffset\":342,\"endOffset\":429,\"url\":\"https:\/\/getbitcoin.guide\/articles\/moonpay-wallet\/#how-do-scammers-use-moonpay-without-touching-your-wallet\"},{\"@type\":\"Clip\",\"name\":\"What do people who ran into trouble with MoonPay report?\",\"startOffset\":429,\"endOffset\":540,\"url\":\"https:\/\/getbitcoin.guide\/articles\/moonpay-wallet\/#what-do-people-who-ran-into-trouble-with-moonpay-report\"},{\"@type\":\"Clip\",\"name\":\"How do you confirm a receiving address is really yours?\",\"startOffset\":540,\"endOffset\":654,\"url\":\"https:\/\/getbitcoin.guide\/articles\/moonpay-wallet\/#how-do-you-confirm-a-receiving-address-is-really-yours\"}],\"contentSize\":\"4.6 MB\"}<\/script>\n<p class=\"msq-audio-lead\"><strong>Listen to this article<\/strong>, about 11 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\/11\/moonpay-wallet-audio-202611031455.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: MoonPay Wallet: What It Holds and What It Only Passes On\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:00<\/span><a href=\"#top\">MoonPay Wallet: What It Holds and What It Only Passes On<\/a><\/li>\n<li data-start=\"56.3\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"56.3\" aria-label=\"Play from: Is a MoonPay wallet custodial, and who holds the keys?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:56<\/span><a href=\"#is-a-moonpay-wallet-custodial-and-who-holds-the-keys\">Is a MoonPay wallet custodial, and who holds the keys?<\/a><\/li>\n<li data-start=\"206.6\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"206.6\" aria-label=\"Play from: Where do coins land when you buy through MoonPay inside another wallet?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">3:27<\/span><a href=\"#where-do-coins-land-when-you-buy-through-moonpay-inside-anot\">Where do coins land when you buy through MoonPay inside another wallet?<\/a><\/li>\n<li data-start=\"283.94\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"283.94\" aria-label=\"Play from: What happens to a MoonPay wallet if the account is disabled?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">4:44<\/span><a href=\"#what-happens-to-a-moonpay-wallet-if-the-account-is-disabled\">What happens to a MoonPay wallet if the account is disabled?<\/a><\/li>\n<li data-start=\"342.44\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"342.44\" aria-label=\"Play from: How do scammers use MoonPay without touching your wallet?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">5:42<\/span><a href=\"#how-do-scammers-use-moonpay-without-touching-your-wallet\">How do scammers use MoonPay without touching your wallet?<\/a><\/li>\n<li data-start=\"429.18\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"429.18\" aria-label=\"Play from: What do people who ran into trouble with MoonPay report?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">7:09<\/span><a href=\"#what-do-people-who-ran-into-trouble-with-moonpay-report\">What do people who ran into trouble with MoonPay report?<\/a><\/li>\n<li data-start=\"540.44\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"540.44\" aria-label=\"Play from: How do you confirm a receiving address is really yours?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">9:00<\/span><a href=\"#how-do-you-confirm-a-receiving-address-is-really-yours\">How do you confirm a receiving address is really yours?<\/a><\/li>\n<\/ol><\/nav>\n<p class=\"msq-audio-note\">Recorded 3 November 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\",\"moonpaywalletwhatitholds\",45],[3.72,\"p\",\"amoonpaywalletisnoncusto\",124],[13.36,\"p\",\"butmostpeoplemeetmoonpay\",123],[21.36,\"p\",\"onthispagemoonpaysownhel\",223],[38.2,\"p\",\"checkedon3november2026ag\",77],[45.04,\"p\",\"nothingbelowcomesfromare\",145],[56.3,\"h\",\"isamoonpaywalletcustodia\",43],[59.98,\"p\",\"insidethemoonpayappnobod\",49],[64.06,\"p\",\"itsmanagingyourwalletspa\",161],[74.54,\"p\",\"thewalletsecurityandreco\",114],[84.22,\"p\",\"thathasahardedge\",16],[85.86,\"p\",\"thesamepagesaysyouraccou\",110],[94.06,\"p\",\"moonpayssupportteamcanno\",61],[98.58,\"p\",\"sothisisarealnoncustodia\",72],[103.5,\"p\",\"twolimitsareworthknowing\",24],[105.5,\"p\",\"thewalletonlystoresbtcet\",124],[117.26,\"p\",\"andnoteverythingwithmoon\",45],[120.34,\"p\",\"moonpaybalanceismoneynot\",230],[141.34,\"t\",\"walletsinthemoonpayapp\",135],[160.86,\"t\",\"moonpaybalance\",139],[176.62,\"t\",\"checkoutinsideanotherwal\",150],[188.7,\"t\",\"moonpaycliwallet\",139],[206.6,\"h\",\"wheredocoinslandwhenyoub\",59],[210.72,\"p\",\"thisiswherethesearchterm\",35],[212.8,\"p\",\"moonpaydescribesitselfin\",122],[224.44,\"p\",\"soalotofpeoplewhotypemoo\",62],[228.56,\"p\",\"theytappedbuyinsidephant\",75],[234.24,\"p\",\"inthatcasemoonpayistheti\",36],[237.48,\"p\",\"moonpayshelppagesaysanyc\",120],[246.4,\"p\",\"thecoinsgototheaddressth\",42],[249.88,\"p\",\"ifthewalletappfilleditin\",78],[255.52,\"p\",\"moonpayneverheldthemfora\",54],[259.44,\"p\",\"thepracticalconsequencei\",59],[263.32,\"p\",\"aledgersupportagentputit\",180],[277.76,\"p\",\"thewalletmakercannotreve\",76],[283.94,\"h\",\"whathappenstoamoonpaywal\",49],[287.58,\"p\",\"lessthanyoumightfear\",20],[289.06,\"p\",\"moonpayspageondisabledac\",198],[307.02,\"p\",\"thatisexactlywhatselfcus\",87],[313.18,\"p\",\"thesamepagesayssomedisab\",84],[319.14,\"p\",\"onepersoninrcryptohelpin\",145],[330.58,\"p\",\"forthecoinstheexitisther\",73],[335.58,\"p\",\"ourguideonhowrecoveryphr\",75],[342.44,\"h\",\"howdoscammersusemoonpayw\",48],[345.64,\"p\",\"bygettingyoutosendcoinst\",77],[350.36,\"p\",\"moonpaydescribesthepatte\",64],[357.04,\"p\",\"someonecallspretendingto\",55],[361.56,\"p\",\"theysayyouraccountishack\",26],[363.68,\"p\",\"theykeepyouonthephoneask\",159],[374.0,\"p\",\"moonpaysanswerisbluntleg\",347],[402.84,\"p\",\"onemorethingwesawontheda\",25],[405.28,\"p\",\"asearchformoonpaywalleth\",182],[419.8,\"p\",\"noneofthemismoonpay\",19],[421.16,\"p\",\"moonpaysownhelplivesatsu\",89],[429.18,\"h\",\"whatdopeoplewhoranintotr\",46],[432.78,\"p\",\"wereadeightpublicaccount\",130],[442.66,\"p\",\"thepageshowedascoreof41f\",79],[451.42,\"p\",\"theyarewhatpeoplereportn\",34],[454.14,\"p\",\"thescampatternisnotlimit\",38],[457.18,\"p\",\"anewetsysellerpostedinse\",159],[469.46,\"p\",\"theylockedthecard\",17],[471.22,\"p\",\"commentersnotedthetellar\",57],[476.06,\"p\",\"missingtransfersusuallyc\",41],[479.1,\"p\",\"inrcryptohelpinmay2026so\",153],[491.26,\"p\",\"commenterssuspectedafake\",112],[498.9,\"p\",\"onrledgerwalletinoctober\",132],[510.14,\"p\",\"thetrustpilotsidewasthin\",186],[524.98,\"p\",\"wheretheaccountsagreewit\",82],[530.58,\"p\",\"wheretheyaddsomethingist\",137],[540.44,\"h\",\"howdoyouconfirmareceivin\",45],[543.44,\"p\",\"beforeasinglecoinmovesop\",131],[552.48,\"p\",\"comparethefirstandlastsi\",73],[556.76,\"p\",\"checkthenetworkmatchesmo\",205],[575.48,\"p\",\"afterwardskeepthetransac\",57],[580.48,\"p\",\"ifyouarebuyingforsomeone\",72],[585.64,\"p\",\"thatisnotawalletquestion\",31],[588.32,\"p\",\"itisthescaminthesectiona\",91],[594.16,\"p\",\"foranythingyouholdlongte\",134],[603.24,\"t\",\"copytheaddressfromyourow\",115],[613.24,\"t\",\"matchthenetworkandanydes\",104],[623.64,\"t\",\"refuseanyonewhoasksyouto\",113],[634.32,\"t\",\"nevertypearecoveryphrase\",108],[644.44,\"t\",\"savethetransactionid\",95]];\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: MoonPay&#8217;s own help pages, dated June to October 2026, quoted on who holds the keys, where coins land after a checkout inside another wallet and what a disabled account can still do, plus eight public accounts of scams and stuck transfers and an address checklist.<\/p>\n\n\n\n<div class=\"msq\" id=\"ms-quiz\" data-slug=\"moonpay-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=\"Is a MoonPay wallet custodial, and who holds the keys?\" data-section=\"#is-a-moonpay-wallet-custodial-and-who-holds-the-keys\">\n<p class=\"msq-question\">1. What does MoonPay&#8217;s wallet security page say about your recovery phrase?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 1 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">MoonPay keeps a backup copy in case you lose it<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">MoonPay does not have access to your crypto or your recovery phrase<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">MoonPay support can reset it after an identity check<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>MoonPay&#8217;s <a href=\"https:\/\/support.moonpay.com\/en\/articles\/383326-wallet-security-and-recovery\" target=\"_blank\" rel=\"noopener\">Wallet security and recovery page<\/a> says it has no access to your crypto or your recovery phrase, and that a lost phrase means the crypto is lost. <a class=\"msq-section\" href=\"#is-a-moonpay-wallet-custodial-and-who-holds-the-keys\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"2\" data-answer=\"a\" data-title=\"Where do coins land when you buy through MoonPay inside another wallet?\" data-section=\"#where-do-coins-land-when-you-buy-through-moonpay-inside-anot\">\n<p class=\"msq-question\">2. When you buy through MoonPay inside another wallet app, where do the coins go?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 2 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">To the address the checkout was given, usually the wallet app&#8217;s own<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Into a MoonPay account, until you claim them<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Into MoonPay Balance as dollars<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>MoonPay&#8217;s <a href=\"https:\/\/support.moonpay.com\/en\/articles\/383215-managing-your-wallets\" target=\"_blank\" rel=\"noopener\">Managing your wallets page<\/a> says purchases can be delivered to external wallets, which are not provided or controlled by MoonPay. <a class=\"msq-section\" href=\"#where-do-coins-land-when-you-buy-through-moonpay-inside-anot\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"3\" data-answer=\"c\" data-title=\"What happens to a MoonPay wallet if the account is disabled?\" data-section=\"#what-happens-to-a-moonpay-wallet-if-the-account-is-disabled\">\n<p class=\"msq-question\">3. According to MoonPay, what can you still do with a disabled account?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 3 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Nothing until an appeal succeeds<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Buy and sell, but not export<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Export the wallet, though buying and selling are blocked<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>MoonPay&#8217;s <a href=\"https:\/\/support.moonpay.com\/en\/articles\/549545-why-your-moonpay-account-may-be-disabled-and-what-happens-next\" target=\"_blank\" rel=\"noopener\">disabled accounts page of 17 June 2026<\/a> says buy and sell actions are blocked but wallet export is still allowed. <a class=\"msq-section\" href=\"#what-happens-to-a-moonpay-wallet-if-the-account-is-disabled\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"4\" data-answer=\"a\" data-title=\"How do scammers use MoonPay without touching your wallet?\" data-section=\"#how-do-scammers-use-moonpay-without-touching-your-wallet\">\n<p class=\"msq-question\">4. In the fake support scam MoonPay describes, what are victims told to do?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 4 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Create a MoonPay account, buy crypto and send it to a wallet the scammer controls<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Hand over a hardware wallet by post<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Pay a fee to MoonPay to unlock their bank account<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>MoonPay&#8217;s <a href=\"https:\/\/support.moonpay.com\/en\/articles\/597916-how-to-protect-yourself-from-fake-paypal-venmo-revolut-and-bank-support-scams\" target=\"_blank\" rel=\"noopener\">article on fake PayPal, Venmo, Revolut and bank support scams<\/a> says the steps lead to buying crypto and sending it straight to the scammer. <a class=\"msq-section\" href=\"#how-do-scammers-use-moonpay-without-touching-your-wallet\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"5\" data-answer=\"b\" data-title=\"How do you confirm a receiving address is really yours?\" data-section=\"#how-do-you-confirm-a-receiving-address-is-really-yours\">\n<p class=\"msq-question\">5. What does MoonPay say about a transaction once it is confirmed?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 5 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">It can be reversed within 24 hours<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">It can&#8217;t be canceled, redirected, or refunded<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Support can redirect it if you give the right address<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>MoonPay&#8217;s <a href=\"https:\/\/support.moonpay.com\/en\/articles\/682693-what-to-do-if-you-sent-crypto-to-the-wrong-wallet-address\" target=\"_blank\" rel=\"noopener\">wrong address page<\/a> says a confirmed transaction cannot be canceled, redirected or refunded, which is why the address check comes first. <a class=\"msq-section\" href=\"#how-do-you-confirm-a-receiving-address-is-really-yours\">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<p class=\"wp-block-paragraph\">Checked on 3 November 2026 against MoonPay&#8217;s own support pages, each linked where it is quoted. Nothing below comes from a review site, partly on principle and partly because the review sites in this corner mostly want you to click a buy button before the second paragraph.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"is-a-moonpay-wallet-custodial-and-who-holds-the-keys\">Is a MoonPay wallet custodial, and who holds the keys?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Inside the MoonPay app, nobody but you, according to MoonPay. Its <a href=\"https:\/\/support.moonpay.com\/en\/articles\/383215-managing-your-wallets\" target=\"_blank\" rel=\"noopener\">Managing your wallets<\/a> page says your assets &#8220;are held in non-custodial wallets that are created automatically when you sign up to MoonPay&#8221;, and that &#8220;MoonPay does not have custody of your crypto&#8221;. The <a href=\"https:\/\/support.moonpay.com\/en\/articles\/383326-wallet-security-and-recovery\" target=\"_blank\" rel=\"noopener\">Wallet security and recovery page, dated 29 July 2026<\/a>, goes further: &#8220;MoonPay does not have access to your crypto or your recovery phrase.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That has a hard edge. The same page says your account has &#8220;a single recovery phrase&#8221;, and that if it is lost or stolen, &#8220;your cryptocurrency will be lost forever&#8221;. MoonPay&#8217;s support team cannot fetch it for you or move coins on your behalf. So this is a real <a href=\"https:\/\/getbitcoin.guide\/articles\/non-custodial-crypto-wallet\/\">non custodial wallet<\/a>, with the full responsibility that comes with one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Two limits are worth knowing. The wallet only stores BTC, ETH, XRP, TRX and SOL, and the <a href=\"https:\/\/support.moonpay.com\/en\/articles\/383215-managing-your-wallets\" target=\"_blank\" rel=\"noopener\">same page<\/a> says wallet features &#8220;are currently available in the MoonPay mobile app&#8221;, not the website. And not everything with MoonPay&#8217;s name on it is a wallet. MoonPay Balance is money, not coins: the <a href=\"https:\/\/support.moonpay.com\/en\/articles\/381106-moonpay-balance-how-to-top-up-use-and-withdraw\" target=\"_blank\" rel=\"noopener\">Balance page updated on 2 October 2026<\/a> says it holds USD, GBP or EUR and that &#8220;Funds are stored in a bank account owned by an independent foundation, in line with MiCA safeguarding obligations.&#8221; That is a different arrangement from holding keys.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>MoonPay product<\/th><th>What it holds<\/th><th>Who holds the keys or funds<\/th><th>MoonPay&#8217;s own page<\/th><\/tr><\/thead><tbody><tr><td>Wallets in the MoonPay app<\/td><td>BTC, ETH, XRP, TRX, SOL<\/td><td>You, through one recovery phrase<\/td><td><a href=\"https:\/\/support.moonpay.com\/en\/articles\/383326-wallet-security-and-recovery\" target=\"_blank\" rel=\"noopener\">Wallet security, 29 Jul 2026<\/a><\/td><\/tr><tr><td>MoonPay Balance<\/td><td>USD, GBP or EUR, not crypto<\/td><td>A bank account owned by an independent foundation<\/td><td><a href=\"https:\/\/support.moonpay.com\/en\/articles\/381106-moonpay-balance-how-to-top-up-use-and-withdraw\" target=\"_blank\" rel=\"noopener\">Balance, 2 Oct 2026<\/a><\/td><\/tr><tr><td>Checkout inside another wallet<\/td><td>Nothing; it sends to the address supplied<\/td><td>Whoever controls that address<\/td><td><a href=\"https:\/\/support.moonpay.com\/en\/articles\/383215-managing-your-wallets\" target=\"_blank\" rel=\"noopener\">Managing wallets<\/a><\/td><\/tr><tr><td>MoonPay CLI wallet<\/td><td>Whatever you fund it with<\/td><td>You; MoonPay &#8220;cannot recover them if lost&#8221;<\/td><td><a href=\"https:\/\/support.moonpay.com\/en\/articles\/629120-agentic-finance-101-the-moonpay-cli-explainer\" target=\"_blank\" rel=\"noopener\">CLI explainer, 27 Jul 2026<\/a><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"where-do-coins-land-when-you-buy-through-moonpay-inside-anot\">Where do coins land when you buy through MoonPay inside another wallet?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is where the search term gets muddled. MoonPay describes itself in its <a href=\"https:\/\/support.moonpay.com\/en\/articles\/380731-what-is-moonpay\" target=\"_blank\" rel=\"noopener\">What is MoonPay page of 28 July 2026<\/a> as &#8220;payment infrastructure for crypto&#8221;, &#8220;trusted by 300+ wallets, websites, and apps&#8221;. So a lot of people who type &#8220;MoonPay wallet&#8221; have never opened the MoonPay app. They tapped Buy inside <a href=\"https:\/\/getbitcoin.guide\/articles\/phantom-crypto-wallet\/\">Phantom<\/a>, <a href=\"https:\/\/getbitcoin.guide\/articles\/trust-wallet-review\/\">Trust Wallet<\/a> or a similar app, and a MoonPay screen appeared.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In that case MoonPay is the till, not the safe. MoonPay&#8217;s <a href=\"https:\/\/support.moonpay.com\/en\/articles\/383215-managing-your-wallets\" target=\"_blank\" rel=\"noopener\">help page<\/a> says any crypto you buy &#8220;can be delivered to an external wallet&#8221;, and that such wallets are &#8220;not provided or controlled by MoonPay&#8221;. The coins go to the address the checkout was handed. If the wallet app filled it in, the coins land in that wallet, under that wallet&#8217;s recovery phrase. MoonPay never held them for a moment longer than the transaction.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The practical consequence is about who answers when something breaks. A Ledger support agent put it plainly in a <a href=\"https:\/\/www.reddit.com\/r\/ledgerwallet\/comments\/1xjny4a\/dont_use_moonpay\/\" target=\"_blank\" rel=\"noopener\">reply in r\/ledgerwallet on 2 November 2026<\/a>: the app is &#8220;just an interface&#8221; for partners such as MoonPay, whose service is &#8220;managed independently&#8221;, so MoonPay support is the first stop. The wallet maker cannot reverse what MoonPay sent, and MoonPay cannot reach into the wallet.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"768\" src=\"https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/11\/hands-verifying-transaction-on-moonpay-wallet.jpg\" alt=\"Hands holding a smartphone to verify a transfer sent from a moonpay wallet to a hardware device.\" class=\"wp-image-847\" srcset=\"https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/11\/hands-verifying-transaction-on-moonpay-wallet.jpg 1376w, https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/11\/hands-verifying-transaction-on-moonpay-wallet-300x167.jpg 300w, https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/11\/hands-verifying-transaction-on-moonpay-wallet-1024x572.jpg 1024w, https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/11\/hands-verifying-transaction-on-moonpay-wallet-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><figcaption class=\"wp-block-image__caption\">Third-party integrations often pass funds directly to your external address.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-happens-to-a-moonpay-wallet-if-the-account-is-disabled\">What happens to a MoonPay wallet if the account is disabled?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Less than you might fear. MoonPay&#8217;s <a href=\"https:\/\/support.moonpay.com\/en\/articles\/549545-why-your-moonpay-account-may-be-disabled-and-what-happens-next\" target=\"_blank\" rel=\"noopener\">page on disabled accounts, dated 17 June 2026<\/a>, says: &#8220;Disabled accounts block buy and sell actions, but wallet export is still allowed.&#8221; It adds that &#8220;your funds are not taken or frozen&#8221;, because MoonPay &#8220;does not hold or control your crypto&#8221;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That is exactly what self custody is supposed to buy you, and it only works if you can still reach the phrase. The same page says some disablements cannot be appealed and that opening a new account is not allowed. One person in <a href=\"https:\/\/www.reddit.com\/r\/CryptoHelp\/comments\/1pr4nea\/why_moonpay_says_my_account_is_disabled\/\" target=\"_blank\" rel=\"noopener\">r\/CryptoHelp in December 2025<\/a> described seeing the disabled message every time they logged in, then making new accounts with new emails and hitting the same wall. For the coins, the exit is the recovery phrase and a wallet that supports the same network. Our guide on <a href=\"https:\/\/getbitcoin.guide\/articles\/your-recovery-phrase\/\">how recovery phrases get lost<\/a> is the part to read before you ever need that exit.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-do-scammers-use-moonpay-without-touching-your-wallet\">How do scammers use MoonPay without touching your wallet?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">By getting you to send coins to their address, through MoonPay&#8217;s perfectly ordinary checkout. MoonPay describes the pattern itself in a <a href=\"https:\/\/support.moonpay.com\/en\/articles\/597916-how-to-protect-yourself-from-fake-paypal-venmo-revolut-and-bank-support-scams\" target=\"_blank\" rel=\"noopener\">support article dated 27 July 2026<\/a>. Someone calls pretending to be from PayPal, Venmo, Revolut or a bank. They say your account is hacked. They keep you on the phone, ask you to create a MoonPay account and buy crypto to &#8220;reverse&#8221; the fraud, and the steps &#8220;actually lead to you buying cryptocurrency and sending it directly to the scammer.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MoonPay&#8217;s answer is blunt: &#8220;legitimate support teams will not ask you to buy or send cryptocurrency.&#8221; Its <a href=\"https:\/\/support.moonpay.com\/en\/articles\/388281-security-and-safety-faqs\" target=\"_blank\" rel=\"noopener\">Security and safety FAQs of 24 June 2026<\/a> add that MoonPay &#8220;will never ask for your password, one-time passcodes (OTPs), or private keys\/seed phrase&#8221;, that real emails come only from @moonpay.com or @mail.moonpay.com, and that &#8220;Cryptocurrency transactions are irreversible, so we cannot refund any transaction once it&#8217;s completed.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One more thing we saw on the day. A search for MoonPay wallet help on 3 November 2026 returned pages dressed up as MoonPay recovery guides, carrying &#8220;support&#8221; phone numbers, hosted on a book review site and in an upload folder on a US state government domain. None of them is MoonPay. MoonPay&#8217;s own help lives at support.moonpay.com, and no genuine helper will ever ask for your recovery phrase.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-do-people-who-ran-into-trouble-with-moonpay-report\">What do people who ran into trouble with MoonPay report?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We read eight public accounts on 3 November 2026: four Reddit threads and the four reviews on <a href=\"https:\/\/www.trustpilot.com\/review\/moonpay.com\" target=\"_blank\" rel=\"noopener\">MoonPay&#8217;s Trustpilot page<\/a> that touched wallets or missing funds. The page showed a score of 4.1 from 115,975 reviews, so these are the complaints, not the average day. They are what people report, not findings.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The scam pattern is not limited to phone calls. A new Etsy seller <a href=\"https:\/\/www.reddit.com\/r\/EtsyCommunity\/comments\/1wk92q9\/retsy_scam_via_moonpay_pls_help\/\" target=\"_blank\" rel=\"noopener\">posted in September 2026<\/a> that an email posing as a first order walked them into creating a MoonPay account and entering card details before they checked Etsy and found no sale. They locked the card. Commenters noted the tell: a real order shows on the seller dashboard.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Missing transfers usually come down to evidence. In <a href=\"https:\/\/www.reddit.com\/r\/CryptoHelp\/comments\/1taj8qu\/21k_of_bitcoin_via_moonpay\/\" target=\"_blank\" rel=\"noopener\">r\/CryptoHelp in May 2026<\/a> someone said a friend had sent about $21,000 in bitcoin to their MoonPay wallet, with no screenshot and no transaction ID, and nothing visible on a block explorer. Commenters suspected a fake exchange or a swapped address; days later the poster said the money had bounced back to the friend&#8217;s account. On <a href=\"https:\/\/www.reddit.com\/r\/ledgerwallet\/comments\/1xjny4a\/dont_use_moonpay\/\" target=\"_blank\" rel=\"noopener\">r\/ledgerwallet in October 2026<\/a> a user said an ETH to USDT swap expired after the ETH had left, and was told MoonPay tickets can take from days to a couple of weeks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Trustpilot side was thinner on custody: one reviewer from Turkey on 2 November 2026 said funds sent towards an <a href=\"https:\/\/getbitcoin.guide\/articles\/exodus-wallet-review\/\">Exodus<\/a> wallet ended up held in MoonPay&#8217;s cash section and frozen, and MoonPay replied that it had opened a ticket. Where the accounts agree with MoonPay&#8217;s pages is the hard part: confirmed transfers do not come back. Where they add something is the paperwork: both stuck transfer accounts turned on whether a transaction ID existed, and the one without it had nothing to show anybody.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-do-you-confirm-a-receiving-address-is-really-yours\">How do you confirm a receiving address is really yours?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before a single coin moves, open the receiving wallet yourself and copy its receive address fresh, rather than trusting anything pasted into a chat or an email. Compare the first and last six characters on the checkout screen with the wallet screen. Check the network matches: MoonPay&#8217;s <a href=\"https:\/\/support.moonpay.com\/en\/articles\/682693-what-to-do-if-you-sent-crypto-to-the-wrong-wallet-address\" target=\"_blank\" rel=\"noopener\">wrong address page of 27 July 2026<\/a> notes that XRP needs a destination tag and that ERC-20 sends need a small amount of ETH for fees, and that &#8220;Once a transaction is confirmed, it can&#8217;t be canceled, redirected, or refunded.&#8221;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"768\" src=\"https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/11\/man-checking-addresses-for-moonpay-wallet-safety.jpg\" alt=\"A man compares addresses on his laptop and hardware wallet to secure his moonpay wallet.\" class=\"wp-image-848\" srcset=\"https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/11\/man-checking-addresses-for-moonpay-wallet-safety.jpg 1376w, https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/11\/man-checking-addresses-for-moonpay-wallet-safety-300x167.jpg 300w, https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/11\/man-checking-addresses-for-moonpay-wallet-safety-1024x572.jpg 1024w, https:\/\/getbitcoin.guide\/articles\/wp-content\/uploads\/2026\/11\/man-checking-addresses-for-moonpay-wallet-safety-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><figcaption class=\"wp-block-image__caption\">Always double-check every character on your physical screen before confirming.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Afterwards, keep the transaction ID and look it up on a block explorer. If you are buying for someone else, or a stranger is telling you which address to use, stop. That is not a wallet question any more. It is the scam in the section above, and the <a href=\"https:\/\/getbitcoin.guide\/articles\/paypal-crypto-wallet\/\">PayPal crypto article<\/a> shows the same trick wearing a different logo. For anything you hold long term, <a href=\"https:\/\/getbitcoin.guide\/articles\/exchange-wallets-coinbase-kraken-robinhood\/\">the difference between exchange custody and your own keys<\/a> explains why the address you send to matters more than the app you buy in.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Check<\/th><th>Why it matters<\/th><th>Source<\/th><\/tr><\/thead><tbody><tr><td>Copy the address from your own wallet app<\/td><td>A pasted or supplied address can belong to someone else<\/td><td><a href=\"https:\/\/support.moonpay.com\/en\/articles\/388281-security-and-safety-faqs\" target=\"_blank\" rel=\"noopener\">MoonPay safety FAQs<\/a><\/td><\/tr><tr><td>Match the network and any destination tag<\/td><td>XRP without a tag can strand funds<\/td><td><a href=\"https:\/\/support.moonpay.com\/en\/articles\/682693-what-to-do-if-you-sent-crypto-to-the-wrong-wallet-address\" target=\"_blank\" rel=\"noopener\">MoonPay wrong address page<\/a><\/td><\/tr><tr><td>Refuse anyone who asks you to buy to fix an account<\/td><td>&#8220;legitimate support teams will not ask&#8221;<\/td><td><a href=\"https:\/\/support.moonpay.com\/en\/articles\/597916-how-to-protect-yourself-from-fake-paypal-venmo-revolut-and-bank-support-scams\" target=\"_blank\" rel=\"noopener\">MoonPay fake support page<\/a><\/td><\/tr><tr><td>Never type a recovery phrase into any page or call<\/td><td>MoonPay &#8220;will never ask&#8221; for it<\/td><td><a href=\"https:\/\/support.moonpay.com\/en\/articles\/383326-wallet-security-and-recovery\" target=\"_blank\" rel=\"noopener\">MoonPay wallet security page<\/a><\/td><\/tr><tr><td>Save the transaction ID<\/td><td>It is the only proof a ticket can work from<\/td><td><a href=\"https:\/\/support.moonpay.com\/en\/articles\/682693-what-to-do-if-you-sent-crypto-to-the-wrong-wallet-address\" target=\"_blank\" rel=\"noopener\">MoonPay wrong address page<\/a><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"msq-tool msq-check\" data-id=\"mp-address-check\" data-verb=\" checked\">\n<h3>Before a MoonPay transfer lands: is the address really yours?<\/h3>\n<p>Tick each step before you confirm. Nothing here asks for your recovery phrase, and nothing ever should.<\/p>\n<label><input type=\"checkbox\">Nobody on a call, chat or email told me to buy or send crypto to fix an account<\/label>\n<label><input type=\"checkbox\">I opened the receiving wallet on my own device and copied its receive address fresh<\/label>\n<label><input type=\"checkbox\">The first and last six characters match on the checkout screen and in my wallet<\/label>\n<label><input type=\"checkbox\">The network matches the coin, and an XRP send carries the destination tag<\/label>\n<label><input type=\"checkbox\">I have typed my recovery phrase into no website, form or call<\/label>\n<label><input type=\"checkbox\">I will save the transaction ID and check it on a block explorer<\/label>\n<p class=\"msq-check-count\"><\/p>\n<p class=\"msq-note\">MoonPay says it will never ask for your password, one-time passcodes or seed phrase. Anyone who does is trying to take the coins.<\/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 \">Does MoonPay give me a recovery phrase?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes, for wallets inside the MoonPay app. MoonPay says each account has a single recovery phrase that you can export at any time, and that MoonPay itself cannot see it. If you only ever bought through MoonPay inside another app, your phrase is that app&#8217;s phrase, not MoonPay&#8217;s.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-2\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Can MoonPay freeze the coins in my MoonPay wallet?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>MoonPay says not. Its disabled accounts page says buying and selling are blocked when an account is disabled but wallet export is still allowed, and that funds are not taken or frozen. MoonPay Balance, which is fiat money, is a separate arrangement.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Which coins can a MoonPay wallet hold?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>MoonPay&#8217;s help page lists BTC, ETH, XRP, TRX and SOL for its own wallets. Other assets bought through MoonPay have to be delivered to an external wallet that supports them.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-4\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Can I use a MoonPay wallet on a computer?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>MoonPay says its wallet features are currently available in the mobile app. The separate command line tool creates its own non-custodial wallets, which MoonPay says it cannot recover if the keys are lost.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-5\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Someone on the phone says MoonPay support needs my recovery phrase to unlock my funds. Is that real?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>No. MoonPay says it will never ask for your password, one-time passcodes, private keys or seed phrase. Hang up, and contact MoonPay only through the help centre at support.moonpay.com, reached by typing the address yourself.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Can MoonPay get back coins I sent to the wrong address?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>MoonPay says a confirmed transaction cannot be cancelled, redirected or refunded. It may be able to cancel a buy order that has not yet completed. Anyone offering to recover sent crypto for a fee is worth treating with deep suspicion.<\/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 general information about wallet security and is not financial advice. Nothing here is a recommendation to buy, sell or hold anything, or to use or avoid any service. Speak to a suitably qualified professional about your own situation, and remember that in self custody the security decisions are yours alone.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A MoonPay wallet is non-custodial: MoonPay&#8217;s own help centre says it has no access to your crypto or your recovery phrase, which you can export at any time. But most people meet MoonPay as a checkout inside another wallet, where it holds nothing and sends coins to whatever address that checkout was given.<\/p>\n","protected":false},"author":1,"featured_media":846,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","rank_math_title":"MoonPay Wallet: What It Holds and What It Only Passes On","rank_math_description":"A MoonPay wallet is non-custodial and MoonPay cannot see your recovery phrase. Where coins land, what a disabled account means, and the scams.","rank_math_focus_keyword":"moonpay 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-849","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\/849","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=849"}],"version-history":[{"count":6,"href":"https:\/\/getbitcoin.guide\/articles\/wp-json\/wp\/v2\/posts\/849\/revisions"}],"predecessor-version":[{"id":856,"href":"https:\/\/getbitcoin.guide\/articles\/wp-json\/wp\/v2\/posts\/849\/revisions\/856"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/getbitcoin.guide\/articles\/wp-json\/wp\/v2\/media\/846"}],"wp:attachment":[{"href":"https:\/\/getbitcoin.guide\/articles\/wp-json\/wp\/v2\/media?parent=849"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/getbitcoin.guide\/articles\/wp-json\/wp\/v2\/categories?post=849"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/getbitcoin.guide\/articles\/wp-json\/wp\/v2\/tags?post=849"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}