La escasez se intensifica. Los datos en cadena revelan una fuga masiva de XRP desde las plataformas de trading, con un desplome del 45% en la oferta disponible para la venta inmediata. Los monederos privados están absorbiendo tokens a un ritmo que no se veía desde los máximos históricos.
¿Qué significa esta sequía?
Cuando los tokens salen de los exchanges, desaparecen de la vista del mercado spot. No se pueden vender con un clic. Esta reducción de la liquidez vendible actúa como un resorte comprimido: cualquier chispa de demanda compradora encuentra menos resistencia a la alza, amplificando potencialmente los movimientos del precio.
Un juego de expectativas.
La narrativa es clara: acaparamiento institucional, preparación para un fallo regulatorio clave, o simplemente holders de largo plazo que retiran sus apuestas de plataformas percibidas como riesgosas. Sea cual sea el motivo, el efecto técnico es el mismo. El libro de órdenes se está volviendo más delgado por el lado de la venta.
Los traders observan el gráfico como un halcón, buscando la ruptura. Los niveles de soporte clave se están probando con un volumen decreciente en las caídas, una señal clásica de que la presión vendedora se agota. Los analistas trazan objetivos alcistas que, para los escépticos de la banca tradicional, suenan a fantasía—la misma que una vez dijeron sobre Bitcoin en tres dígitos.
Prepárense para la turbulencia. Los mercados odian el vacío, y un suministro repentinamente escaso puede llevar a revalorizaciones violentas. O, por supuesto, a liquidaciones igualmente brutales si la narrativa se rompe. En las cripto, la única garantía es la volatilidad. El resto es fe, gráficos y, a menudo, un exceso de optimismo que haría ruborizarse a un vendedor de acciones penales.

Xrp (XRP)24h7d30d1yAll time
Por qué confiar en CryptoNews
Cryptonews ha cubierto los temas de la industria de las criptomonedas desde 2017, con el objetivo de proporcionar información útil a nuestros lectores. Nuestros periodistas y analistas tienen una amplia experiencia en análisis de mercado y tecnologías blockchain. Nos esforzamos por mantener altosestándares editoriales, centrándonos en la precisión de los hechos y la presentación de informes equilibrados en todas las áreas, desde criptomonedas y proyectos blockchain hasta eventos de la industria, productos y desarrollos tecnológicos. Nuestra presencia continua en la industria refleja nuestro compromiso de brindar información relevante en el cambiante mundo de los activos digitales.Lea más sobre Cryptonews.Divulgación de anuncios: Creemos en la transparencia total con nuestros lectores. Algunos de nuestros contenidos incluyen enlaces de afiliados y podemos ganar una comisión a través de estas asociaciones.
- El precio de XRP ronda los 2,07 dólares, con una subida ligera en el balance semanal.
- Los saldos de XRP en exchanges han caído cerca de un 45 %, reduciendo la oferta circulante para trading.
- El gráfico muestra un triángulo simétrico cada vez más estrecho en torno a la zona de 2 dólares.
- Los analistas ven un potencial de movimiento del 15–20 % cuando se produzca la ruptura.
- Un cierre sobre 2,12–2,15 dólares podría activar un rally. Perder los 2 dólares abriría un escenario bajista.
Por qué esta contracción de oferta importa para el precio de XRP
Cuando un activo de las criptomonedas más rentables sale de los exchanges, suele hacerlo para pasar a manos de inversores de largo plazo o a operaciones fuera de mercado.
Eso significa menos monedas disponibles para comprar o vender en los libros de órdenes. En XRP, esta salida masiva refuerza la idea de que hay manos fuertes acumulando.
Con,puededirectamente en el. Y el triángulo simétrico que dibuja el gráfico aumenta esa tensión. Los rangos se estrechan, la volatilidad se seca y el mercado espera una señal clara para moverse. Ese tipo de estructuras rara vez termina en un movimiento pequeño.
Tres claves a vigilar en el gráfico de XRP
- El soporte psicológico de 2 dólares. Mientras XRP mantenga el nivel de 2 dólares, el mercado seguirá viendo esta fase como una consolidación. Una ruptura limpia por debajo podría acelerar las ventas y ampliar el tramo bajista.
- El cierre sobre 2,12–2,15 dólares. Un cierre diario por encima de esa zona activaría compras técnicas. Muchos modelos proyectan objetivos iniciales entre 2,40 y 2,50 dólares, con margen para extensiones si entra volumen.
- La tendencia del saldo en exchanges. Si la oferta sigue cayendo, la presión se acumula. Si empieza a aumentar, podría indicar que grandes tenedores preparan tomas de beneficios tras una ruptura alcista.
¿Subida a la vista en el precio de XRP?
XRP ofrece un escenario clásico de “muelle comprimido”.
Por un lado, la caída del 45 % en la oferta disponible crea un entorno propicio para movimientos violentos. Por otro, el triángulo técnico sugiere que el mercado está muy cerca de elegir dirección.
Elpuede seguir en rango unas horas o incluso unos días, pero los indicadores apuntan a que el movimiento que viene será intenso.
Para el inversor, la clave pasa por vigilar niveles, evitar entradas impulsivas y recordar que, cuando la liquidez baja, la volatilidad suele subir pudiendo lanzar el precio de XRP al de una de las criptomonedas que van a explotar.
Leer más:
- XRP precio en 2026: qué puede pasar según los escenarios de ChatGPT
- Rotación silenciosa: los ETFs abandonan Bitcoin y las noticias señalan a XRP como nuevo foco
- Este será el precio de XRP para 2026: ¿un nuevo repunte alcista?
Table of Contents
En este artículo
Por qué esta contracción de oferta importa para el precio de XRP
Tres claves a vigilar en el gráfico de XRP
¿Subida a la vista en el precio de XRP?
Leer más:
En este artículo
Por qué esta contracción de oferta importa para el precio de XRP
Tres claves a vigilar en el gráfico de XRP
¿Subida a la vista en el precio de XRP?
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();
});
});