BTCC / BTCC Square / CryptonewsES /
Coinbase despilfarra 300.000 dólares en comisiones: ¿Error o negligencia?

Coinbase despilfarra 300.000 dólares en comisiones: ¿Error o negligencia?

Published:
2025-08-14 13:25:07
5
2

El gigante de las criptomonedas vuelve a meter la pata. Esta vez, regalando seis cifras en fees por lo que algunos llaman 'un fallo de rookie'. ¿Gestión descuidada o el coste de operar en la cripto jungla?

Detrás del escándalo: comisiones que se evaporan

Los 300.000 dólares perdidos no son un hackeo, sino un bochornoso error interno. Mientras los usuarios retail sudan cada dólar en gas fees, Coinbase parece jugar en modo 'dinero infinito'. Ironías del sistema descentralizado.

El cierre ácido: Por suerte para ellos, en el casino de las cripto esto equivale a las migas del desayuno de un whale. Mañana estarán en ATH y nadie recordará el 'pequeño' desliz.

¿Cómo actuaron los MEV para perjudicar a Coinbase?

El problema ocurrió durante un cambio en la configuración de la billetera del exchange, pero la comunidad de Coinbase se hizo notar y un usuario en X llamado DeeBeez despertó el interés por 300.000 dólares perdidos debido a una “equivocación del swapper”, por lo que el bot del MEV (Maximal Extractable Value) se llevó los fondos.

Looks like @coinbase was recently drained of ~$300,000 after using @0xProject swapper incorrectly.

They approved all the tokens accrued as fees to their router, getting drained immediately by MEV bots🧵pic.twitter.com/yWNHl8nupg

— deebeez (@deeberiroz) August 13, 2025

Estos MEV refieren a la práctica que hay en la blockchain para, estos bots están al ‘acecho’ en tiempo real verificando de qué órdenes sacar provecho.

Para el caso de Coinbase el contrato de la operación no estaba diseñado para solicitar permisos, así que el bot lo tomó y extrajo todo.

Unas horas después el director de seguridad del exchange, Philip Martin, respondió al usuario y tildó el hecho como un “problema aislado” y aclaró que las billeteras de los clientes no se vieron afectadas.

Otros problemas de seguridad en la blockchain

El mismo usuario trajo a colación en un hilo que no ha sido la primera vez que han ocurrido fallas de seguridad en Coinbase. En abril un atacante utilizó los contratos de 0x para obtener la aprobación de reclamar tokens de Zora en Base y extrajo 120.000 dólares.

Los bots MEV han ‘atacado’ otras veces operaciones en la blockchain. En abril se reportó un usuario que, una de las mejores criptomonedas para invertir, luego de que un bot tomara control del sistema de control de acceso intercambiando sus Ether por tokens sin valor.

Leer más:

  • La billetera de un desarrollador de Ethereum fue drenada por una IA maliciosa
  • El dinero institucional ahora posee el 17% de todo el Bitcoin en circulación
  • Binance habilita el intercambio de cripto a moneda fiat en Europa
Table of Contents
  • En este artículo
  • ¿Cómo actuaron los MEV para perjudicar a Coinbase?
  • Otros problemas de seguridad en la blockchain
  • Leer más:
  • En este artículo
  • ¿Cómo actuaron los MEV para perjudicar a Coinbase?
  • Otros problemas de seguridad en la blockchain
  • Leer más:
  • window.addEventListener("DOMContentLoaded", () => { const header = document.querySelector(".header_wrapper"); const pageLegend = document.querySelector('#multiCollapse1'); const pageLegendList = document.querySelector('#multiCollapse2'); const pageLegendCollapse = new bootstrap.Collapse(pageLegend, {toggle: document.querySelector(".toc-sticky").classList.contains('sticky')}); /** * Changing current title */ (function (pageLegend) { const titleNodes = pageLegend.querySelectorAll('.StepProgress-item__link'); if (!titleNodes.length) return; const titles = [...titleNodes].map((itm, i) => ({ id: itm.getAttribute('data-id'), text: itm.textContent, level: itm.getAttribute('data-level'), linkNode: itm, titleNode: document.getElementById(itm.getAttribute('data-id')), index: i, })); /** * Source: https://www.sitepoint.com/throttle-scroll-events/ * @param {Function} fn * @param {number} wait * @returns {(function(): void)|*} */ const throttle = (fn, wait) => { let time = Date.now(); return function () { if ((time + wait - Date.now()) { const documentScrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0; let current = 0; // Title titles.forEach((itm, i) => { //console.log(itm) const itmOffsetTop = itm.titleNode ? itm.titleNode.offsetTop - 100 : 0; if (documentScrollTop >= itmOffsetTop) { document.getElementById('toc-current-title').innerHTML = itm.text; document.getElementById('toc-current-title').setAttribute('data-current-id', itm.id); document.getElementById('toc-current-title').setAttribute('data-current-level', itm.level); current = i; } }) // close all list and open sub list if needed if (document.querySelector(".toc-sticky").classList.contains('sticky')) { document.querySelectorAll('.subList-in-progress').forEach((el) => { el.children[1].classList.remove('show'); el.getElementsByClassName('icon-chevron-down')[0].classList.remove('up'); }); const currentEl = titles[current]; currentEl.linkNode.classList.add('show'); } titles.forEach((itm, i) => { itm.linkNode.parentNode.parentNode.classList.remove('current', 'is-done'); if (current > i) { itm.linkNode.parentNode.parentNode.classList.add('is-done') }; if (current === i) { itm.linkNode.parentNode.parentNode.classList.add('current'); }; }) } changeCurrentTitle(); document.addEventListener('scroll', throttle(changeCurrentTitle, 50)); })(pageLegend); /** * Collapse */ (function (pageLegend, header) { const icon = pageLegend.parentNode.querySelector(".collapse-action-btn i"); const collapseToggle = (status) => (e) => { if (!e.target.isEqualNode(pageLegend)) return; icon.classList.toggle("up"); const containerHeight = pageLegend.getBoundingClientRect().height; const showSubtitleContent = () => { const currentId = document.getElementById('toc-current-title').getAttribute('data-current-id'); const currentLevel = document.getElementById('toc-current-title').getAttribute('data-current-level'); const currentSubTitle = currentLevel == 3 ? document.querySelector(`a[data-id="${currentId}"]`).parentNode.parentNode.parentNode : false; if (!currentSubTitle) return; new bootstrap.Collapse(currentSubTitle, {toggle: false}).show(); } showSubtitleContent(); console.log(status + 'fdsfsd' + containerHeight); if (status === 'shown' && document.querySelector(".toc-sticky").classList.contains('sticky')) { document.querySelector('html').classList.remove('overflow-hidden'); pageLegend.classList.add('overflow-auto'); pageLegend.style.height = `calc(100vh - ${header.getBoundingClientRect().height + document.querySelector('.toc-sticky__open').getBoundingClientRect().height + 16}px)`; } else if (status === 'hide') { document.querySelector('html').removeClass('overflow-hidden'); pageLegend.classList.remove('overflow-auto'); pageLegend.style.height = 'auto'; } } pageLegend.addEventListener('shown.bs.collapse', collapseToggle('shown')); pageLegend.addEventListener('hide.bs.collapse', collapseToggle('hide')); })(pageLegend, header); /** * Collapse sub-titles */ (function (pageLegend) { const collapseEls = pageLegend.querySelectorAll('.collapse'); collapseEls.forEach(function (el) { const toggleArrowDirection = function (e) { if (!e.target.isEqualNode(el)) return; const id = this.getAttribute('id'); document.querySelector(`.collapse-action-btn[data-bs-target="#${id}"] .icon-chevron-down`).classList.toggle('up'); } el.addEventListener('shown.bs.collapse', toggleArrowDirection); el.addEventListener('hide.bs.collapse', toggleArrowDirection); }) })(pageLegend); /** * Collapse main title */ (function (pageLegendList) { const icon = pageLegendList.parentNode.querySelector(".collapse-action-btn i"); const collapseToggle = () => (e) => { if (!e.target.isEqualNode(pageLegendList)) return; icon.classList.toggle("up"); } pageLegendList.addEventListener('shown.bs.collapse', collapseToggle()); pageLegendList.addEventListener('hide.bs.collapse', collapseToggle()); })(pageLegendList); (function (pageLegendList) { const collapseEls = pageLegendList.querySelectorAll('.collapse'); collapseEls.forEach(function (el) { const toggleArrowDirection = function (e) { if (!e.target.isEqualNode(el)) return; const id = this.getAttribute('id'); document.querySelector(`.toc-sticky-list .collapse-action-btn[data-bs-target="#${id}"] .icon-chevron-down`).classList.toggle('up'); } el.addEventListener('shown.bs.collapse', toggleArrowDirection); el.addEventListener('hide.bs.collapse', toggleArrowDirection); }) })(pageLegendList); /** * Sticky functionality * Source: https://stackoverflow.com/questions/17893771/javascript-sticky-div-after-scroll */ (function (header, pageLegendCollapse) { // set everything outside the onscroll event (less work per scroll) const target = document.querySelector(".toc-sticky"); const targetListStatic = document.querySelector(".toc-sticky-list"); if (!target || !header) return; const headerHeight = header.getBoundingClientRect().height; const targetHeight = targetListStatic.getBoundingClientRect().height; // -headerHeight so it won't be jumpy const stop = targetListStatic.offsetTop + headerHeight + targetHeight; const docBody = document.documentElement || document.body.parentNode || document.body; const hasOffset = window.pageYOffset !== undefined; const applySticky = function () { // cross-browser compatible scrollTop. const scrollTop = hasOffset ? window.pageYOffset : docBody.scrollTop; // if user scrolls to headerHeight from the top of the target div if (scrollTop >= stop) { pageLegendCollapse.hide(); // stick the div target.classList.add("sticky"); //target.style.marginTop = `${headerHeight}px`; } else { pageLegendCollapse.show(); // release the div target.classList.remove("sticky"); target.style.marginTop = ""; } } applySticky(); window.addEventListener('scroll', applySticky); })(header, pageLegendCollapse); jQuery('span.show_moretoc').click(function () { jQuery('span.show_moretoc').hide(); jQuery('.ms_hidetoc').show(); }); });

    |Square

    Descárguese la aplicación BTCC para empezar su trayectoria cripto

    Empiece hoy mismo Escanéelo y únase a más de 100 millones de usuarios