Volver a artículos
6 min de lectura

Cómo hacer una app cripto que no parezca cripto

Construí Frontle, un juego con premios en stablecoins dentro de MiniPay. Ganó el tercer puesto en la hackathon Colombia de Celo. Estos son los pasos, y las decisiones que importaron de verdad.

Ilustración de Frontle: el logotipo y el lema «The world is closer than you think» sobre un paisaje de montañas y lago, con la Tierra y un marcador de ubicación en órbita

La mayoría de las apps cripto fracasan antes de que el usuario vea la primera pantalla útil. No por el producto: por el trámite.

Instalá una billetera. Guardá estas doce palabras en un papel. Ahora conseguí el token nativo de la red para poder pagar las comisiones. Ah, y para conseguirlo necesitás una casa de cambio, que te va a pedir el documento.

Son cuatro paredes, y la persona todavía no hizo nada. Para cuando llega al producto ya gastó toda su paciencia en burocracia.

Hace unos meses construí Frontle, un juego diario de geografía con premios reales en stablecoins. Ganó el tercer puesto en la hackathon Colombia de Celo y ahora está en revisión para publicarse dentro de MiniPay. Lo interesante no fue el juego: fue descubrir que casi todas esas paredes son opcionales.

El cambio de pregunta

La pregunta de siempre es "¿cómo le explico la billetera al usuario?".

La pregunta correcta es "¿dónde está la gente que ya tiene una?".

Hay cientos de millones de personas con una billetera cripto funcional que no lo piensan así: la tienen dentro de una app que ya usan para otra cosa. MiniPay, la billetera de Opera, tiene más de 16 millones de usuarios, mucha gente en mercados donde la stablecoin no es especulación sino la forma práctica de tener dólares.

Esa gente no necesita que le expliques nada. Ya tiene saldo. Lo que necesita es que tu app funcione adentro.

Los pasos

Esto es lo que haría de nuevo, en orden.

1. Elegí la red por la audiencia, no por el hype

El criterio no es TPS ni qué cadena está de moda. Es: ¿dónde ya está la gente a la que le sirve esto? y ¿cuánto cuesta una transacción?

Si tu producto cobra diez centavos, una red donde la comisión cuesta ochenta centavos no es una opción técnica mala, es un producto imposible. Elegí Celo porque las comisiones son fracciones de centavo y porque MiniPay —mi distribución— vive ahí.

2. Eliminá el paso de la billetera

Dentro de MiniPay, la billetera se conecta sola. Se lee window.ethereum nativo y listo:

// Sin librería de conexión, sin modal, sin botón "Connect Wallet".
// Dentro del WebView de MiniPay la cuenta ya está disponible.
const [account] = await window.ethereum.request({
  method: 'eth_requestAccounts',
})

Nada de WalletConnect, ni selector de billeteras, ni ese modal con doce logos que no le dice nada a nadie. Para quien entra desde afuera dejé Privy como respaldo, pero el camino principal no tiene paso de conexión.

3. Abstraé el gas

Este es el truco que más cambia la experiencia y el que menos gente usa.

Normalmente, para gastar tus dólares digitales necesitás además tener el token nativo de la red. Es como si para pagar con tarjeta tuvieras que llevar monedas aparte para la máquina.

Celo resuelve esto con CIP-64: la comisión se paga en el mismo token con el que estás transaccionando. El usuario paga en USDT, le descuentan en USDT, y nunca ve CELO ni se entera de que existe.

Si tu red lo soporta, usalo. Si no lo soporta, considerá en serio cambiar de red: es la diferencia entre un producto para gente que ya sabe y un producto para cualquiera.

4. Poné en cadena solo el dinero

La tentación de principiante es poner todo on-chain por pureza ideológica. Es caro, lento y no aporta nada.

La línea que tracé:

En cadenaFuera de cadena
CobrosLógica de juego
Acumulación del pozoRanking del día
Registro de ganadoresPerfiles y estadísticas
Retiro del premioTraducciones, UI

El contrato de Frontle hace cuatro cosas: payAttempt, buyHint, rollDay, claim. Nada más. Todo lo que cambia seguido y no es dinero vive en Postgres, donde consultarlo cuesta microsegundos en vez de centavos.

5. Resolvé el puente con un oráculo, no con confianza

Acá aparece el problema de verdad, y es el que define si tu app es seria.

El ranking está en una base de datos que yo controlo. El premio no puede depender de eso: nadie debería tener que confiar en mi Postgres para cobrar.

La solución es separar quién calcula de quién tiene la verdad:

  1. Un proceso programado lee el ranking cuando cierra el día.
  2. Ese proceso escribe los ganadores en el contrato, en una función que solo el operador puede llamar.
  3. A partir de ahí, el usuario cobra directo del contrato. Yo ya no estoy en el medio.

En Frontle eso es una Edge Function que a las 00:10 UTC llama rollDay(day, winners). Después cada ganador llama claim(day, level) por su cuenta.

Postgres propone, la cadena dispone. Si tu base de datos puede cambiar quién cobra, no tenés un protocolo: tenés una promesa.

6. Hacé que la primera acción sea gratis

El primer intento del día en Frontle no cuesta nada. Jugás, entendés el juego, ves el pozo acumulado, y recién ahí decidís si querés reintentar.

Esto no es generosidad, es diseño de embudo. La persona que paga diez centavos por una pista ya entendió qué está comprando. La que tiene que pagar antes de entender, simplemente se va.

7. Cobrá en centavos

Los precios de Frontle son 0.05 y 0.10 USDT. Hay una razón psicológica concreta: una primera transacción cripto de diez centavos no da miedo.

Si tu primera interacción con una cadena es mover cincuenta dólares, el costo de equivocarte se siente enorme y la gente se paraliza. Si es por diez centavos, probás. Y una vez que probaste, ya sabés que funciona.

Ahí es donde la gente se familiariza de verdad con la moneda: no leyendo un hilo explicativo, sino haciendo una transacción chiquita que sale bien.

8. Hacé visible la ganancia

Si prometés que se puede ganar, mostralo con números reales y verificables. Frontle tiene una página /stats pública que lee directo de la cadena: cuánto hay en el pozo, quién ganó, cuánto se repartió.

El pozo se arma con el 80% de lo recaudado; el 20% sostiene el protocolo. Esa proporción está en el contrato, no en la landing. Cualquiera puede comprobarla.

Lo que aprendí sobre la adopción

Durante años la industria intentó que la gente entienda cripto. El orden está invertido.

La gente no quiere entender una cadena de bloques, igual que no quiere entender SMTP para mandar un mail. Quiere jugar, cobrar, mandarle plata a alguien. La familiaridad llega después del uso, no antes.

Las personas que juegan Frontle no aprendieron qué es una stablecoin leyendo. Lo aprendieron ganando cuarenta centavos un martes y viendo que podían usarlos.

En qué estado está

Frontle está en producción en frontle.earth, con usuarios y dinero real, compitiendo en Proof of Ship —el programa mensual de builders de Celo— y en revisión para entrar al catálogo de MiniPay.

El código es abierto: github.com/davidndeah/frontle. Si estás construyendo algo parecido, la parte que vale la pena mirar es supabase/functions/close-day — ahí está el patrón de oráculo, que es lo único verdaderamente difícil de todo esto.