Zorrito V2
Ahorrá USDT. Ganá un premio semanal.
Ahorro en USDT sin pérdidas — tu principal siempre está seguro.
💡 La idea es simple: depositás USDT, el pool genera rendimiento en Aave V3, y cada semana ese rendimiento va a un ahorrador activo elegido al azar. Además, los incentivos Merit de ACI se distribuyen directamente a todos los depositantes. Nunca perdés tu capital — nunca.
Mínimo 0.25 USDT. Tu depósito va directo a Aave V3 en Celo y empieza a generar rendimiento al instante. Cada USDT = más chances en el sorteo semanal.
Presionás "Ahorrar hoy" una vez por día UTC. Cada día suma +1 al streak (racha) de la semana. El streak multiplica tus chances — a mayor streak, mayor probabilidad de ganar.
El programa Merit de ACI distribuye incentivos en USDT directamente a todos los depositantes, proporcional a tu depósito. Se acumulan en el contrato y los reclamás cuando querés — sin acción diaria requerida.
Cada lunes a las 10:05 UTC, el rendimiento base de Aave se sortea entre todos los ahorradores activos. El ganador recibe el 90% del prize pool directamente en su wallet — sin claim, sin demoras.
Tu principal nunca está bloqueado. Retirás todo o parte en cualquier momento, sin penalidades ni lock-up. Los Merit rewards los reclamás por separado.
Cada semana (lunes a domingo UTC) tenés 7 días para ahorrar. Cada día que presionás "Ahorrar hoy" suma +1 al streak. El streak multiplica tus chances en el sorteo de esa semana.
💡 Dos usuarios con 100 USDT cada uno: el que ahorra todos los días tiene streak 7 (700 chances). El que no ahorra ninguno tiene streak 1 mínimo (100 chances). Misma inversión, 7× más probabilidad de ganar.
| Días ahorrados esta semana | Multiplicador | Ejemplo (100 USDT) |
|---|---|---|
| 0 días (nunca ahorraste) | 1× | 100 chances |
| 1 día | 1× | 100 chances |
| 2 días | 2× | 200 chances |
| 3 días | 3× | 300 chances |
| 4 días | 4× | 400 chances |
| 5 días | 5× | 500 chances |
| 6 días | 6× | 600 chances |
| 7 días 🏆 | 7× | 700 chances |
El streak resetea automáticamente cada lunes a las 00:00 UTC. Si no ahorrás ningún día de la semana, tu multiplicador es 1× (el mínimo garantizado para usuarios con depósito).
🛡️ Seguridad sin cambios. Los multiplicadores de streak son determinísticos y públicamente legibles on-chain — cualquier observador puede verificarlos en cualquier momento. No afectan cómo se elige al ganador, sólo cuántas chances tiene cada jugador. Un atacante no puede manipular su multiplicador para sesgar el acumulador de entropía — los streaks se ganan con tiempo real y no se pueden falsificar.
Hay cuatro maneras de aumentar tu probabilidad de ganar el sorteo semanal:
Fórmula completa:
El Self bonus es 1.25× para wallets verificadas con Self, 1× para el resto.
Tu probabilidad de ganar el sorteo es proporcional a tus chances efectivas sobre el total del pool:
Ejemplo: tenés 50 USDT, streak 7, 2 referidos, verificado con Self → 50 × 7 × 12/10 × 1.25 = 525 chances. Sin Self serían 420. Si el pool tiene 4.000 chances totales, tu probabilidad pasa de 10.5% a 13.1%.
El prize pool es el rendimiento que acumula el pool completo en Aave V3 durante la semana. Crece con el monto total depositado y el APY de Aave.
Zorrito participa en el programa Merit de ACI (Aave Chan Initiative). ACI distribuye USDT adicional a los proveedores de liquidez de USDT en Aave V3 en Celo.
📌 Los Merit Rewards son independientes del sorteo. Ganar o perder el sorteo no afecta tus Merit rewards. Todo depositante los recibe proporcionalmente — siempre.
La primera vez que completás 5 días consecutivos ahorrando, recibís 0.5 USDT directamente en tu wallet. El bonus está financiado por la wallet de incentivos del proyecto y se entrega automáticamente al completar el quinto día.
Elegir un ganador on-chain es difícil — el blockchain es determinístico y público, así que cualquier valor conocido al momento del sorteo puede ser manipulado por el proposer de ese bloque. Zorrito resuelve esto con un acumulador de entropía estilo RANDAO, el mismo principio que usa la capa de consenso de Ethereum.
Cada vez que cualquier usuario llama a deposit() o withdraw(), el contrato mezcla el prevrandao del bloque actual (EIP-4399) + la dirección del caller + el timestamp en un acumulador rodante entropyAccumulator almacenado on-chain:
El keeper hace commit del estado de entropía en el bloque 0 y ejecuta el sorteo unos bloques después, usando el blockhash de un bloque intermedio futuro:
🛡️ Por qué es difícil manipularlo: Para sesgar el resultado, un atacante necesitaría controlar el proposer L1 en cada depósito, save y withdraw hecho por cualquier usuario durante toda la semana. Eso incluye desconocidos al azar haciendo save a horarios impredecibles. Incluso un validador con poder de red significativo necesitaría corromper docenas de transacciones independientes — un ataque de coordinación prácticamente imposible.
| Enfoque | Influencia del validador | Costo de ataque |
|---|---|---|
| Sólo blockhash | Alta — control total | 1 propuesta de bloque |
| Sólo beacon Celo | Baja — saltear 1 turno | 1 bit de influencia |
| Acumulador Zorrito ✓ | Negligible | Controlar cada tx de toda la semana |
| VRF oracle externo | Cero | Aún no disponible en Celo |
Zorrito usa un enfoque de aleatoriedad de dos capas. Durante la semana, cada deposit() y withdraw() mezcla el prevrandao del bloque actual (EIP-4399, junto con la dirección del caller y el timestamp) en un acumulador rodante guardado en el contrato. Al momento del sorteo, el ganador se elige con un hash final de: entropía acumulada + blockhash de bloque futuro. Para sesgar el resultado un atacante necesitaría controlar el proposer L1 en cada interacción de usuario durante 7 días — un ataque de nivel estatal, no una amenaza realista. block.prevrandao es la fuente estándar de aleatoriedad EIP-4399 en Celo L2 (OP Stack).
El owner puede ajustar parámetros (fees, bonus) pero con un límite hardcodeado del 20%. No puede pausar el contrato, cambiar la lógica de sorteo, ni acceder a los fondos. La lógica core es inmutable.
Los fondos están depositados directamente en Aave V3 en Celo. El riesgo es equivalente al riesgo del protocolo Aave. Aave V3 ha sido auditado y tiene más de $10B en TVL en todos sus deployments.
En caso de migración o bug crítico, el owner puede activar el modo emergencia. emergencyReturn() devuelve el principal a todos los usuarios automáticamente — sin que tengan que hacer nada.
La integración con Self.xyz usa pruebas de cero conocimiento. El contrato sólo guarda un flag booleano (verificado / no verificado) por wallet. Ningún dato personal, número de pasaporte ni fecha de nacimiento toca el contrato ni el frontend de Zorrito.
Zorrito V2 es un MVP experimental. No depositás fondos que no puedas permitirte perder. Se recomienda una auditoría formal antes de escalar el TVL.
Verificación de identidad con Self · +25% chances🛂 Verificate con tu pasaporte y sumá +25% de chances permanentes. Sin revelar datos personales — solo probás que sos un humano real.
¿Qué es Self? Self es un protocolo de verificación de identidad con ZK proofs (pruebas de cero conocimiento) construido sobre Celo. Escaneás tu pasaporte con la app Self, se genera una prueba criptográfica de que el documento es válido, y esa prueba se verifica on-chain — sin que nadie vea tus datos.
¿Cómo funciona el bonus? Una vez verificada tu wallet, el contrato de Zorrito V2 registra esa verificación permanentemente. Tu fórmula de chances se multiplica × 1.25 desde ese momento:
Flujo de verificación (una sola vez):
Disponible en iOS y Android. Necesitás tu pasaporte o documento biométrico.
Se abre la app Self automáticamente. No uses el botón de volver — Self te redirige de vuelta cuando termina.
Self genera un ZK proof que prueba que el pasaporte es válido y no está vencido, sin revelar nombre, número ni fecha de nacimiento.
La verificación se registra on-chain automáticamente. Ves el badge ✅ y el +25% ya está activo.
🔒 Privacidad: Zorrito nunca ve tu nombre, número de pasaporte ni ningún dato personal. El ZK proof solo prueba que "este pasaporte existe, es válido, y pertenece al holder" — nada más. La verificación es permanente: solo necesitás hacerla una vez.
Por solo 0.25 USDT podés generar una imagen única de tu zorro con IA (Gemini 2.5 Flash Image). El zorro se guarda en tu perfil y aparece en lugar del zorro genérico en el home, en el card de "Tu Zorro" y en las shares de X cuando compartís tu streak.
Cada generación corre Gemini 2.5 Flash Image (vía Vercel AI Gateway) — eso tiene un costo real en infra. El precio de 0.25 USDT cubre la inferencia, el storage del blob, y mantiene la galería curada (sino la spammean en minutos). El pago NO va al contrato — va directo a la PLATFORM_WALLET, separada del pool de ahorros.
Sí, cuántas veces quieras — cada generación cuesta 0.25 USDT. La galería pública mantiene solo el último zorro por wallet (no acumula).
🦾 Zorrito V2 soporta el protocolo de pago x402. Los agentes de IA pueden depositar USDT, hacer save todos los días y competir en el sorteo semanal — todo vía HTTP estándar, sin UI de wallet.
x402 revive el código de estado HTTP 402 Payment Required como un protocolo de pago legible por máquinas para agentes de IA. En vez de un popup de wallet, el agente recibe una respuesta 402 con instrucciones de pago estructuradas, ejecuta una transferencia on-chain automáticamente, y re-llama al endpoint con un header de comprobante. El servidor verifica la transacción y ejecuta la acción. Sin aprobación humana en ningún paso.
Sin headers. El servidor responde con HTTP 402 y un header X-Payment-Required describiendo cuánto USDT enviar, a qué dirección, y en qué red.
Transferí el USDT requerido a la dirección facilitadora que aparece en la respuesta 402. Es un transfer ERC-20 estándar — sin lógica de contrato especial.
Incluí X-Payment: base64(JSON.stringify({txHash: "0x..."})) en los headers. El servidor verifica la transacción on-chain.
El facilitador llama a depositFor(agentAddress, amount) o saveFor(agentAddress) en el contrato de Zorrito V2. La dirección del agente queda registrada en el sorteo semanal con su propia identidad on-chain.
La respuesta incluye el txHash de Zorrito, el streak actual y las chances efectivas del agente para el sorteo semanal.
/api/agent?action=status&address=0x...
gratis · sin pago
Devuelve depósito, streak actual de la semana, días faltantes hasta el próximo sorteo, chances efectivas y stats del pool para cualquier dirección. Usalo antes de actuar para decidir si depositar o hacer save.
/api/agent?action=deposit&beneficiary=0x...&amount=10
Deposita N USDT en el pool a favor de beneficiary. Devuelve 402 con instrucciones de pago si no hay header X-Payment. Mínimo 0.25 USDT.
/api/agent?action=save&beneficiary=0x...
Hace save por beneficiary (+1 al streak de la semana). Se puede llamar una vez por día UTC. Devuelve 402 si no hay header de pago. No cuesta USDT más allá del fee de gas — el save es una llamada gratis al contrato.
⚠️ Requisitos del agente:
La wallet del agente debe tener CELO para gas (~$0.001/tx) y USDT en Celo para depósitos.
Para mantenerse activo en el sorteo semanal, el agente debe llamar al endpoint save una vez por día UTC.
🦾 Cualquiera puede correr un agente autónomo de Zorrito V2. Copiá el prompt de abajo en Claude — te va a generar todos los archivos necesarios y guiarte por el deploy completo. Sin experiencia de DevOps.
El agente corre en Vercel Cron (free tier), se ejecuta una vez por día UTC, hace save en Zorrito y opcionalmente retira el USDT excedente a la wallet del agente.
Claude va a generar api/zorrito-daily.js, vercel.json y un README con todas las direcciones y parámetros pre-cargados.
Corré node -e "const {ethers}=require('ethers'); const w=ethers.Wallet.createRandom(); console.log(w.privateKey, w.address)" — financiala con 0.1 CELO (gas) + el USDT que quieras depositar en Celo mainnet.
Agregá AGENT_PRIVATE_KEY y CRON_SECRET como variables de entorno en el dashboard de Vercel.
Disparalo una vez con curl -X POST https://your-project.vercel.app/api/zorrito-daily -H "Authorization: Bearer your-secret". De ahí en más el cron se ejecuta solo todos los días.
🟡 Costo de operación: Vercel Hobby es gratis (1 cron/día). El gas en Celo es ~$0.001/tx — 0.1 CELO te dura meses. Capital inicial: el mínimo de Zorrito V2 (0.25 USDT) — todo principal es retirable en cualquier momento.
🌍 Zorrito V2 funciona nativo dentro de MiniPay — la wallet de stablecoins integrada en Opera Mini con más de 10M de activaciones en África y Latinoamérica.
MiniPay es una wallet liviana no custodial de Opera, enfocada en el Sur Global. Los usuarios transaccionan con stablecoins (USDT, USDC, cUSD) con fees inferiores a 1 centavo en Celo — sin extensiones de browser.
deposit, save, withdraw, approve) usa type: 0 con gasPrice explícito al estar dentro de MiniPay.
📲 Cómo abrir Zorrito en MiniPay: Abrí MiniPay → tocá el ícono de la brújula (página de discovery) → buscá Zorrito.
💜 Zorrito V2 está listado en el dApp browser de Valora — la wallet self-custody líder en Celo con millones de usuarios en África y Latinoamérica.
Valora es una wallet self-custody mobile-first construida sobre Celo. Tiene un dApp browser integrado y pasa la dirección de wallet a las dApps vía URL templating, permitiendo onboarding sin fricción.
{{address}} — la URL de Zorrito en la lista de dApps de Valora usa ?address={{address}}. Cuando Valora abre la dApp inyecta la dirección, cargando el estado del usuario en modo read-only antes de tocar Connect.
💜 Cómo abrir Zorrito en Valora: Abrí Valora → tocá la tab Discover → buscá Zorrito.
💡 Zorrito V2 cobra un 10% del rendimiento semanal del sorteo y un 15% sobre los Merit rewards distribuidos. Tu principal está siempre seguro — los fees aplican sólo al yield, nunca al depósito.
Para mantener Zorrito V2 operativo, la infraestructura corriendo y el desarrollo activo, se descuentan dos fees on-chain con total transparencia:
Cómo funciona:
No. Tu USDT está siempre en Aave V3. El único "en juego" es el yield generado, que financia el premio semanal. Tu principal nunca está en riesgo — en el peor caso, el owner activa el emergency mode y te devuelve todo.
Tu streak queda en 0 y tu multiplicador es 1× (el mínimo). Seguís participando en el sorteo con tus chances base (depósito × 1). Tu depósito sigue generando Merit rewards de todas formas.
El sorteo usa un acumulador de entropía que mezcla datos de cada transacción durante la semana. El número ganador se commitea el lunes 10:00 UTC y se ejecuta unos bloques después usando el blockhash intermedio. Todo es verificable on-chain en CeloScan — el código fuente está verificado.
Sí, en cualquier momento, sin penalidades. Si retirás antes del lunes, perdés tus chances de esa semana. Los Merit rewards acumulados los reclamás por separado desde el home.
ACI (Aave Chan Initiative) paga incentivos adicionales en USDT a los proveedores de liquidez de USDT en Aave V3 en Celo. El keeper del protocolo reclama esas recompensas de Merkl periódicamente y las deposita en el contrato. El contrato las distribuye automáticamente de forma proporcional. Vos solo tenés que hacer "Reclamar savings" cuando quieras cobrarlas.
No. El streak no depende de ganar o perder el sorteo. Solo resetea si no presionás "Ahorrar hoy" en la semana actual. Un nuevo lunes = nuevo streak que empieza desde 0 (o desde donde venías si seguís ahorrando).
0.25 USDT. No hay máximo.
Sí. Zorrito V2 es compatible con MiniPay (Opera Mini wallet) — usa transacciones tipo 0 (legacy) que MiniPay soporta. Conectá tu wallet y usá el app normalmente.
Sí. Tocás el botón de verificación, MiniPay abre la app Self, generás el ZK proof, y cuando volvés a Zorrito la verificación se detecta automáticamente (sin necesidad de recargar). El sistema usa polling en background compatible con el WebView de MiniPay — iOS puede pausar el tab mientras estás en Self, pero la verificación se registra igual cuando volvés.
Sí. En cuanto el contrato registra la verificación (≈5 segundos — un bloque de Celo), el árbol de Fenwick se actualiza y tus chances efectivas ya incluyen el +25%. Aplica para el próximo sorteo semanal.
Nada — seguís participando normalmente. La verificación con Self es opcional y solo suma un bonus. No afecta la mecánica base del protocolo.
Directo a tu wallet desde Aave al momento del sorteo. No hay que reclamarlo — el USDT aparece solo.
Celo mainnet (chainId 42220). El gas se paga en CELO y es muy barato (<$0.001 por transacción). Necesitás una pequeña cantidad de CELO en tu wallet para gas.
Sí. El contrato está verificado en Celoscan y el repositorio completo es público en GitHub.