Guía de producto · OtterPot

Manual · Documentación · Producto

Retos colectivos, reglas transparentes y fondos protegidos por código.

OtterPot permite crear retos entre personas, reunir participantes, depositar fondos desde sus propias wallets y resolver el resultado mediante reglas verificables en blockchain.

Actualmente disponible en Arbitrum Sepolia · Testnet · Chain 421614

OtterPot

Producto primero. Documentación clara. Tecnología como respaldo — sin promesas inventadas.

Producto

¿Qué es OtterPot?

OtterPot convierte un reto entre personas en un proceso verificable.

Una persona crea el reto, los amigos se unen, cada uno conecta su wallet, se abre el pozo on-chain, depositan USDC, consensúan el resultado y el contrato paga al ganador válido.

1Crear
2Unirse
3Abrir
4Depositar
5Resolver
6Cobrar

Confianza

¿Por qué blockchain?

No afirmamos seguridad absoluta. Blockchain ayuda a reducir riesgos y a dejar reglas verificables.

Reglas transparentes

Las reglas principales viven en contratos inteligentes.

Fondos controlados por código

Nadie del equipo puede mover libremente el dinero de los participantes.

Operaciones verificables

Depósitos y resoluciones se pueden comprobar en Arbiscan Sepolia.

Firma del usuario

El bot no firma por ti. Tú autorizas approve y deposit desde tu wallet.

Historial

Resultados y movimientos relevantes quedan registrados.

Menos confianza ciega

Menos dependencia de un tercero que “guarde” el pozo a mano.

Flujo

Cómo funciona

Paso 1 · Crear

Crear un reto

Desde la web o Telegram defines monto, plazo e invitados. Ejemplo de comando:

/nuevo 5 24

Ejemplo: 5 USDC · plazo 24 horas.

Paso 2 · Unirse

Los participantes se suman

Antes de escribir el reto on-chain puedes armar la lista. Abandonar en esta etapa no genera una transacción innecesaria.

Me sumoMe bajo

Paso 3 · Abrir

Abrir el reto en blockchain

/abrir 123

Participantes: Alice, Bob, Carlos

Monto: 5 USDC

Red: Arbitrum Sepolia

Estado: Abierto

Tutorial esencial

Conectar MetaMask y agregar USDC

Si MetaMask dice “token personalizado”, es normal. En Arbitrum Sepolia el USDC no siempre aparece solo: hay que agregarlo a mano con la dirección del contrato.

Decimales = 6 (obligatorio)

Usa exactamente 6 decimales. Si pones 18 u otro valor, el saldo se verá mal y no podrás pagar / depositar correctamente en OtterPot. Copia los datos de esta página, no inventes cifras.

  1. Abre MetaMask y asegúrate de estar en la red Arbitrum Sepolia (Chain ID 421614).
  2. Toca Importar tokens → Token personalizado.
  3. Pega la dirección del contrato USDC de abajo.
  4. Verifica: Símbolo USDC, Decimales 6.
  5. Toca Importar.

Dirección del token (USDC Sepolia)

0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d

Símbolo

USDC

Decimales

6

Chain ID

421614
Así debe quedar en MetaMask

Red: Arbitrum Sepolia

Token: USDC

Contrato: 0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d

Decimals: 6

Ver USDC en Arbiscan Sepolia

On-chain

Depósitos: approve + deposit

El bot no puede depositar por ti. Cada depósito requiere tu firma en la wallet.

1. Approve

Autorizas al ChallengePool a usar tu USDC por el monto del reto.

2. Deposit

Confirmas el depósito. El USDC entra al pozo del reto.

WalletApproveContrato USDCDepositChallengePool

OtterPot intenta evitar firmas de más: si ya tienes allowance suficiente, puede ir directo a deposit.

Demo

Ejemplo completo

Datos de demostración — no son resultados reales de mainnet.

Reto · “¿Quién gana?”

  • Participantes: Alice, Bob, Carlos
  • Monto: 5 USDC por persona
  • Plazo: 24 horas
  • Estado: Abierto → depósitos → resolución

Tras tres depósitos el pozo es 15 USDC. Si Alice gana, el contrato valida que sea participante y ejecuta el payout.

Puede existir una comisión del protocolo (ej. 5% en ChallengePool). El ganador no siempre recibe el 100% bruto del pozo.

15 USDCResoluciónAlice · payout

Telegram

Manual rápido de comandos

Bot:

/vincular

Asocia una wallet al usuario de Telegram.

Hoy la vinculación es declarativa (aún no demuestra criptográficamente el control de la clave). Verificación criptográfica: próximamente.

/nuevo 5 24

Crea un reto: 5 USDC, 24 horas.

/abrir 123

Abre el reto #123 en blockchain.

/depositar 123

Obtienes el enlace para depositar desde tu wallet.

/confirmar 123 @usuario

Confirma un resultado propuesto.

/historial

Consulta actividad e historial.

Mobile-first

Experiencia desde el celular

No necesitas correr el proyecto en tu PC para probar. Puedes hacerlo desde el teléfono.

  1. Abre el bot o el grupo en Telegram.
  2. Toca Depositar / el enlace de la Mini App.
  3. Conecta wallet (MetaMask / WalletConnect).
  4. Cambia a Arbitrum Sepolia.
  5. Importa USDC con decimales 6 (sección MetaMask).
  6. Approve → Deposit → confirma en la wallet.
  7. Vuelve al chat del reto.
TelegramDepositarOtterPot webWalletConfirmarListo

Confianza

Seguridad desde el contrato hasta la interfaz

Participaciones

El contrato registra participaciones por dirección; no puedes retirar lo de otro.

Ganador válido

El ganador debe pertenecer a la lista de participantes del reto.

Consenso

Antes de resolver se vuelve a comprobar el consenso / reglas del flujo.

Firma del usuario

Los depósitos requieren tu approve y deposit.

Worker

El backend valida antes de construir transacciones on-chain.

Estado del bot

Cloudflare KV mantiene estado sin depender de una sola máquina.

Seguridad revisada durante el desarrollo

No es una auditoría externa. Durante el desarrollo se detectaron y corrigieron problemas como:

  • Control de fondos: se reforzó el registro individual de participaciones.
  • Validación del ganador: la resolución exige que el ganador sea participante del reto.

Para perfiles técnicos

Arquitectura

UsuarioWeb / TelegramWorkerviemArbitrumContratos
WebWalletUSDCChallengePoolTreasuryVaultStrategy

Frontend

Next.js + TypeScript + RainbowKit

Blockchain

Arbitrum Sepolia (421614)

Cliente chain

viem + wagmi

Backend

Cloudflare Workers

Persistencia bot

Cloudflare KV + Firebase RTDB (app)

Contratos

Arbitrum Stylus (Rust)

Transparencia

Verifica por ti mismo

ChallengePool

0x7f02be32247ca5c32468d69ef059e4a9114e56d4

TreasuryVault

0xcb002f054b25d699a4c986cebe3e1f03ac58b8f6

USDC

0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d

Red

Arbitrum Sepolia · 421614

Blockchain: Arbitrum Sepolia · Red de pruebas · Estado: prototipo / hackathon.

Honestidad

Estado actual

  • Funciona sobre testnet (Arbitrum Sepolia), no mainnet de producción.
  • La vinculación de wallet en Telegram aún es declarativa.
  • La estrategia de rendimiento (Aave) depende de configuración del vault.
  • Hay funciones avanzadas (modo juez, etc.) en desarrollo.
  • Puedes usar la app con Firebase aunque un reto aún no esté on-chain.

Próximamente

Roadmap

Ahora

  • Retos
  • Depósitos
  • Telegram
  • Sepolia
  • Historial básico

Próximo

  • Verificación criptográfica de wallets
  • Mejor UX móvil
  • Estrategia de yield completa

Futuro

  • Mainnet
  • Más redes
  • Más tipos de retos
  • Stats avanzadas

Sin fechas prometidas.

¿Listo para probar una nueva forma de crear retos?

Crea un reto, invita participantes y deja que las reglas verificables hagan el trabajo. Empieza importando USDC con decimales 6.

← Centro de manuales