Inicio Rápido 🚀

En este sitio encontrarás información sobre cómo utilizar Mostro, una plataforma de intercambio de bitcoin en Lightning Network de tipo peer-to-peer (p2p) por cualquier moneda local, que opera sobre Nostr y no requiere procedimientos de KYC.

Guía de inicio rápido 🚀

  1. Ten una wallet compatible con Lightning Network.

  2. Abre algún cliente de Mostro.

  3. Sigue las instrucciones del cliente:

    • La Mostro App crea tu identidad por ti: haz backup de sus 12 palabras antes de tu primera operación.
    • Elige el nodo de Mostro en el que quieres operar.
    • Encuentra o crea ofertas de compra/venta de bitcoin.
    • Espera por un usuario interesado.
    • Si estás comprando Sats, envía la invoice donde recibirás los sats.
    • Si estás vendiendo Sats, paga la hold invoice (los sats quedarán retenidos en tu wallet hasta el final del proceso).
    • Algunos nodos piden además un pequeño depósito anti-abuso, que recuperas cuando operas de buena fe.
    • Habla con tu contraparte. Acuerden cómo intercambiarse el fíat. Este es un proceso privado.
    • Finaliza el intercambio.
    • Si tu contraparte no responde, inicia una disputa.
    • Califica a tu contraparte. Tú también serás calificado.

¿Ya tienes reputación en @lnp2pBot u otro nodo de Mostro? Puedes llevarla contigo.

Recomendaciones

  • Si tienes alguna duda que no esté respondida en esta documentación puedes preguntar a nuestra comunidad.

  • Reporta errores o sugiere mejoras en nuestros repositorios de GitHub.

  • Síguenos en Nostr y X para que no te pierdas los anuncios principales.

Preguntas Frecuentes

A continuación encontrarás las respuestas a varias preguntas frecuentes sobre Mostro. Continúa leyendo esta documentación para entender qué es Mostro, cómo funciona y cómo puedes usarlo.

También puedes consultar más información sobre Mostro en estos recursos:

¿Qué es Mostro?

Mostro es una plataforma de intercambio de bitcoin en Lightning Network de tipo peer-to-peer (P2P) por cualquier moneda local, que opera sobre el protocolo de Nostr y no requiere procedimientos de Know Your Customer (KYC).

Utiliza hold invoices como sistema de escrow para brindar seguridad al intercambio de Sats, minimizando la custodia y reduciendo la confianza necesaria tanto en la contraparte como en Mostro.

Al operar sobre Nostr, un protocolo de comunicación diseñado para ser resistente a la censura como consecuencia de la descentralización de su infraestructura, se garantiza que sea muy difícil impedir los intercambios de bitcoin a través de Mostro, censurar la publicación de ofertas de compra y venta, o bloquear la comunicación entre los usuarios involucrados en un intercambio. Además, a medida que más nodos de Mostro estén activos, unido a la descentralización inherente de Nostr, será cada vez más complicado detener los intercambios P2P de bitcoin sin KYC.

Origen de Mostro

Mostro está inspirado en el @lnp2pBot, un bot de Telegram creado en 2021 para facilitar el intercambio de bitcoin a través de Lightning Network, sin ceder datos personales, sin custodia de fondos y sin KYC. El bot ha crecido de forma constante y orgánica, con alcance global y un impacto especialmente significativo en América Latina, donde la población enfrenta problemas financieros y encuentra en bitcoin una alternativa. Asimismo, ha ganado popularidad en países bajo regímenes autoritarios, como Cuba y Venezuela, donde las personas utilizan bitcoin para resistir la tiranía y reducir su dependencia de la moneda local.

Aunque el @lnp2pBot funciona eficientemente, opera sobre Telegram, una plataforma que, si bien ofrece muchas ventajas, podría llegar a estar bajo presión de gobiernos poderosos que buscan perseguir a disidentes políticos o figuras públicas incómodas. En este contexto, Nostr surge como una alternativa ideal, ya que permite que un sistema de intercambio como Mostro funcione sin riesgo de censura por parte de entidades poderosas, garantizando así mayor privacidad y seguridad para los usuarios.

¿Qué necesito para usar Mostro?

Para utilizar Mostro, solo necesitas una billetera compatible con Lightning Network y un cliente de Mostro, como la Mostro App. Opcionalmente, una Lightning Address o una billetera compatible con Nostr Wallet Connect (NWC) permite que la app reciba y pague por ti.

No tienes que ser un experto en Nostr. Si lo eres, ¡genial! Pero si no, podrás utilizar Mostro sin problemas, ya que está diseñado para ser sencillo e intuitivo para todos los usuarios.

Para realizar intercambios de bitcoin, utilizarás un cliente de Mostro. Aunque cada cliente tiene sus propias características, en la mayoría de ellos no necesitarás tener una clave privada de Nostr previamente creada. Para garantizar la seguridad y privacidad de tus transacciones, el cliente genera automáticamente una nueva clave para cada intercambio, sin necesidad de configuración de tu parte. Tu identidad es una frase de 12 palabras que el cliente crea para ti: haz backup de ella.

¿Debo registrarme o hacer KYC?

¡NO! Bitcoin nació como "un sistema de dinero electrónico persona a persona" y nos enorgullece apoyar ese principio. Ninguno de tus datos personales es requerido. Además, los nodos de Mostro no tienen acceso a las conversaciones entre usuarios, por lo que no es posible recopilar información personal de ningún tipo. Puedes encontrar más información sobre cómo se protege tu privacidad en Mostro aquí.

¿Cómo funciona Mostro?

Para entender el funcionamiento de Mostro, es importante conocer las partes que lo componen:

  • Mostro daemon (Mostrod): Gestiona la comunicación entre los usuarios y el nodo de Lightning Network (LN). Publica los eventos de Nostr, ejecuta las acciones enviadas por los usuarios y les indica cómo proceder con el intercambio.

  • Nodo de Lightning Network asociado al nodo de Mostrod: Crea y gestiona las hold invoices que los vendedores deben pagar y efectúa los pagos de las invoices generadas por los compradores.

  • Clientes de Mostro: Son las aplicaciones con las que interactúan directamente los usuarios. Proporcionan la interfaz de comunicación entre Mostrod y los usuarios. Los clientes envían a Mostrod las acciones realizadas por los usuarios, como por ejemplo crear una orden, abrir una disputa, liberar sats, entre otras. Además, son responsables de generar y manejar las claves privadas de los usuarios.

En el siguiente gráfico puedes ver un resumen de cómo interactúan Mostrod, el vendedor (mediante un cliente de Mostro) y el nodo de LN:
order-flow

Flujo de una venta de bitcoin en Mostro

  • Vendedor: Alice
  • Comprador: Bob
  1. Publicación de la orden:
    Alice accede a un Cliente de Mostro y decide publicar una orden de venta de 5000 Sats por 3 USD, para recibir el pago en su tarjeta XYZ. La interfaz para crear la orden dependerá del cliente que use. La orden se publica en un libro de órdenes al que se puede acceder desde cualquier cliente de Mostro. Si otro usuario no toma la orden en el tiempo que fije el nodo (normalmente 24 horas), esta será eliminada automáticamente.

  2. Toma de la orden por el comprador:
    Bob, interesado en comprar Sats, accede a un Cliente de Mostro (no necesariamente el mismo que utilizó Alice). Encuentra la oferta de 5000 sats por 3 USD y decide tomarla. Entonces, se le solicita que proporcione una invoice por 5000 sats antes de 15 minutos. Bob genera la invoice en su cartera LN y la envía a Mostro, quien le indica que espere 15 minutos mientras su contraparte responde.

  3. Pago y comunicación entre las partes:
    Alice recibe un mensaje de Mostro notificando que alguien ha tomado su oferta y que debe pagar una hold invoice por 5000 sats antes de 15 minutos. Si no realiza el pago, la orden será cancelada. Una vez que Alice paga la factura, Mostro revela la clave pública de Bob a Alice y viceversa, permitiéndoles abrir un chat privado. En este punto, Alice le debe proporcionar a Bob el número de su tarjeta XYZ para recibir el pago en fiat. Cuando Bob le envía los 3 USD, presiona Ya envié el pago en su cliente de Mostro. Alice recibe una notificación para verificar la recepción del fiat y luego liberar los Sats a Bob.

  4. Liberación de los Sats:
    Cuando Alice verifica que recibió los 3 USD, presiona Liberar sats en su cliente de Mostro. Luego Mostro cobrará los 5000 Sats de la wallet de Alice, y pagará la factura de Bob. Finalmente, Mostro le pedirá a cada uno que califique a su contraparte.

Cuando Mostro pone en contacto a los dos usuarios, el tiempo que tienen para finalizar el intercambio está limitado por la duración de la hold invoice que proporciona el nodo de Mostro que estén usando, los usuarios deben respetar ese plazo, para más información al respecto consulta aquí.

Si durante el proceso, Alice y Bob deciden no continuar con el intercambio, pueden cancelar la orden de forma cooperativa. Si alguno intenta cancelar arbitrariamente o estafar a la contraparte, el otro puede abrir una disputa.

Nota: En este ejemplo, se asume que las tarifas de Mostro son 0. Para más información sobre las tarifas, consulta Tarifas y Límites de Intercambios. En los nodos que usan un depósito anti-abuso, quien crea la orden, quien la toma o ambos (según el nodo) bloquean un pequeño depósito: quien la crea, antes de que se publique; quien la toma, antes de que la toma se concrete.

Explicación técnica

  1. Creación de la orden por parte de Alice:
    Cuando Alice crea la oferta de venta, su cliente de Mostro debería generar automáticamente una nueva clave privada de Nostr que Alice usará solo para dicha orden (siempre deben generar una nueva clave privada para cada orden para proteger la privacidad de los usuarios). Usando esa clave, Alice envía a Mostrod un mensaje con los detalles de la orden: un evento de tipo 14 firmado con esa clave, con su contenido cifrado con NIP-44 (protocolo v2 de Mostro). Todos los mensajes entre los usuarios y Mostrod que siguen viajan de la misma forma. Luego, Mostrod publica un evento direccionable de tipo 38383, con los detalles de la orden y su estado: pending. Los clientes de Mostro monitorean estos eventos y muestran en sus libros de órdenes aquellas órdenes con estado pending.

  2. Toma de la orden por Bob:
    Cuando Bob toma la orden, su cliente de Mostro debe generarle automáticamente una nueva clave privada de Nostr para esta orden, luego envía un mensaje a Mostrod indicando que ha tomado esa oferta. Mostrod publica un nuevo evento 38383 para esa orden, esta vez con el estado waiting-buyer-invoice lo que elimina la orden de los libros de ofertas de todos los clientes, ya que no está pending. Mostrod le envía a Bob un mensaje solicitando una invoice por 5000 Sats. Bob envía la invoice a Mostrod en un mensaje y luego Mostrod publicará un evento 38383 para esa orden, esta vez con el estado waiting-payment.

  3. Pago de la hold invoice por Alice:
    Mostrod envía a Alice un mensaje con la hold invoice generada por el nodo LN asociado. Si Alice paga dentro de los 15 minutos, Mostro le envía un mensaje revelando la pubkey de Bob, y otro mensaje a Bob revelando la pubkey de Alice. Además, actualiza el evento 38383 para esta orden con el estado active. Ahora, Alice y Bob pueden comunicarse directamente a través de mensajes cifrados con NIP-44, dirigidos a una clave que solo ellos comparten (consulta Privacidad), y Mostrod no puede leer ninguno de esos mensajes. Cuando Bob realiza el pago del fiat y presiona Ya envié el pago en su cliente, envía un mensaje con la acción fiat-sent a Mostrod, quien se lo confirma a ambos con un mensaje fiat-sent-ok. El cliente de Alice le muestra entonces el botón Liberar sats, para usarlo cuando haya recibido el pago. Mostrod también publicará un evento 38383 para esa orden, esta vez con el estado fiat-sent.

  4. Liberación de los Sats por Alice:
    Cuando Alice presiona Liberar sats en su cliente, le envía un mensaje a Mostrod indicando que libere los Sats a Bob. Entonces, el nodo de LN asociado a ese nodo de Mostrod liquida el pago de la hold invoice y paga la invoice que proporcionó Bob. Al finalizar el proceso, Mostrod publica un evento 38383 para esa orden con el estado success y le envía un mensaje a Alice y Bob, solicitando que califiquen a su contraparte, quienes le envían de vuelta su calificación a través de un mensaje.

Para tener más detalles de la comunicación entre Mostrod y sus clientes, puedes leer aquí.

Monedas y Métodos de pago aceptados

Mostro es un intercambio peer-to-peer (P2P), por lo que técnicamente permite operar con cualquier moneda y método de pago, siempre que exista una contraparte interesada en realizar el intercambio.

Sin embargo, cada operador de un nodo de Mostro puede decidir qué monedas fiat habilitar en su nodo. Antes de operar, verifica que el nodo que elijas soporte la moneda con la que deseas comerciar.

Para fijar el precio de las órdenes a precio de mercado, cada nodo toma el precio del bitcoin de una o más fuentes elegidas por su operador, como yadio.io, CoinGecko o Blockchain.com, y las combina. En la Mostro App puedes ver cuáles usa tu nodo en Acerca de → Datos técnicos del nodo. Si ninguna fuente cotiza tu moneda, aún podrás usar Mostro creando una orden con una cantidad fija de sats a cambio de una cantidad fija de tu moneda.

La app solo ofrece las monedas que acepta el nodo seleccionado. Algunos nodos también aceptan monedas estables en dólares (USDT, USDC, DOC) y bitcoin en otras redes (BTC on-chain, Liquid, Rootstock): consulta Monedas estables y Bitcoin en otras redes.

Si tu moneda no está disponible en ningún nodo existente ni aparece como opción en los clientes, tienes dos caminos:

  • Contactar al administrador de un nodo sin restricciones de moneda para explorar la posibilidad de agregarla
  • Crear tu propio nodo de Mostro para tu comunidad, con las monedas y métodos de pago que necesites

Monedas estables y Bitcoin en otras redes

Algunos nodos de Mostro te permiten intercambiar sats de Lightning por monedas estables en dólares o por bitcoin en otras redes, además de las monedas locales. Los sats de Lightning siempre son uno de los lados de la operación. El otro lado se paga directamente entre ustedes dos, en la red indicada en la orden.

CódigoQué esMonto de la orden en
USDTTether USDmonedas (como dólares)
USDCUSD Coinmonedas (como dólares)
DOCDollar on Chain, en Rootstockmonedas (como dólares)
BTCBitcoin on-chainsats
LBTCL-BTC en la red Liquidsats
RBTCRBTC en Rootstocksats

Usos típicos: pasar entre Lightning y Liquid o Rootstock (un swap), conseguir bitcoin on-chain a cambio de sats de Lightning, o comprar y vender sats por dólares sin un banco.

Qué nodos las ofrecen

Solo los nodos cuyo operador las habilitó. La Mostro App (versión 2.1.2 o posterior) muestra estos códigos en la lista de monedas bajo Stablecoins y Bitcoin en otras redes, pero solo los que acepta el nodo seleccionado. Puedes comparar nodos en Configuración → Red → Nodo Mostro y en Acerca de.

Cómo funciona el precio

  • Las monedas estables valen un dólar cada una, así que una orden en USDT a precio de mercado se cotiza exactamente igual que una orden en USD. La prima o descuento funciona igual.
  • BTC, LBTC y RBTC se cuentan 1:1 en sats. Una orden por 100,000 significa 100,000 sats de ese activo (0.001 RBTC). A precio de mercado, la prima es el precio del swap: si vendes sats de Lightning en una orden por 100,000 sats de RBTC con una prima del 1%, bloqueas 99,000 sats de Lightning y recibes 100,000 sats de RBTC. En la app ingresas estos montos en sats.
  • Si un nodo acepta un código pero no lo cotiza a precio de mercado, la app te avisa: "Este nodo no cotiza {code} a precio de mercado. Indica un monto fijo en sats." (con el código en lugar de {code}).

La tarifa habitual de Mostro se aplica además, como en cualquier operación.

El método de pago es la red

El método de pago de la orden indica en qué red se paga el activo: por ejemplo USDT (Tron), USDT (Ethereum), USDC (Base), DOC (Rootstock), BTC (On-chain), LBTC (Liquid) o RBTC (Rootstock). Una orden de monedas estables puede listar varias redes; acuerden en el chat cuál usarán. BTC, LBTC y RBTC ya indican su red en el código: no usen otra. Mostro no verifica la red ni la dirección.

Paso a paso

Si vendes sats (recibes el activo):

  1. Paga la hold invoice como en cualquier operación.
  2. Comparte tu dirección de recepción en el chat de la operación. Asegúrate de que sea una dirección de la red que acordaron.
  3. Cuando el comprador marque el pago como enviado, comprueba con el ID de transacción que pegó en el chat (en Liquid, con el enlace sin cegar) que llegó el monto completo y que está confirmado.
  4. Solo entonces toca Liberar sats.

Si compras sats (envías el activo):

  1. Envía el activo en la red exacta de la orden, a la dirección que el vendedor compartió en el chat. Tú pagas la comisión de red: el vendedor debe recibir el monto completo.
  2. Pega el ID de transacción en el chat. Es tu prueba si hay una disputa. Para Liquid, pega el enlace de la transacción sin cegar (unblinded): Liquid oculta el monto, y ese enlace se lo muestra al vendedor y al solver.
  3. Toca Ya envié el pago.

Reglas de seguridad

  • Red equivocada, fondos perdidos. Una moneda estable enviada en una red distinta a la de la dirección puede perderse para siempre.
  • Las transferencias no se pueden deshacer. Mostro solo retiene el lado de Lightning; nunca ve ni verifica la otra transferencia.
  • Espera la confirmación. Nunca liberes con una transferencia sin confirmar.
  • Cuida el reloj. Tienes el mismo tiempo que en cualquier operación (consulta Tiempo de Intercambio). Usa una comisión de red suficiente para que la transferencia se confirme a tiempo; una transacción on-chain barata puede tardar horas.
  • Las monedas estables pueden perder su paridad. Se asume que su precio es de un dólar. Si una se aleja mucho de eso, piénsalo dos veces antes de operar con ella.

Disputas

Si algo sale mal, abre una disputa como de costumbre. Aquí no hay estado de cuenta bancario: el solver comprueba el ID de la transacción (o el enlace de Liquid sin cegar) en un explorador de bloques de esa red. Por eso es importante pegarlo en el chat.

Otros clientes

mostro-cli y MostriX por ahora solo pueden crear estas órdenes a precio fijo y no indican que los montos de BTC, LBTC y RBTC están en sats. El número que escribes y ves ahí sigue siendo en sats, aunque el cliente lo muestre como RBTC: 100000 significa 0.001 RBTC. Las versiones anteriores de la app tienen la misma limitación; ante la duda, usa una Mostro App actual para estas órdenes.

Tarifas y Límites de Intercambios

Cada operador de un nodo de Mostro puede establecer sus propias tarifas (fees) y límites por operación, lo que fomenta la competencia entre distintos nodos y permite a los usuarios seleccionar el que mejor se ajuste a sus necesidades.

Tarifas

La tarifa del nodo se divide por la mitad entre el comprador y el vendedor en cada transacción completada. El porcentaje exacto depende del nodo de Mostro que utilices: la mayoría de los nodos comunitarios cobran entre 0.5% y 1% en total.

Por ejemplo, un nodo con una tarifa del 1% cobra 0.5% al comprador y 0.5% al vendedor. La Mostro App muestra la tarifa total de cada nodo, en Configuración → Red → Nodo Mostro y en Acerca de → Nodo conectado. Cuando pagas la hold invoice como vendedor, la app te dice cuántos sats de ella corresponden a la tarifa.

Resolver una disputa no tiene ningún costo extra. El depósito anti-abuso que piden algunos nodos no es una tarifa: lo recuperas cuando operas de buena fe.

Límites

Cada nodo también define los montos mínimos y máximos en sats permitidos por operación. Puedes verlos en la app en Acerca de → Nodo conectado (Orden mínima y Orden máxima), y la app comprueba tu orden contra ellos antes de publicarla.

Múltiples nodos de Mostro

Mostro está diseñado para ser un sistema descentralizado donde múltiples operadores pueden correr sus propios nodos. Esto significa que:

  • Hay competencia entre nodos para ofrecer el mejor servicio
  • Cada operador define sus propias tarifas, límites y monedas aceptadas
  • Los usuarios eligen libremente en qué nodo operar
  • Si un nodo deja de funcionar, otros siguen disponibles

Puedes comprobar si un nodo está funcionando en la página de estado.

Contribución al desarrollo

Cada nodo de Mostro contribuye automáticamente un porcentaje de sus ganancias al fondo de desarrollo del proyecto. Esta contribución sale de las ganancias del operador, no se cobra extra a los usuarios.

Este sistema garantiza la sostenibilidad del desarrollo de Mostro de forma transparente: todas las contribuciones se publican como eventos en Nostr y pueden ser verificadas por cualquiera.

Para más detalles sobre cómo funciona este sistema, puedes leer el artículo completo: Financiamiento sostenible para el desarrollo de Mostro

¿Puedo cancelar una orden?

Si creaste una orden y aún no ha sido tomada, puedes cancelarla sin problema. Esto incluye una orden que todavía espera su depósito anti-abuso. En la Mostro App, abre tu orden y confirma ¿Cancelar la orden? con Sí, cancelar.

Si la orden ya fue tomada pero la operación aún no empezó —el vendedor no pagó la hold invoice o el comprador no envió su factura—, cualquiera de los dos puede cancelarla directamente, sin el consentimiento del otro.

Una vez que los sats del vendedor están bloqueados, si decides no continuar deberás iniciar una cancelación cooperativa con tu contraparte. En la app, toca Cancelar operación; tu contraparte verá Aceptar cancelación. Si ambos están de acuerdo, Mostro cancelará la hold invoice pagada por el vendedor, y los sats serán devueltos a este. Esto también funciona mientras hay una disputa abierta, y la cierra.

En caso de que tu contraparte no quiera cancelar, puedes iniciar una disputa.

Hold Invoices: Seguridad de los Intercambios en Mostro

Mostro utiliza hold invoices como mecanismo de escrow para asegurar los fondos de una operación, protegiendo al comprador contra posibles fraudes o impagos. A su vez, garantiza la seguridad del vendedor al no custodiar sus fondos directamente.

Para vender Sats a través de Mostro deberás pagar una hold invoice que este te proporcionará. Las hold invoices, o facturas retenidas, son un tipo de factura de Lightning Network que permiten el "bloqueo" en tu billetera de los Sats que vas a vender, pero que no se liquide el pago hasta que finalice la operación con tu contraparte. Dependiendo de la wallet que utilices, podrías ver tu pago como “en espera”, “congelado”, “en tránsito” o “pendiente”.

Una vez que el vendedor de Sats le indique a Mostro que ha recibido el fiat, se liquida automáticamente el pago de la hold invoice: los Sats se "desbloquean" y son cobrados por el nodo de Lightning Network de Mostro utilizado para el intercambio. Luego, se descontará el fee correspondiente y se intentará pagar de inmediato la factura proporcionada por el comprador. Si el pago falla, Mostro solicitará una nueva factura al comprador y repetirá el proceso hasta que el pago se complete exitosamente.

Mostro minimiza el tiempo de custodia de los fondos de los usuarios, limitándolo únicamente al periodo desde que se cobra la hold invoice al vendedor hasta que se paga al comprador, un proceso que puede tomar solo unos segundos.

El pago de la hold invoice también puede liquidarse si los usuarios entran en una disputa y el administrador determina que los Sats deben ser transferidos al comprador. Por el contrario, si el administrador determina que la orden debe ser cancelada, el pago de la hold invoice se cancelará y los Sats se “desbloquearán” en la wallet del vendedor, sin haber salido nunca de ella. Esto también ocurrirá si se realiza una cancelación cooperativa, o si se excede el tiempo de validez de la hold invoice, que es limitado.

El tiempo que una hold invoice permanece válida depende del nodo: en la mayoría dura aproximadamente 1 día (144 bloques), y en algunos hasta 2 días o más. La Mostro App lo muestra en Acerca de → Datos técnicos del nodo, y en Tiempo de Intercambio puedes ver qué significa para tu operación.

En la app, el vendedor paga la hold invoice desde la pantalla Bloquear tus sats, con cualquier billetera Lightning o, si hay una conectada mediante Nostr Wallet Connect, con Pagar con billetera.

Además del escrow, algunos nodos pueden exigir una hold invoice adicional como garantía contra el abuso. Consulta Depósito Anti-Abuso para más detalles.

Depósito Anti-Abuso

El depósito anti-abuso (anti-abuse bond) es un mecanismo opcional que algunos nodos de Mostro utilizan para hacer los intercambios más seguros. La idea es sencilla: al entrar en una operación pones en garantía una pequeña cantidad de Sats que recuperas por completo si actúas de buena fe, pero que pierdes si intentas estafar a tu contraparte o incumples tu parte del trato. De esta forma, el estafador pone su propio dinero en riesgo, lo que desalienta el abuso y aumenta la seguridad de los intercambios en Mostro.

Un nodo con depósito o sin depósito

No todos los nodos de Mostro exigen un depósito anti-abuso. Es una función que cada administrador decide activar o no en su nodo, así que eres tú quien elige si prefieres operar en un Mostro que lo exige o en uno que no.

Cada nodo que lo active define sus propias reglas: a quién se lo pide (a quien crea la orden, a quien la toma, o a ambos) y de cuánto es. El monto suele ser un porcentaje pequeño del valor de la orden (por ejemplo, un 1%) con un mínimo en Sats, pero ese porcentaje lo decide cada nodo.

Consejo: La Mostro App llama al depósito anti-abuso simplemente depósito. Puedes consultar si un nodo exige uno —y de cuánto— antes de operar: la lista de nodos en Configuración → Red → Nodo Mostro muestra "Depósito X%" o "Sin depósito", Acerca de → Nodo conectado muestra el Depósito, y Acerca de → Datos técnicos del nodo → Depósito antiabuso muestra todas sus reglas. Las pantallas de crear y tomar una orden también te avisan cuando se aplica un depósito.

¿En qué se diferencia del escrow?

El depósito es completamente independiente del escrow de la operación. Se trata de una segunda hold invoice: tus Sats quedan únicamente "bloqueados" en tu billetera, no se gastan. Si todo va bien, se "desbloquean" y vuelven a ti sin haber salido nunca de tu wallet. No se mezcla ni se descuenta del monto del intercambio.

¿Cuándo recupero mi depósito?

Recuperas el 100% de tu depósito siempre que cumplas tu parte: cuando completas la operación con éxito o, simplemente, cuando no cometes ninguna trampa ni incumples lo acordado. Por ejemplo:

  • Completas el intercambio correctamente.
  • Cancelas la orden de forma cooperativa.
  • Creaste una orden y la cancelas antes de pagar el depósito, o antes de que alguien la tome.
  • Surge una disputa y el administrador no determina que hayas actuado de mala fe.

En condiciones normales el depósito no representa ningún costo: vuelve íntegro a tu billetera, igual que los Sats bloqueados en una hold invoice.

¿Cuándo puedo perderlo?

Importante: Solo pierdes tu depósito si abusas del sistema. Hay dos situaciones:

  1. Por decisión en una disputa. Un administrador (solver), tras revisar las pruebas, determina que actuaste de mala fe e instruye a Mostro a cobrar tu depósito.
  2. Por incumplir tu parte y dejar correr el tiempo. Si tomas o creas una orden y luego no respondes ni continúas con el intercambio (no pagas, no envías el fiat, no entregas tu factura a tiempo), dejas vencer el plazo que te correspondía. Esto solo aplica si el nodo activó esa política.

¿A dónde van los Sats del depósito cobrado?

Cuando se cobra un depósito, los Sats se reparten entre el nodo —que así financia el trabajo de resolver disputas y de mantener el servicio— y tu contraparte honesta, como compensación por el perjuicio. La proporción de ese reparto la define cada nodo y es pública, de modo que puedes conocerla antes de operar.

Ejemplos

Ejemplo — Un comprador que intenta estafar. Alice vende Sats y Bob los compra en un nodo que exige depósito anti-abuso. Bob nunca envía el dinero fiat acordado, pero aun así le insiste a Alice para que le libere los Sats.

Alice abre una disputa y le presenta al administrador las pruebas de que nunca recibió el pago. El administrador comprueba que Alice tiene la razón, cancela la orden —los Sats del escrow vuelven a Alice— y cobra el depósito de Bob, que estaba intentando estafarla. Como compensación, Alice recibe la mitad de los Sats del depósito de Bob; la otra mitad queda para el nodo. Bob pierde su depósito por haber intentado abusar del sistema.

Ejemplo — Un spammer que ensucia el libro de órdenes. Imagina a un usuario malintencionado que quiere llenar el libro de órdenes con ofertas que nunca piensa completar. En un nodo que exige depósito anti-abuso, para crear cada orden tiene que bloquear un depósito. Si alguien toma una de sus órdenes y él no responde ni continúa con el intercambio, deja vencer el plazo y pierde el depósito de esa orden. Así, llenar el libro de ofertas falsas le sale caro y deja de ser rentable.

Si te corresponde el depósito de tu contraparte

Si tu contraparte pierde su depósito y a ti te toca una parte, tu cliente te pedirá una factura para enviarte esos Sats. En la Mostro App recibes una notificación y una acción Reclamar pago, que abre Reclama tu parte con el plazo; si conectaste una billetera mediante Nostr Wallet Connect, la factura se rellena por ti. Dispones de un plazo definido por el nodo (por ejemplo, 15 días) para reclamarla; si lo dejas pasar, pierdes el derecho a cobrar esa parte. Por eso conviene atender la solicitud de tu cliente cuando aparezca.

Tiempo de Intercambio

Mostro está diseñado para que los intercambios de bitcoin por monedas fiat sean rápidos, por lo que se recomienda utilizar métodos de pago fiat instantáneos.

Cada operador de un nodo de Mostro puede establecer sus plazos de tiempo para cada etapa del intercambio, lo que fomenta la competencia entre nodos de Mostro y permite a los usuarios seleccionar el que mejor se ajuste a sus necesidades. En la Mostro App puedes ver los tiempos del nodo que usas en Acerca de → Nodo conectado (Expiración) y en Acerca de → Datos técnicos del nodo. La pantalla de la operación también muestra una cuenta regresiva para cada paso.

Las cifras siguientes son valores típicos; consulta tu nodo para conocer los exactos.

Al publicar una oferta, esta suele permanecer en el libro de órdenes 24 horas (algunos nodos mantienen las órdenes hasta 72 horas). Si nadie la toma durante ese tiempo, se eliminará automáticamente.

Una vez que alguien toma una oferta, suele tener 15 minutos para pagar la hold invoice si es el vendedor, o proporcionar una invoice si es el comprador. Si no cumple con su parte en ese tiempo, la orden se volverá a publicar automáticamente. Pero si cumple, luego la contraparte tendrá el mismo tiempo para completar su acción correspondiente (pagar la hold invoice o proporcionar una factura, según su rol en el intercambio). Si este no lo hace, la orden será cancelada y no se republicará.

Después de que el vendedor paga la hold invoice y el comprador proporciona su factura, tienen tiempo para concretar el intercambio hasta poco antes de que expire la hold invoice que Mostro le proporcionó al vendedor. Ese tiempo se mide en bloques de Bitcoin, que llegan cada 10 minutos en promedio. En la mayoría de los nodos la hold invoice dura 144 bloques (aproximadamente 1 día) y Mostro interviene unas 20 horas después de que el vendedor pagó; en los nodos con hold invoices más largas, como el nodo predeterminado de la app (aproximadamente 2 días), Mostro interviene después de unas 46 horas. Durante este tiempo, el comprador debe enviar el pago en fiat y el vendedor liberar los Sats al confirmar la recepción del fiat. Por esta razón, se recomienda utilizar únicamente métodos de pago fiat instantáneos.

Si el intercambio no se ha completado cuando Mostro interviene:

  • Si el comprador no ha marcado el fiat como enviado, Mostro cancela la orden y los Sats son devueltos a la wallet del vendedor.
  • Si el comprador ya marcó el fiat como enviado, Mostro abre una disputa automáticamente, para que un administrador pueda resolverla en el poco tiempo que queda antes de que expire la hold invoice.

Dentro de este período de validez, los usuarios pueden finalizar satisfactoriamente el intercambio, cancelarlo cooperativamente, o abrir una disputa. Luego de que la hold invoice expire, Mostro no tiene capacidad de intervenir en esa orden.

Si ambos participantes de una operación están en línea y utilizan métodos de pago fiat inmediatos, las transacciones pueden completarse de forma casi instantánea.

Sistema de Reputación

Al completar exitosamente una compra o venta de Sats, Mostro te pedirá que califiques a tu contraparte, y tu contraparte también te evaluará a ti. El sistema de reputación utiliza una puntuación de 5 estrellas, donde 1 estrella representa la calificación más baja y 5 estrellas la más alta, permitiéndote valorar la experiencia de la transacción.

La reputación en Mostro se calcula de manera iterativa, combinando la media y la desviación estándar de las calificaciones y operaciones exitosas. Esto significa que, durante tus primeras transacciones, incluso si recibes calificaciones máximas, tu reputación inicial no será muy alta, sino que aumentará progresivamente a medida que acumules más operaciones exitosas con buenas evaluaciones.
Ese cálculo está basado en: https://math.stackexchange.com/questions/2148877/iterative-calculation-of-mean-and-standard-deviation.

Dónde vive tu reputación

Tu reputación la guarda cada nodo de Mostro, para tu identidad, y solo en modo de reputación: en el modo de privacidad total no das ni recibes calificaciones. En la Mostro App puedes ver tu propia reputación en el nodo que usas en Cuenta. Si cambias a otro nodo, empiezas con la reputación que tengas allí.

Llevar tu reputación contigo

Si ganaste reputación en @lnp2pBot o en otro nodo de Mostro, puedes importarla al nodo que usas ahora, siempre que ese nodo confíe en el origen. Tus contrapartes verán entonces tu reputación de ambos lugares combinada. Consulta Importar tu reputación.

Importar tu reputación

Si ya operaste en @lnp2pBot o en otro nodo de Mostro, no tienes que empezar de cero. Puedes llevar la reputación que ganaste allí al nodo de Mostro que usas ahora.

Qué se transfiere

Viajan tres datos contigo:

  • cuántas calificaciones recibiste,
  • tu calificación promedio,
  • la fecha de tu primera operación.

El origen los firma en un pequeño evento de Nostr, llamado atestación, dirigido a tu identidad de Mostro. Es válida por 7 días. El nodo en el que importas suma esos datos a la reputación que ya tienes allí. Tus contrapartes ven una sola calificación, un solo número de reseñas y una sola fecha de "operando desde". Nada indica que un dato fue importado.

Ejemplo: tienes 2 calificaciones con promedio 4.5 en un nodo de Mostro e importas 214 calificaciones con promedio 4.87 desde lnp2pBot. Tus contrapartes en ese nodo ahora ven cerca de 4.87 con 216 calificaciones, y operando desde la más antigua de tus dos primeras operaciones (aquí, la primera en lnp2pBot).

Antes de empezar

  • Usa una versión reciente de la Mostro App.
  • Usa el modo de reputación (Cuenta → Privacidad). En el modo de privacidad total no hay una identidad que lleve la reputación, así que los botones de importar están deshabilitados.
  • Haz backup de tus 12 palabras. Tu reputación está ligada a tu identidad.
  • Selecciona un nodo que acepte importaciones de ese origen. No todos lo hacen: cada operador decide en qué orígenes confía. Si el nodo no importa, la app te lo indica: "Este Mostro no importa reputación."

Desde lnp2pBot

El bot exporta tu reputación si tu cuenta tiene al menos 10 operaciones completadas y 5 calificaciones recibidas, y no está bloqueada.

  1. En la Mostro App, abre Configuración → Red → Nodo Mostro y selecciona el nodo donde quieres tu reputación.
  2. Ve a Configuración → Red → Reputación y toca Importar reputación.
  3. Anota la clave pública (npub) que muestra la pantalla y toca Obtenerla de lnp2pBot. Telegram abre un chat privado con el bot.
  4. La primera vez, el bot muestra el npub al que exportará. Comprueba que sea exactamente el que muestra tu app y toca Confirmar y exportar. Esto vincula tu cuenta del bot con esa identidad de Mostro.
  5. El bot envía dos mensajes: un resumen y la atestación en sí. Copia el segundo mensaje completo.
  6. De vuelta en la app, pégalo en "Pega la reputación que recibiste" y toca Comprobar. La app muestra quién la emitió y tus datos, por ejemplo "★ 4.87 · 214 calificaciones · desde …".
  7. Toca Importar en este Mostro. La app confirma: "Tu reputación se importó."

Consejo: Abre el enlace desde la app, en un dispositivo que tenga Telegram. Abrir el bot a mano no funciona: el bot necesita el enlace que construye la app, que lleva tu identidad.

Si más adelante necesitas otra copia, por ejemplo para importar en un segundo nodo, repite los pasos. El bot envía una nueva atestación para la misma identidad sin pedirte confirmar otra vez.

Desde otro nodo de Mostro

También puedes llevar la reputación que ganaste en un nodo de Mostro (A) a otro (B). El nodo A debe ofrecer la exportación y el nodo B debe confiar en el nodo A.

  1. Selecciona el nodo A. Ve a Configuración → Red → Reputación → Exportar mi reputación y toca Exportar mi reputación. Deja vacío el campo de autorización.
  2. Confirma la identidad en "¿Exportar a esta identidad?" con Exportar. La app indica que tu reputación está lista y es válida por 7 días.
  3. Selecciona el nodo B en Configuración → Red → Nodo Mostro.
  4. Abre Configuración → Red → Reputación → Importar reputación. La atestación ya está rellenada y comprobada.
  5. Toca Importar en este Mostro.

El nodo A exporta solo la reputación que ganaste en el nodo A: al menos 10 operaciones completadas y 5 calificaciones recibidas allí. La reputación que importaste al nodo A no vuelve a viajar.

Importar en varios nodos

  • Tienes que importar por separado en cada nodo donde quieras tu reputación.
  • La misma atestación sirve en varios nodos mientras sea válida (7 días). Después de una importación exitosa la app borra su copia, así que conserva el texto copiado o simplemente exporta de nuevo.
  • En cada nodo puedes importar una vez desde cada origen: por ejemplo, una vez desde lnp2pBot y una vez desde otro nodo de Mostro.

Si cambias de identidad

  • Restaurar las mismas 12 palabras te devuelve la misma identidad. No hay nada que hacer.
  • Mudarte a una identidad nueva: tu reputación en el origen está ligada a tu identidad anterior. Con la identidad anterior activa, ve a Reputación → Mudarse a una identidad nueva, ingresa el npub nuevo y toca Firmar para este Mostro (o Firmar para lnp2pBot si vino del bot). Copia la autorización, válida por una hora. Luego, con la identidad nueva activa, pégala en el campo de exportación (Mostro) o en el chat del bot (lnp2pBot).
  • Si perdiste la identidad anterior, solo el operador del nodo (o los administradores de lnp2pBot) puede mudarla, después de comprobar que eres tú.

Qué debes saber

  • Importar vincula dos cuentas. El origen sabe a qué identidad de Mostro llegó tu reputación, y el nodo en el que importas sabe de qué cuenta viene. Con lnp2pBot, Telegram también lo ve. Si no quieres que esas cuentas queden vinculadas, no importes.
  • No puedes deshacerlo, y agota ese origen para tu identidad en ese nodo.
  • Es una instantánea. Las calificaciones que recibas después en el origen no se suman.
  • Solo tú puedes usarla. Una atestación está dirigida a tu identidad: si alguien más la copia, no puede importarla.

Mensajes que puedes ver

MensajeQué significa
Este Mostro no importa reputación.El nodo que seleccionaste tiene la importación desactivada. Elige otro nodo.
Este Mostro no acepta reputación de ese origen.El nodo no confía en el origen que firmó tu atestación.
Este Mostro no exporta reputación.El nodo que seleccionaste no ofrece la exportación.
Tu cuenta todavía no puede exportar su reputación…Aún no tienes 10 operaciones completadas y 5 calificaciones recibidas en ese origen.
La reputación solo se puede mover desde una cuenta que la conserva…Estás en modo de privacidad total. Cambia al modo de reputación.
Esta reputación expiró. Pídela de nuevo a su origen.Tiene más de 7 días. Consigue una nueva.
Esta reputación se emitió para otra identidad distinta de la que estás usando.Cambiaste de identidad después de obtenerla. Usa la identidad para la que se emitió, o consulta "Si cambias de identidad".
Esta reputación ya se importó en este Mostro.Ya importaste desde ese origen en este nodo.
Tu reputación allí ya está ligada a otra identidad…Consulta "Si cambias de identidad".

Gestión de Disputas

Si tu contraparte no responde, sospechas de un intento de estafa, o surge un malentendido que no logran resolver, puedes iniciar una disputa.

Cómo funciona

Cuando inicies una disputa, serás atendido por el administrador del nodo de Mostro que estés utilizando, o por una persona designada por dicho administrador (solver). Cuando un solver toma la disputa, Mostro te envía a ti y a tu contraparte un mensaje con la clave pública de ese solver, para que tu cliente sepa con quién hablar en el chat de la disputa. Sigue solo las instrucciones del solver que Mostro asignó: cualquier otra persona que te escriba sobre la disputa puede ser un impostor.

En la Mostro App, toca Abrir disputa en la pantalla de la operación. La disputa aparece entonces en Chat → Disputas, mostrando "Esperando que se asigne un resolutor" hasta que un solver la toma. Desde allí hablas con el solver y puedes adjuntar fotos o archivos PDF como evidencia.

Mientras la disputa está abierta, aún pueden arreglar las cosas entre ustedes: si el vendedor libera los sats, o ambos acuerdan una cancelación cooperativa, la disputa se cierra sola.

Serbero, el asistente automático

Algunos nodos usan a Serbero, un asistente automático administrado por el operador del nodo. Si el tuyo lo hace, Serbero puede ser el primero en tomar tu disputa. Te escribe en el chat de la disputa, se presenta como un asistente automático y hace una pregunta corta a la vez: al comprador si envió el pago, al vendedor si le llegó. La Mostro App identifica sus mensajes como "Serbero".

  • Serbero no puede mover fondos y nunca decide quién tiene la razón. Mostro lo registra con permiso de solo lectura.
  • Si los hechos del pago están claros, aún pueden terminar la operación ustedes mismos: el vendedor puede liberar los sats, o ambos pueden acordar una cancelación cooperativa. Cualquiera de las dos cierra la disputa.
  • De lo contrario, o si pides una persona en cualquier momento, Serbero pasa el caso a un solver humano con un resumen de lo que dijo cada uno. La app muestra cuándo un solver toma el relevo.
  • Para entender tus respuestas, tus mensajes a Serbero son procesados por un servicio automatizado que usa el operador. Recibe el texto, los roles en la operación, el monto, la moneda y el método de pago, nunca tus claves públicas.

Resolución

No hay un método estándar para resolver disputas en todos los nodos de Mostro. Cada administrador puede decidir cómo gestionar las disputas generadas en su nodo y qué pruebas solicitar a los usuarios para tomar la decisión más adecuada.

Cuando el administrador decida qué usuario tiene la razón, hará que Mostro libere los sats al usuario que corresponde. Los administradores no cobran ninguna tarifa extra por resolver disputas.

Evidencia del chat

Durante una operación, el comprador y el vendedor se comunican a través de un chat cifrado de extremo a extremo. Este chat genera una "llave maestra compartida" que solo conocen ambas partes.

Si hay una disputa, cualquiera de las partes puede optar por compartir voluntariamente esta llave con el solver. En la Mostro App es el botón Compartir la clave del chat con el resolutor en la disputa: cubre solo el chat de esa operación y no se puede deshacer. Con ella, el solver puede acceder a una copia de la conversación que no puede ser alterada ni borrada. Esto permite resolver disputas de manera justa, exponiendo cualquier intento de engaño. Para más detalles sobre cómo funciona este sistema de privacidad, consulta la sección de Privacidad en Mostro.

Tiempos importantes

Los usuarios involucrados deben iniciar la disputa con bastante anticipación a que expire la hold invoice que el vendedor ha pagado, de forma que el administrador tenga tiempo suficiente para solicitar pruebas a ambas partes y tomar una decisión adecuada.

El tiempo sigue corriendo desde que se aceptó la orden y no se detiene por abrir una disputa. El administrador debe resolverla antes de que el tiempo expire, por lo que los usuarios no deben esperar demasiado para iniciarla. Puedes leer más sobre los plazos de tiempo aquí.

Disputa automática

Mostro abre una disputa por su cuenta en un único caso: el comprador marcó el fiat como enviado, el vendedor no ha liberado los Sats y la hold invoice está por expirar.

Poco antes de que expire la hold invoice, Mostro revisa la orden. Si todavía está esperando que el vendedor libere los Sats, Mostro abre una disputa para que un administrador pueda decidir mientras los Sats siguen bloqueados. Sin esa disputa, la hold invoice expiraría y los Sats volverían al vendedor, aunque el comprador ya hubiera enviado el fiat.

Lo que debes saber sobre esta disputa automática:

  • Se registra a nombre del comprador, porque lo que está en juego es su pago. El comprador la verá como una disputa propia, y el vendedor la verá como una disputa abierta por su contraparte.
  • Funciona como cualquier otra disputa: un administrador o solver la toma y atiende a ambas partes.
  • El administrador tiene muy poco tiempo para resolverla antes de que expire la hold invoice: 12 bloques con la configuración por defecto. En teoría son 120 minutos, porque se mina un bloque cada 10 minutos en promedio, pero los bloques no llegan a intervalos fijos, así que ese tiempo puede ser mayor o menor. Si ese tiempo se agota, los Sats vuelven al vendedor y Mostro ya no puede intervenir. No esperes a la disputa automática: si tu contraparte deja de responder, abre tú la disputa lo antes posible.
  • Si el comprador nunca marcó el fiat como enviado, Mostro no abre una disputa. Cancela la orden antes de que expire la hold invoice, y los Sats vuelven al vendedor.

Depósito anti-abuso en disputas

Si operas en un nodo que exige un depósito anti-abuso, el administrador puede cobrar el depósito de quien haya actuado de mala fe al resolver la disputa. Parte de ese depósito se entrega a la contraparte honesta como compensación. Consulta Depósito Anti-Abuso para conocer cómo funciona.

Privacidad en Mostro

Privacidad en la comunicación del usuario con Mostro

La comunicación entre Mostrod y los usuarios se realiza a través de los clientes de Mostro mediante el protocolo v2 de Mostro: cada mensaje es un evento de Nostr firmado de tipo 14 cuyo contenido está cifrado con NIP-44, de modo que solo tu cliente y el nodo pueden leerlo. Para aumentar la privacidad, los clientes de Mostro generan automáticamente una nueva clave para cada orden que tomes o crees, y esa clave firma tus mensajes. Los relays pueden ver que una clave de un solo uso habla con un nodo de Mostro, pero no lo que dice, y las transacciones de compra y venta no pueden asociarse desde afuera a una sola persona.

Los clientes de Mostro no compartirán las claves privadas de los usuarios con un nodo de Mostro, y por consiguiente con su administrador, en ningún caso.

Desde la versión 0.19.0, los nodos de Mostro hablan solo el protocolo v2. Los clientes que todavía usan el protocolo antiguo (NIP-59 gift wraps) no pueden operar en ellos.

Modo de reputación

Mostro ofrece a los usuarios la opción de operar en un modo de reputación, el predeterminado en la Mostro App. En este modo, tu cliente demuestra al nodo de Mostro que estés utilizando que la orden pertenece a tu clave de identidad fija. Esa prueba viaja dentro del mensaje cifrado, así que solo ese nodo la conoce. El nodo puede entonces asociarte una reputación basada en las calificaciones que recibas de tus contrapartes tras completar operaciones. Tu clave de identidad no se comparte con otros usuarios ni se expone públicamente, y cada nueva orden sigue utilizando claves de un solo uso, protegiendo los detalles de cada intercambio ante un tercero.

Modo de privacidad total

Para aquellos usuarios que priorizan la privacidad por encima de todo, Mostro ofrece el modo de privacidad total. En este modo, tu cliente no envía ninguna prueba de identidad al nodo de Mostro. Cada operación utiliza exclusivamente la clave de un solo uso generada para ese intercambio, de modo que el nodo no tiene forma de vincular las órdenes de un mismo usuario entre sí, ofreciendo un nivel máximo de anonimato.

Como en el modo de privacidad total no existe una clave fija asociada a ti, no es posible construir o mantener una reputación: no das ni recibes calificaciones, tu reputación aparece en 0 ante tus contrapartes y tus operaciones no se pueden restaurar en otro dispositivo. Tampoco puedes importar una reputación.

En la Mostro App cambias entre ambos modos en Cuenta → Privacidad; la elección se conserva hasta que la cambies.

Privacidad en la comunicación entre usuarios

La comunicación entre el comprador y el vendedor durante una operación ocurre directamente de cliente a cliente mediante un chat cifrado de extremo a extremo, integrado en los clientes de Mostro. Ambos clientes calculan un secreto compartido con Elliptic Curve Diffie-Hellman (ECDH) y derivan de él dos claves: una clave de conversación, que cifra los mensajes con NIP-44, y una clave de firma, que firma los eventos de tipo 14 que los transportan. Cada mensaje, además, va firmado por la clave de operación de quien lo envía. Solo el comprador y el vendedor tienen estas claves, así que ni el nodo de Mostro donde operan ni terceros pueden leer ni publicar mensajes. Además, como cada operación genera claves nuevas y únicas, la privacidad se mantiene incluso entre operaciones con la misma contraparte.

En caso de disputa, este diseño ofrece una solución efectiva: cualquiera de las partes puede optar por compartir voluntariamente la clave de conversación con el solver, nunca la de firma. Con ella, el solver puede leer, pero no escribir, únicamente la conversación de esa operación específica, accediendo a una copia inmutable de los mensajes, que no puede ser alterada ni borrada. Esto permite resolver disputas de manera justa y transparente, exponiendo cualquier intento de engaño sin comprometer la privacidad por defecto de los usuarios y solo revelando la información cuando sea necesario y consentido.

Algunos nodos usan a Serbero, un asistente automático de disputas. Si le escribes durante una disputa, tus mensajes son procesados por un servicio automatizado que usa el operador del nodo.

Otros detalles

  • Las notificaciones push no llevan contenido: solo avisan a tu dispositivo de que hay algo para ver en la app.
  • Si conectas una billetera mediante Nostr Wallet Connect (NWC), su cadena de conexión permanece en tu dispositivo.
  • Importar tu reputación desde otro origen vincula tus cuentas en ambos lados. Consulta Importar tu reputación.

Backup y Restauración de Cuenta

Tu identidad en Mostro se basa en una clave privada que los clientes generan automáticamente cuando creas tu cuenta. Esta clave se representa como una frase de 12 palabras (seed phrase) que debes guardar de forma segura.

Por qué es importante el backup

Sin un backup de tu frase de 12 palabras, podrías perder:

  • Acceso a trades activos: si cambias de dispositivo o reinstalas la app durante un intercambio, no podrás continuar la operación
  • Tu reputación: las calificaciones que has acumulado están asociadas a tu identidad; sin backup, empezarías desde cero
  • Historial: no podrás recuperar información de operaciones anteriores

Cómo hacer backup

En la Mostro App, ve a Cuenta → Palabras secretas y toca Mostrar palabras. La app te guía en tres pasos: anota las 12 palabras en papel, toca tres de ellas para comprobar que las anotaste bien, y listo. Hasta que lo hagas, la app te lo recuerda con un banner Asegura tu reputación.

La app no incluye tus claves en el backup en la nube de tu teléfono ni en la transferencia de dispositivo, así que las 12 palabras son la única forma de recuperar tu cuenta en un dispositivo nuevo.

Otros clientes de Mostro tienen su propia forma de mostrar tu frase de 12 palabras. Consulta su documentación.

Lo importante es:

  • Anotar las 12 palabras en el orden correcto
  • Guardarlas en un lugar seguro y privado
  • No compartirlas con nadie
  • No almacenarlas en texto plano en dispositivos conectados a internet

Restaurar tu cuenta

Si necesitas cambiar de dispositivo, reinstalar la app, o usar un cliente diferente, puedes restaurar tu identidad importando tu frase de 12 palabras.

Al restaurar:

  • Recuperas tu identidad y reputación
  • En la Mostro App, puedes continuar las operaciones que estaban activas (solo en modo reputación). mostro-cli no puede retomar una operación en curso solo con las 12 palabras: para eso necesita su archivo ~/.mcli/mcli.db
  • Accedes desde cualquier cliente de Mostro compatible

En la Mostro App, ve a Cuenta → Importar usuario de Mostro e ingresa tus 12 palabras. La app consulta al nodo que usas por tus órdenes y operaciones y las reconstruye. La restauración funciona por nodo: cuando cambias a otro nodo, la app restaura también lo que tienes allí. Antes de importar, si el usuario actual todavía tiene operaciones en curso, la app te avisa que "Este usuario todavía tiene sats en juego".

Si usabas la antigua app Mostro Mobile, puedes importar las mismas 12 palabras en la nueva Mostro App: ambas usan las mismas claves. Termina primero cualquier operación abierta en la app antigua.

Importante: Modo de privacidad total

Si operas en modo de privacidad total, las órdenes creadas en ese modo no se pueden recuperar al restaurar tu cuenta. Solo las órdenes creadas en modo de reputación pueden ser restauradas.

Esto se debe a que en el modo de privacidad total no existe una clave fija asociada a tu identidad, por lo que Mostro no puede vincular esas operaciones con tu cuenta restaurada.

Recomendaciones

  • Haz el backup apenas crees tu cuenta, antes de tu primera operación
  • Verifica que anotaste las palabras correctamente antes de necesitarlas
  • Considera tener más de una copia en lugares seguros diferentes
  • Nunca compartas tu frase con nadie, ni siquiera con el soporte de Mostro
  • Si valoras poder recuperar trades activos, usa el modo de reputación

¿Funciona un nodo de Mostro?

Antes de operar, o cuando algo tarda más de lo normal, puedes revisar el estado de los principales nodos de Mostro en la página pública de estado:

status.mostro.network

Cada minuto, cada nodo publica en Nostr un reporte de salud firmado. La página lee esos reportes directamente de los relays, los verifica en tu navegador y compara el nodo de Lightning de cada nodo monitoreado con exploradores de bloques públicos.

ColorSignificado
🟢 OperativoEl nodo reporta que está sano y supera las comprobaciones independientes.
🟡 DegradadoAlgo no está del todo bien, o el nodo está en mantenimiento.
🔴 CaídoEl nodo reporta un problema grave, su nodo de Lightning está atrasado respecto a la cadena, o dejó de reportar.
⚪ Sin monitorearEl nodo está listado pero todavía no se comprueba.

Debajo de cada nodo puedes ver los últimos 90 días. Verde significa que el nodo funciona hasta donde se puede saber; no garantiza que todas las operaciones salgan bien.

Mantenimiento

Un nodo en mantenimiento no acepta órdenes ni tomas nuevas, pero las operaciones que ya están abiertas todavía pueden completarse, cancelarse o disputarse. Los operadores lo activan para trabajos planificados. Los nodos también lo activan por sí solos cuando su nodo de Lightning se desincroniza, y lo desactivan cuando se recupera.

Si tus sats se retrasan

Si el propio nodo de Lightning del nodo tiene un problema, Mostro no abandona tu pago: espera y paga automáticamente cuando el problema se resuelve, y ese retraso no cuenta como un pago fallido de tu parte. Si tu pago falla por otro motivo, por ejemplo un problema de ruta, Mostro reintenta unas veces y luego te pide una factura nueva: mantén la app abierta y envíala, o el pago no podrá completarse. Si el nodo permanece en rojo por mucho tiempo, contacta a su operador (consulta Soporte y Contacto).

Comparar nodos en la app

En la Mostro App, Configuración → Red → Nodo Mostro muestra el estado, la tarifa y el depósito de cada nodo, y Acerca de → Nodo conectado muestra los límites, monedas y tiempos del nodo que usas.

Soporte y Contacto

Mostro no es una empresa, sino un proyecto Open Source, mantenido por su comunidad, por ello no cuenta con un departamento de soporte técnico, aunque sí hay una comunidad a la que puedes acudir en caso de que lo necesites.

Si una operación va lenta o un nodo no responde, primero revisa el estado del nodo en status.mostro.network (consulta ¿Funciona un nodo de Mostro?). Las preguntas sobre una operación o disputa concreta van al operador del nodo que usaste.

Si tienes alguna duda puedes preguntar en los grupos de Telegram:

También tenemos un grupo en Nostr.

Además puedes seguirnos en:

Cómo Contribuir

¡Gracias por tu interés en contribuir a Mostro!
Mostro no es una empresa, sino un proyecto Open Source, impulsado y mantenido por su comunidad, por lo que cualquier tipo de contribución es valiosa y útil para los usuarios.

Si bien te sugerimos algunas áreas donde puedes colaborar, siéntete libre de proponer cualquier mejora que creas que pueda beneficiar al proyecto:

  • Documentación: Ayuda a mejorar la documentación para que más personas puedan entender qué es Mostro y cómo utilizarlo.
  • Traducciones: Si eres multilingüe puedes traducir los clientes de Mostro o contribuir a la documentación en otros idiomas.
  • Desarrollo: en el proyecto de Mostro puedes encontrar varios repositorios y lenguajes de programación. Si no sabes por dónde empezar, revisa las listas de "buenos primeros problemas" para involucrarte.
  • Reporte de errores: Si detectas algún fallo o comportamiento inesperado, reportarlo es de gran ayuda. Esto contribuye a mejorar la estabilidad y calidad del proyecto.
  • Propuestas de mejoras: Si tienes ideas para mejorar Mostro, te invitamos a compartirlas. Muchas características clave han surgido gracias a sugerencias de la comunidad. Puedes proponer tus ideas en los grupos de soporte, o abrir un issue en el repositorio correspondiente, si crees que va a generar gran debate, entonces abre una discusión en dicho repositorio.
  • Creación de contenido: Si tienes habilidades en la creación de contenido, puedes hacer video-tutoriales o guías escritas para ayudar a los usuarios a sacar el máximo provecho a Mostro.
  • Difusión en redes sociales: Compartir información sobre Mostro en redes sociales ayuda a aumentar su visibilidad y atraer a más personas interesadas en contribuir o utilizarlo.
  • Donaciones: Si prefieres apoyar financieramente el desarrollo y mantenimiento de Mostro, puedes hacer una donación a https://geyser.fund/project/mostro.

¡Muchas gracias por tu apoyo!

Clientes. Cómo uso Mostro

Para utilizar Mostro, es necesario acceder a través de un cliente específico. A continuación, abordaremos varios de ellos, los cuales te permitirán interactuar tanto con Mostrod como con tu contraparte en una operación.

Los clientes de Mostro disponibles hasta el momento son:

  • Mostro App (operativo, beta): la aplicación oficial, para Android, iOS, Windows, macOS, Linux y la web.
  • Mostro-cli (operativo): cliente desde línea de comandos.
  • MostriX (operativo): cliente con interfaz TUI, que funciona en la terminal con una apariencia mejorada, con un modo para solvers de disputas.

La antigua app Mostro Mobile (versión 1) está obsoleta: usa la nueva Mostro App. Los solvers de disputas también tienen Bosstro, una app de Android para resolver disputas; no sirve para operar.

Cada cliente tiene características particulares, por lo que los usuarios pueden elegir cuál utilizar según sus intereses y cambiar entre ellos cuando lo consideren conveniente. Los clientes son los encargados de crear, almacenar y gestionar las claves de Nostr de sus usuarios. Para conocer cómo los clientes manejan la privacidad de los usuarios lee aquí.

Aunque algunos clientes ya están en funcionamiento, se encuentran en constante desarrollo, con la implementación de nuevas funciones, mejoras de UX, corrección de errores, etc. Es posible que encuentres bugs; si esto sucede, por favor repórtalos, tu feedback es muy importante.

Desde la versión 0.19.0, los nodos de Mostro hablan solo el protocolo v2. Las versiones actuales de los tres clientes anteriores lo usan; los clientes antiguos que todavía usan NIP-59 gift wraps no pueden operar en los nodos actuales.

Nota: Dos usuarios que utilicen diferentes clientes de Mostro pueden realizar intercambios de Sats; sin embargo, para la comunicación directa entre ellos, deben tener en cuenta qué tipo de mensajes aceptan sus respectivos clientes. Los clientes deben implementar este peer-to-peer chat pero si un cliente aún no lo ha implementado, sus usuarios no podrán visualizar mensajes enviados desde un cliente que sí lo tenga implementado. De forma similar pudiera ocurrir con otras funcionalidades, los desarrolladores de cada cliente hacen su mayor esfuerzo por actualizarlos lo antes posible.

Mostro es un proyecto FOSS, por lo que cualquier persona interesada puede crear un cliente para interactuar con este. Te invitamos a desarrollar tu propio cliente o a colaborar en el desarrollo de los ya existentes para mejorar la experiencia de los intercambios de Bitcoin P2P sin KYC en Nostr!

Para conocer más detalles sobre ellos continúa leyendo esta documentación.

Mostro App

Mostro App es la aplicación oficial para usar Mostro. Está disponible para Android, iOS, Windows, macOS, Linux y la web. Todavía está en beta: verás una etiqueta Beta en su menú.

Libro de órdenes de Mostro App

Descargas

  • Android (7.0 o posterior): Zapstore o el APK en GitHub Releases (arm64-v8a para casi cualquier teléfono, armeabi-v7a para los antiguos de 32 bits).
  • iOS (14 o posterior): todavía no hay versión en la App Store. La release incluye un archivo .ipa que puedes instalar con AltStore, Sideloadly o Xcode. Las instalaciones firmadas con un Apple ID gratuito caducan a los 7 días, y en ellas las notificaciones push no funcionan.
  • Windows, macOS y Linux: GitHub Releases. Los builds todavía no están firmados por Apple ni por Microsoft, así que el primer arranque requiere un paso extra (en Windows, Más información → Ejecutar de todas formas; en macOS, quita la marca de cuarentena como explican las notas de la release).
  • Web: mostro.network/app. Siempre ejecuta el build de desarrollo más reciente, y puedes instalarla como app desde el navegador.

Cada release incluye un archivo SHA256SUMS.txt para verificar tu descarga. Descarga solo desde estas fuentes oficiales.

La nueva app reemplaza a la antigua Mostro Mobile (versión 1), y ambas pueden instalarse lado a lado. Para pasarte, termina tus operaciones abiertas en la app antigua e importa tus 12 palabras en la nueva (consulta Backup y Restauración de Cuenta).

Primeros pasos

  1. Descarga la app desde una fuente oficial.
  2. Al abrirla por primera vez, tu identidad se crea automáticamente. Un breve recorrido explica cómo funciona Mostro.
  3. Elige el nodo de Mostro en el que quieres operar (Usar este nodo), u omite este paso para usar el predeterminado.
  4. Haz backup de tus 12 palabras antes de operar: Cuenta → Palabras secretas → Mostrar palabras.
  5. Configura tu Lightning Address o conecta una billetera con NWC (opcional pero recomendado).
  6. Mantén activadas las notificaciones push.
  7. Listo para operar.

Características principales

Identidad y privacidad

  • Creación automática de cuenta con frase de 12 palabras
  • Backup guiado y restauración de cuenta en cualquier dispositivo (Cuenta → Importar usuario de Mostro)
  • Recuperación de operaciones activas al restaurar, por nodo (solo en modo de reputación)
  • Modo de reputación o modo de privacidad total, en Cuenta → Privacidad
  • Tu propia reputación en el nodo que usas, en Cuenta
  • Importa tu reputación desde @lnp2pBot u otro nodo de Mostro, en Configuración → Red → Reputación

Trading

  • Libro de órdenes con las pestañas Comprar BTC y Vender BTC, filtros (moneda, método de pago, calificación, prima) y orden (más recientes, mejor prima, mejor reputación)
  • Crear órdenes de compra y venta, con monto fijo o con rango
  • Precio de mercado con prima o descuento, o precio fijo
  • Solo se ofrecen las monedas que acepta el nodo, incluidas las monedas estables y el bitcoin en otras redes donde el nodo las habilita
  • Tomar órdenes; en las órdenes de rango ingresas el monto
  • Compartir una orden como enlace o código QR
  • Depósito anti-abuso en los nodos que lo usan, y Reclama tu parte si tu contraparte pierde el suyo
  • Cuenta regresiva para cada paso de la operación
  • Mis operaciones agrupa tus operaciones en "Requieren tu acción", "En curso" y "Cerradas"

Pagos

  • Lightning Address (Configuración → Pagos): cuando tomas una orden de venta, tus sats van a ella por defecto, y aún puedes elegir otra dirección o una invoice para esa operación. En tus propias órdenes de compra, la pantalla de la invoice se rellena con ella y solo confirmas.
  • Nostr Wallet Connect (NWC) (Configuración → Pagos → Billetera NWC): conecta tu billetera para pagar hold invoices y depósitos con Pagar con billetera, y deja que cree tus invoices automáticamente. La cadena de conexión permanece en tu dispositivo.

Comunicación

  • Chat cifrado de extremo a extremo con tu contraparte, uno por operación
  • Envío de fotos y archivos PDF cifrados en el chat
  • Reaccionar a los mensajes y copiarlos; los mensajes no pueden ser borrados ni alterados
  • El chat sigue abierto una hora después de que termina la operación, y luego queda de solo lectura

Disputas

  • Abre disputas directamente desde la pantalla de la operación; síguelas en Chat → Disputas
  • Chatea con el solver y adjunta evidencia
  • Compartir la clave del chat con el resolutor en un toque, solo para esa operación
  • Los mensajes de Serbero, el asistente automático que usan algunos nodos, se identifican como tales

Notificaciones

  • Notificaciones push para tus operaciones, mensajes, pagos y disputas, configurables una por una en Configuración → Aplicación → Notificaciones push
  • Es importante mantenerlas activadas para no perder el timing de una operación
  • Las notificaciones no llevan contenido: solo avisan a tu dispositivo de que hay algo para ver
  • Las notificaciones push funcionan en Android y en las builds oficiales de iOS; las versiones de escritorio y web muestran notificaciones solo dentro de la app
  • El ícono de campana también muestra anuncios firmados del proyecto Mostro

Múltiples nodos

  • Una lista de nodos comunitarios de confianza, con el estado, la tarifa y el depósito de cada uno (Configuración → Red → Nodo Mostro)
  • Agrega tu propio nodo con su clave pública. Verifica la clave con el operador: un nodo falso puede ver tus órdenes.
  • Una operación permanece en el nodo donde empezó; Mis operaciones muestra las operaciones del nodo que tienes seleccionado
  • Sigues recibiendo notificaciones de las operaciones en otros nodos
  • Acerca de muestra los límites, la tarifa, el depósito, las monedas, los tiempos y las fuentes de precio del nodo que usas

Multi-idioma

  • Disponible en español, inglés, francés, alemán, italiano, neerlandés y portugués

Ayuda

  • Configuración → Ayuda → Informe de registros te permite ver y compartir los registros de la app al reportar un problema
  • Acerca de → Guía de usuario abre esta documentación

Más información

Mostro CLI

Mostro CLI es un cliente de Mostro con interfaz de línea de comandos. Es utilizado principalmente por desarrolladores y usuarios avanzados para probar las últimas funcionalidades de Mostro y para automatizar operaciones.

mostro-cli

Instalación

Puedes instalar Mostro CLI directamente desde crates.io:

cargo install mostro-cli

O compilarlo manualmente:

git clone https://github.com/MostroP2P/mostro-cli.git
cd mostro-cli
cargo build --release

Requisitos: Rust 1.97 o superior. En Debian/Ubuntu también necesitas sudo apt install -y cmake build-essential pkg-config libssl-dev.

También hay binarios precompilados para Linux, FreeBSD y Windows en GitHub Releases (no hay binario para macOS; usa cargo install). Verifica la descarga con el manifest.txt de la release:

sed 's#  artifact-[^/]*/#  #' manifest.txt | sha256sum -c --ignore-missing
# Windows (PowerShell): Get-FileHash <archivo> -Algorithm SHA256 y compáralo con manifest.txt

Características

  • Crear órdenes de compra y venta
  • Tomar órdenes del libro de ofertas
  • Soporte para órdenes de rango (min-max)
  • Crear órdenes de compra con Lightning Address
  • Chat con tu contraparte (protocolo v2 de Mostro, cifrado con NIP-44)
  • Gestión de identidad a partir de una frase de 12 palabras (NIP-06), guardada en ~/.mcli/mcli.db: haz backup de ella
  • Flujo completo de disputas, incluido el chat con el solver (disputechat)
  • Reclamar tu parte de un depósito anti-abuso confiscado (addbondinvoice)
  • Restaurar tu identidad y listar las órdenes y disputas que Mostro guarda para ti (restore)
  • Comandos de administración para operadores y solvers de Mostro

Mostro CLI habla solo el protocolo v2 (desde la versión 0.16.2), como los nodos de Mostro actuales. Todavía no admite importar tu reputación, y solo puede crear órdenes de monedas estables y bitcoin en otras redes a precio fijo.

Uso básico

# Configurar variables de entorno (reemplaza las variables a tu conveniencia)
export MOSTRO_PUBKEY=<el npub del nodo de Mostro que quieres usar>
export RELAYS='wss://relay.mostro.network,wss://mostro-p2p.tech'

# Listar órdenes disponibles
mostro-cli listorders

# Crear una orden de compra
mostro-cli neworder -k buy -c ves -f 1000 -m "face to face"

# Crear una orden de venta con rango
mostro-cli neworder -k sell -c ars -f 1000-10000 -m "transferencia bancaria"

# Cancelar una orden pendiente
mostro-cli cancel -o <order-id>

# Restaurar sesión
mostro-cli restore

Mostro CLI no lee ningún archivo de configuración: define el nodo y los relays en el entorno, y pon los flags globales (-m, -r, -p, -t, -v) antes del comando. No se mantiene conectado, así que ejecuta mostro-cli getdm después de cada paso para ver las respuestas de Mostro.

Para ver todos los comandos disponibles:

mostro-cli help

Más información

Mostro CLI es un proyecto FOSS. Puedes visitar su repositorio en GitHub para conocer más sobre su desarrollo, reportar bugs o proponer mejoras.

MostriX

MostriX es un cliente de Mostro con interfaz TUI (Terminal User Interface). Tiene dos modos:

  • Modo usuario, para operar: libro de órdenes con filtros y orden, crear y tomar órdenes, chat con tu contraparte, cancelación cooperativa, calificación y disputas con el solver.
  • Modo administrador, para solvers de disputas y operadores de nodos: tomar disputas, chatear con ambas partes, liquidar o cancelar, confiscar depósitos anti-abuso y registrar solvers.

mostrix

Nota: MostriX sigue evolucionando. Si encuentras un bug, por favor repórtalo.

Instalación

Hay binarios precompilados para Linux, macOS, FreeBSD y Windows en GitHub Releases. Las releases están firmadas: importa las claves de los mantenedores desde la carpeta keys/ del repositorio, verifica manifest.txt con gpg --verify manifest.txt.sig.arkanoider manifest.txt y luego el hash del binario:

sed 's#  artifact-[^/]*/#  #' manifest.txt | sha256sum -c --ignore-missing
# macOS: reemplaza sha256sum -c por shasum -a 256 -c
# Windows (PowerShell): Get-FileHash <archivo> -Algorithm SHA256 y compáralo con manifest.txt

O compílalo desde el código fuente (requiere Rust 1.97 o superior):

git clone https://github.com/MostroP2P/mostrix.git
cd mostrix
cargo run --release

Características

  • Libro de órdenes con filtros y orden
  • Crear órdenes de compra y venta, incluidas órdenes de rango y órdenes de privacidad total
  • Tomar órdenes (compra y venta), con tu Lightning Address
  • Confirmar fiat enviado y liberar sats
  • Agregar una nueva invoice si el pago falla
  • Chat cifrado de extremo a extremo con tu contraparte, con archivos adjuntos
  • Cancelación cooperativa y calificación
  • Abrir una disputa y chatear con el solver; compartir con él la clave del chat de la operación
  • Tu propia reputación en la barra de estado
  • Restaurar tu sesión desde el nodo
  • Generación automática de semilla de 12 palabras y gestión de llaves según el protocolo Mostro
  • Modo administrador para solvers: tomar disputas, chatear con ambas partes, liquidar, cancelar y confiscar depósitos, leer los reportes de Serbero y recibir alertas por Telegram mediante mostro-watchdog

MostriX habla solo el protocolo v2 de Mostro (desde la versión 0.3.1). Todavía no admite importar tu reputación.

Configuración

En la primera ejecución, MostriX crea ~/.mostrix/ con tu nueva semilla de 12 palabras y un archivo settings.toml, y te muestra las 12 palabras: anótalas. La mayoría de las opciones se pueden cambiar desde la pestaña Settings (presiona Shift+H allí para ver la ayuda de cada una).

Parámetros principales de settings.toml:

  • mostro_pubkey: clave pública del nodo de Mostro (o Settings → Select Mostro Instance)
  • nsec_privkey: tu identidad de trader, derivada de la semilla; no la edites
  • relays: lista de relays a los que conectarse
  • currencies_filter: monedas a mostrar; vacío muestra todas
  • user_mode: user o admin (o Settings → Switch Mode)
  • ln_address: tu Lightning Address
  • admin_privkey: para solvers, la clave registrada como solver en el nodo; para el operador del nodo, la clave privada del propio daemon de Mostro (la que corresponde a mostro_pubkey), necesaria para agregar solvers

Usa las flechas para moverte entre pestañas, Ctrl+H para la ayuda contextual y la pestaña Exit para salir.

Más información

MostriX es un proyecto FOSS. Puedes visitar su repositorio en GitHub para conocer más sobre su desarrollo, reportar bugs o proponer mejoras. Los operadores de nodos pueden encontrar más sobre su modo administrador en la guía para correr un nodo de Mostro.