01
Las cajas
10.000 cajas selladas, un gato en cada una. Agita una para saber un rasgo, acaríciala, llévala a un duelo, enlázala con otra, o ábrela para siempre.
Leer el capítulo10.000 cajas selladas en una cadena pública. Hay un gato en cada una, y nadie puede leer cuál es: ni el titular, ni quienes la desplegaron, ni la cadena. Así es como funciona, y lo que cuesta mirar.
Parte 1
Qué es el juego, sus cinco mostradores en una página, quién puede estar dentro de una caja, y el formulario que se firma antes de jugar.
DO NOT OPEN es una colección de 10.000 NFT en Ethereum, construida con el cifrado de Zama. Cada token es una caja de cartón. Cuando se mintea una caja, el contrato sortea un número aleatorio para ella y mantiene ese número cifrado. El gato de dentro, su estado, sus cinco rasgos y su rareza se derivan todos de ese único número. Quién tiene cada caja también está cifrado.
Cifrado no significa aquí escondido detrás de un servidor o revelado más tarde desde una lista que alguien preparó. El número es un texto cifrado en la cadena desde el momento en que existe. El contrato todavía puede calcular con él: compararlo, recortarle un trozo, sumarle algo. Lo hace sin descifrarlo nunca, que es para lo que sirve el cifrado totalmente homomórfico.
Así que el juego va de lo que eliges averiguar, y lo que eso te cuesta. Agita una caja y aprendes una cosa sobre ella, en privado. Ábrela y todos lo aprenden todo, para siempre.
El juego tiene cinco mostradores. Una regla los separa: lo que toca a una caja está cifrado, lo que toca a una rata no. El dinero pasa de un lado a otro en la casa de cambio, y el importe se ve en la frontera.
01
10.000 cajas selladas, un gato en cada una. Agita una para saber un rasgo, acaríciala, llévala a un duelo, enlázala con otra, o ábrela para siempre.
Leer el capítulo02
El dinero del juego. Cada caja recibe una bolsa de bienvenida y ronronea unas cuantas al día; se las das a tu gato hasta que engorda, o enferma.
Leer el capítulo03
ETH, USDC y CROQ, y sus gemelos sellados cUSDC y cCROQ: di qué entregas y qué quieres. Allí se venden también los créditos de descifrado.
Leer el capítulo04
Dibuja una rata: una al azar, gratis y sin fin, o una a partir de tus palabras, bocetada y luego modelada en 3D por la IA.
Leer el capítulo05
Adopta una rata del estudio como NFT: gana 3 croquetas al día y olfatea las cajas por ti.
Leer el capítuloCada caja guarda uno de estos. Diez razas, del atigrado de siempre al glitch que casi nunca aparece; cuatro estados, solo uno bien despierto; y algunas sorpresas de regalo. Gira la plataforma y saluda. Y luego los que fabricas tú mismo a base de croquetas, del flaco al enorme, hasta el enfermo.
1 / 10
Más o menos 1 caja de cada 5
El clásico. Rayas, opiniones firmes y la certeza de que tu silla es suya.
Las probabilidades bajo cada gato salen directamente de las tablas del juego. Cómo una caja acaba en uno de ellos está en la sección siguiente.
La primera vez que conectas un wallet, el juego te entrega un descargo, el formulario DNO-1: las condiciones de juego, ocho cláusulas breves. Dicen claramente en qué te metes. Los contratos son software experimental: nadie los ha auditado, y un fallo, una vulnerabilidad o un hackeo podría hacerte perder lo que pongas, sin que los creadores sean responsables, en la medida en que la ley lo permita. La web es solo una ventana: tus cajas, tus gatos y tus saldos viven on-chain, así que si la web se rompe, no pierdes nada. Nadie guarda tu dinero por ti, nada se reembolsa y nada de esto es una inversión.
Rubricas cada cláusula, con un clic, y luego firmas con tu wallet. La firma es gratuita y no envía ninguna transacción: tu wallet muestra un mensaje legible que nombra tu dirección, la versión de las condiciones y una huella del texto completo en inglés. Las traducciones sirven para leer; lo que firmas es el texto en inglés. La firma se guarda como constancia de tu aceptación, en el servidor del juego cuando responde, y siempre en tu navegador. Sin wallet no se pide nada: puedes recorrer toda la web, y el formulario solo aparece cuando se conecta un wallet que aún no lo ha firmado. Puedes cerrarlo para seguir mirando, o cambiar a otro wallet desde él; cualquier acción que pidas después (un mint, una sacudida, una comida) lo trae de vuelta hasta que esté firmado.
Cada wallet nuevo firma una vez, y una nueva versión de las condiciones se vuelve a firmar antes de seguir jugando. Para releer el formulario y ver tu firma, abre el menú y elige Condiciones de juego. En la red de pruebas no se firma nada: el formulario espera a mainnet, y un aviso dice en su lugar lo que conserva una actualización de los contratos (tus puntos, tu lugar en la whitelist, tu pase de X).
Parte 2
Cómo un gato se mantiene en secreto en una cadena pública: la semilla, los titulares ocultos, quién puede leer qué, cada acción, y cómo sale un valor del cifrado.
Una caja guarda una sola semilla de 64 bits. Sus bits se cortan en siete campos. Dieciséis deciden si el gato está vivo, dormido, es un fantasma o cuántico. Cinco bytes son los cinco rasgos. El último byte solo cambia el aspecto del gato.
0x????????????????
Bits 0 a 15. Dieciséis bits deciden el estado: vivo 70%, dormido 20%, fantasma 8.0%, cuántico 2.0%. La comprobación de vida los compara con 45.875 bajo cifrado y publica la respuesta de un bit. Una agitada nunca puede devolver estos bits.
En la cadena se queda así: un texto cifrado que parece ruido. El contrato calcula sobre él sin descifrarlo.
Guardar un solo número cifrado en lugar de ocho hace que mintear salga barato. Todo lo demás se calcula a partir de él cuando una mecánica lo necesita: bajo cifrado mientras la caja está sellada, en claro una vez abierta. La app lee una semilla exactamente igual que el contrato, así que el gato que ves es el gato que guarda la cadena.
La puntuación de rareza es una suma ponderada: tres veces la tirada de raza, la tirada de humor, dos veces la tirada de accesorio, la cosa rota, la habitación, más una bonificación por el estado. Un gato cuántico empieza con 1.000 puntos de ventaja. La puntuación máxima posible es 3040.
El propietario de cada caja está cifrado, como su semilla. No es así como suelen funcionar los NFT: un NFT corriente dice públicamente quién es su dueño. Aquí nada lo dice. Nadie puede ver quién tiene una caja, ni contar las cajas de nadie. La colección sigue un estándar nuevo escrito para esto, el ERC-721 confidencial.
Enviar una caja nunca falla por quién la tiene. Si la tienes, se mueve; si no, no pasa nada. En los dos casos el remitente y el destinatario reciben un recibo cifrado que solo ellos pueden leer, que dice si la caja se movió, y todos los demás ven una transferencia que puede haber ocurrido o no. Tus propias cajas las encuentras igual: la app lee los recibos que te nombran y los descifra, con una firma por visita. Eso es lo que hace Mostrar mis cajas.
El minteo se basa en la misma idea. Se paga solo en cUSDC, y tu navegador cifra cuántas cajas quieres. También eliges entre cuántos ids de token esconder ese número, de 1 a 10, y esa elección es pública. Los primeros ids, hasta tu cantidad, son tuyos; los demás son cajas vacías que no son de nadie, y desde fuera unas y otras se ven iguales. Más ids esconden mejor la cantidad y cuestan más gas. Un minteo que superaría el tope, o que tu saldo de cUSDC no cubre, no consigue nada y no paga nada.
El número de cajas vendidas es un contador cifrado, con un tope de 9000 bajo cifrado: de las 10.000 cajas, las otras 1000 se guardan para los regalos de la whitelist, minteadas gratis cuando un wallet sentado recoge su regalo, nunca vendidas. Solo se anuncian hitos de la venta: 100, 500, 1000, 2500, 5000, 7500, 9000, y el último significa agotado. Las cajas regaladas no cuentan en ninguno. Cada minteo hace pública una sola respuesta de sí o no, si se alcanzó el siguiente hito, y cualquiera puede anunciarlo.
Algunas cosas siguen a la vista, a propósito. Un minteo muestra la dirección del comprador y cuántos ids creó, lo que pone un límite superior a lo que compró. Un intento de transferencia muestra quién la envió y a quién, como un quizás. Y una acción que tiene que hacerse pública (una apertura, una comprobación de vida, una caja puesta en duelo, o un duelo o un entrelazado que sale adelante) muestra que quien la lanzó tenía esa caja en ese momento. Un intento de alguien que no la tenía se resuelve como rechazado y no muestra nada de la caja. Las croquetas añaden una más: la app solo alimenta a las cajas que tienes, así que una comida, cuyo evento nombra a quien la sirve, muestra una caja que tienes, aunque el contrato trate igual la comida de un desconocido. Las reclamaciones no: la app siempre reclama por filas enteras de diez números de caja, los tuyos entre otros.
Por eso también la clasificación solo ordena gatos abiertos, y a los jugadores que los abrieron: una apertura publica quién la hizo, mientras que quién tiene una caja sellada sigue oculto.
Uno de esos hechos públicos llega más lejos. Una vez que una acción ha mostrado que una dirección tenía una caja, la siguiente transferencia de esa caja desde esa dirección es real con seguridad, no un quizás, así que se puede seguir la caja hasta su siguiente titular, y desde ahí más allá. Cuando regalas una caja, puedes marcar «Enviar 3 señuelos con ella»: tres transferencias más de la misma caja a direcciones al azar, que no mueven nada pero parecen la real, enviadas en un orden aleatorio con ella. Así nadie puede saber cuál movió la caja, ni si alguna lo hizo. Cada una cuesta gas. Sin señuelos, mantén una caja fuera de la vista recibiéndola, o moviéndola, en una dirección nueva que nunca uses para probar nada.
Cada texto cifrado tiene una lista de acceso. Para la semilla, esa lista tiene una entrada: el contrato. Ningún titular se añade nunca, porque una dirección de la lista podría pedir al servicio de claves que descifrara la semilla directamente y saltarse el juego.
| Dato | El titular | Todos los demás |
|---|---|---|
| Quién tiene una caja | Sí, por sus recibos | No |
| Cuántas cajas tiene una cuenta | Sí, para su propia cuenta | No |
| Cuántas cajas se han vendido | Nadie. Solo se anuncian hitos | |
| La semilla, el estado, la puntuación | No | No |
| Un rasgo por agitada | Sí, gratis | Sí, pagando |
| Qué rasgo eligió una agitada | Solo quien agitó | |
| Si está vivo | Todos, si el titular lo pide. Un bit, una vez por caja | |
| Quién ganó un duelo, y un rasgo del perdedor | Todos | |
| El rasgo del ganador en un duelo | No | No |
| Cuántas veces fue acariciado, y cuántas comidas comió | Nadie. Los intentos son públicos, no si contaron | |
| Cuánto afecto ganó con ello | No | No |
Dos consecuencias son deliberadas. Un titular que agita lo suficiente aprende los cinco rasgos: una agitada muestra uno de cinco al azar, así que unas once los cubren. Lo que queda oculto incluso para el titular es el estado, que vale hasta un tercio de la puntuación, y el afecto. Y los duelos filtran orden: cada uno publica cuál de dos cajas puntúa más alto. Poner una caja en duelo también muestra que la tienes: así el estante de duelos solo lleva cajas que alguien tiene. Ese es el precio del duelo.
| Acción | Quién | Coste | Qué se hace público |
|---|---|---|---|
| Mintear | Cualquiera, escondiendo cuántas entre 1 y 10 ids | 5 cUSDC por caja | El comprador y cuántos ids, no cuántos son reales |
| Agitar | El titular | Solo gas | Que alguien agitó, no si tiene la caja |
| Agitada de pago (o el olfato de una rata) | Cualquiera | 2,5 cUSDC, el 70 % espera en la caja a su titular | Que alguien pagó por agitar |
| Cobrar lo ganado con agitadas | Cualquiera, por las cajas que tiene | Solo gas | Diez números seguidos, no cuáles ni cuánto |
| Acariciar | Cualquiera | 0.5 cUSDC | Que alguien lo acarició, no si contó ni lo que ganó |
| Comprobación de vida | El titular, una vez | Solo gas | Un bit, y que quien lo pidió tenía la caja |
| Entrelazar | Ambos titulares | Solo gas | El enlace, y que ambos tenían sus cajas. Abrir una caja abre entonces las dos |
| Duelo | El titular la pone en juego, cualquier titular la acepta | Solo gas | Que el retador tiene la caja, luego quién ganó y un rasgo del perdedor, o un duelo nulo |
| Abrir | El titular | 1 cUSDC | Todo, de forma permanente, y quién la abrió |
| Dar croquetas | El titular | Hasta 1000 croquetas al día, todas comidas | Quién alimentó a qué gato (la app solo alimenta a los tuyos), no si contó ni lo que contenía |
| Reclamar croquetas | Cualquiera | Solo gas | Diez números seguidos, no cuáles son tuyos ni cuánto |
| Pesar un gato abierto | Cualquiera | Solo gas | Su peso, su complexión, si está enfermo |
Acariciar añade una cantidad oculta entre 0 y 3 a un contador oculto, y nada en absoluto si la caricia no se pagó. Así que las caricias que cualquiera ve en la cadena no dicen nada del contador, ni siquiera cuántas contaron. Por encima de 10, el accesorio se vuelve de oro cuando se abre la caja, y un gato sin accesorio recibe un collar con cascabel de oro.
Todos los precios están en cUSDC, el USDC confidencial de Zama: nadie más que tú puede leer tu saldo ni seguir tus pagos, y el importe que pagaste está cifrado como lo demás. Un pago en cUSDC no puede fallar on-chain: un saldo corto simplemente mueve 0, y la acción entonces no hace nada. Un minteo no consigue cajas, una agitada de pago lee «no es tuya», una caricia no añade nada, una apertura se rechaza. Pagar desde USDC normal significa convertir antes el precio exacto a cUSDC, en público, y en un minteo ese importe delata la cantidad. Blindar un importe redondo con antelación, en la casa de cambio, no delata nada.
Los duelos tienen su propio ranking, en la pestaña Duelos de la clasificación: cajas, no jugadores, por duelos ganados y luego por menos derrotas. Las tres primeras llevan una escarapela prendida en el frente de su caja, de oro, plata y bronce, como en una exposición felina. Una caja puede subir al podio y seguir sellada: el ranking solo usa los ganadores y perdedores que cada duelo ya hace públicos, nunca quién tiene la caja.
Hay dos salidas del cifrado. Un descifrado privado vuelve a cifrar un valor para una persona, que debe estar en su lista de acceso. Un descifrado público publica un valor con firmas de las partes que comparten la clave, y el contrato verifica esas firmas antes de creerse nada.
El contrato nunca recibe un callback. Una revelación es una petición en la cadena, un descifrado fuera de la cadena, y una segunda transacción que trae la prueba de vuelta. Cualquiera puede enviar esa segunda transacción. Cada petición comprueba además, bajo cifrado, que quien la hace tiene la caja; ese bit se descifra con lo demás, y un no resuelve la petición como rechazada, con ceros en lugar de los valores de la caja.
Una petición, un descifrado y una segunda transacción. Una petición de alguien que no tiene la caja no abre nada ni muestra nada.
En este protocolo un permiso de acceso no se puede revocar. Un diseño que pusiera al titular en la lista de acceso de la semilla nunca podría quitar de ella al vendedor. Este no pone nunca a nadie, así que una venta no tiene nada que deshacer en la semilla. Lo que cambia de manos es el propietario cifrado, junto con lo que espera en la caja: lo ganado con agitadas de pago y las croquetas van con ella.
Si compras una caja sellada, da por hecho que el vendedor conoce sus cinco rasgos. Unas cuantas agitadas de pago antes de comprar lo equilibran. Y una transferencia que te nombra es solo un quizás hasta que descifras su recibo: Mostrar mis cajas lo hace por ti.
Parte 3
Cada comisión y adónde va, la casa de cambio y sus cinco tokens, y las croquetas que engordan a un gato.
Todo en el juego tiene precio en USDC, una stablecoin en dólares, y casi todo se paga en cUSDC, su forma cifrada: nadie más que tú puede leer tu saldo ni seguir tus pagos. Aquí está cada tarifa, quién la recibe y para qué sirve.
Tesorería
70 % Titular de la caja30 % Tesorería
Tesorería
Tesorería
paga
| Lo que pagas | Precio | Adónde va |
|---|---|---|
| Mintear una caja | 5 USDC por caja | La tesorería de la colección |
| Abrir una caja | 1 USDC | La tesorería de la colección |
| Acariciar a un gato | 0,5 USDC | La tesorería de la colección |
| Agitar la caja de otro, o mandar a tu rata a olfatearla | 2,5 USDC | El 70 % para quien tiene la caja, el 30 % para la tesorería. Un id vacío no tiene titular: muestra igualmente un rasgo, y el 70 % también va a la tesorería. Una rata de poder 1 recupera 0,75 de la tesorería, en secreto |
| Créditos de descifrado, más allá de los gratuitos | 0.01 USDC cada uno | La tesorería de la colección |
| Comprar USDC con ETH en el sitio | El 0,3 % del ETH | La tesorería de la colección |
| Un pack del estudio (bocetos y modelos 3D con IA) | 2 USDC (Starter) o 8 USDC (Litter) | La tesorería, que paga con él los servicios de IA |
| Adoptar una rata del estudio | 1 USDC, 3 USDC por una rata de IA | La tesorería |
| Una comida de croquetas | Croquetas, no dólares | El 20 % a la tesorería, el 20 % se quema, el 60 % vuelve al ronroneo diario |
| Agitar tu propia caja, la comprobación de vida, entrelazar, los duelos, enviar una caja | Gratis | Solo el gas de la red, como cualquier transacción |
Por qué los descifrados cuestan algo: leer algo cifrado le da trabajo a la red de Zama. Cada una de las partes que comparten la clave de descifrado tiene que intervenir, y Zama lo cobra, por cada valor leído, desde una décima de céntimo hasta diez céntimos según el plan. Verificar la prueba que acompaña a un valor que cifra tu navegador cuesta cinco veces más. Se lo cobra a la colección, no a ti. Agitar, encontrar tus cajas, leer tu propio saldo, el resultado de un duelo: cada uno es un descifrado. Mintear, alimentar a un gato o enviar croquetas: cada uno cifra un valor.
Por eso cada cartera tiene 25 unidades gratis al día, pagadas por la colección, y vuelven a medianoche UTC; una cartera que aún no ha jugado tiene 16, lo justo para un primer minteo. Leer un valor es una unidad: una agitada usa 2, y encontrar las cajas de un minteo usa una por cada número de caja entre los que se escondió. Cifrar un valor, como la cantidad de un minteo o una comida, cuesta 5. Lo que tu navegador ya ha leído una vez, lo recuerda, y nunca se vuelve a contar. Pasadas las gratuitas, gastas créditos, uno por unidad, que se compran en la casa de cambio. Su precio sigue lo que Zama le cobra a la colección en dólares, no el precio del token de Zama, así que no se mueve con el mercado. Se pagan en USDC sin cifrar a propósito: un saldo que no alcanza cancela la compra, mientras que un pago en cUSDC no movería nada sin avisar. Hacer público un valor, para abrir una caja, resolver un duelo o anunciar un hito, cuesta 1 unidad por valor, contado a la billetera que lo pide primero: una apertura usa de 2 a 5, un duelo 1 para publicarlo y 5 para resolverlo. Pedido otra vez, por quien sea, es gratis. Así nadie puede publicar duelos en bucle a costa de la colección. En el juego, el contador Descifrados de arriba a la derecha muestra lo que queda (gratuitos del día, más créditos): parpadea cuando te quedan pocos, se pone rojo a cero, y un clic abre la casa de cambio para comprar más.
La tesorería paga lo que mantiene el juego en marcha: las tarifas de Zama por cada unidad gratuita, y los servidores que siguen la cadena para que el sitio vaya rápido. El resto es para el proyecto. Nadie puede leer los cUSDC que recibe, ni siquiera el propietario: leídos después de cada pago, delatarían la cantidad oculta de cada minteo, y por tanto quién compró qué cajas. El propietario los retira como mucho una vez cada 7 días, así que solo conoce sumas semanales. La tarifa de 1 USDC de una apertura espera a que la apertura se resuelva: pasa a la tesorería cuando la caja se abre, y vuelve a quien la abría si la caja entrelazada con ella la abrió antes.
El juego usa cinco tokens: ETH para el gas de la red, USDC y CROQ, a la vista, y cUSDC y cCROQ, el mismo dinero sellado. Un saldo a la vista es público, como el de cualquier token; uno sellado está cifrado y solo tú puedes leerlo. Para pasar de uno a otro, abre el menú y elige Casa de cambio: di qué entregas y qué quieres, y ella encuentra el camino y muestra cada coste antes de que firmes. El tipo y el número de transacciones quedan a la vista bajo el formulario; Detalles despliega la ruta, cada comisión y lo que se hace público. También lista lo que tienes; los saldos sellados se descifran cuando lo pides, solo para ti, con una firma.
Normales: saldos públicos
rampa, 0,3 %
comprarpool de Uniswap, 1 %
vender
Los créditos de descifrado se compran solo con USDC normal.
blindar, sellar
desblindar, desellar
importes públicos en la frontera
Sellados: saldos cifrados
Algunos cambios se hacen en una transacción: comprar USDC con ETH (puede llegar sellado, como cUSDC), blindar USDC en cUSDC o desblindarlo, comprar o vender CROQ por USDC, sellar CROQ en cCROQ o desellarlo. Cualquier otro par encadena estos pasos: de ETH a cCROQ, por ejemplo, son tres. Cada paso es su propia transacción, firmadas una tras otra, y entre medias el dinero espera en tu wallet como USDC o CROQ a la vista. Si un paso no entrega nada, porque un saldo sellado menor que el importe no mueve nada, sin avisar, la casa de cambio se detiene y te dice dónde está tu dinero. El ETH solo se entrega, nunca se recibe.
Comprar USDC con ETH cuesta el 0,3 % del ETH, que se queda el sitio. Blindar y desblindar es gratis. Cada paso paga el gas de la red, como cualquier transacción. Un cambio en un pool puede salir a peor precio del anunciado si alguien opera antes: la tolerancia de slippage, 1 % salvo que la cambies (de 0,01 % a 50 %), es cuánto peor aceptas antes de que la transacción se anule sola, costando solo el gas. La casa de cambio también muestra el impacto en el precio, cuánto mueve tu propio cambio el precio del pool, y te avisa por encima del 2 %.
Qué se hace público: los tokens a la vista se mueven a la vista, así que cada cambio muestra sus importes, igual que cada paso entre a la vista y sellado. El importe que blindas o sellas es público, y el que desblindas o desellas también: se descifra en público para pagarlo, por eso esos pasos tardan un minuto más. Una vez sellado tu dinero, lo que hagas con él queda privado.
Los créditos de descifrado solo se compran en USDC en claro. Así que cuando quieres cUSDC, desde ETH o desde USDC, el bureau puede guardar una parte en claro: nada, 5 %, 10 % o 20 %, y recuerda tu elección. Desde ETH son dos compras en la rampa, una en claro y otra sellada, con la misma comisión; desde USDC, solo se protege el resto. El bureau muestra el USDC guardado y cuántos créditos compra como mínimo. Los créditos solo se compran en la oficina, en una ventanilla aparte a la izquierda del mostrador (bajo tus haberes en una pantalla estrecha), ya que se gastan en lugar de guardarse: eliges una cantidad, ves el precio y compras. Si falta USDC sin cifrar, te devuelve al mostrador para conseguirlo.
Las croquetas son el dinero del juego, y existen en dos formas. CROQ es un ERC-20 corriente con una oferta fija de 20.000.000: nada puede crear más, y no tiene decimales, así que un CROQ es una croqueta. Al ser corriente, cualquier mercado puede listarlo. cCROQ es la misma croqueta envuelta en un token confidencial (ERC-7984): los saldos y los importes de las transferencias están cifrados. El juego solo usa cCROQ.
Públicocada operación es pública
comprar
vender
envolver 1:1
desenvolver
importes públicos en la frontera
Cifrado
comidas, ronroneos, regalos
Toda la oferta se creó una sola vez, en el despliegue, y se repartió así:
Las croquetas llegan a los jugadores desde la Despensa, el contrato que lleva la economía. Cada caja comprada trae una bolsa de bienvenida de 100 la primera vez que se reclama por ella: una vez por caja, la tenga quien la tenga, así que una segunda cartera no gana nada. Después cada caja ronronea: cada día, una cantidad cifrada entre 0 y 4, multiplicada por 2 para una caja Vet Certified, que se recoge hasta 7 días de golpe. Un id vacío, de los que un minteo crea más allá de la cantidad comprada y que nadie tiene, no recibe bolsa ni ronroneo. Bolsas y ronroneos se pagan dentro de la caja, una reserva cifrada, y quien reclama recibe las reservas de las cajas que tiene, y nada por las demás. Así nadie puede gastar los días de otro titular. Una reclamación lista sus números de caja en público, así que la app nunca lista solo los tuyos: reclama por filas enteras de diez números (0 a 9, 10 a 19, etc.), siempre las mismas, una transacción por fila. Quien mire sabe como mucho que quizás tienes una de esas diez. El ronroneo se reduce a la mitad cada año, y la reserva paga una reclamación entera o nada. Nadie más que quien reclama ve cuánto le llegó.
Las ratas que adoptas en el estudio también ganan croquetas, pero no del Pantry: cada una recibe 3 CROQ normales al día de la despensa de las ratas, que se recogen desde «Mis ratas», 7 días como mucho entre dos recogidas. Normales, no confidenciales: el dueño de una rata es público, así que lo que gana también puede serlo. Esa despensa recibió 500.000 CROQ de la tesorería; la reserva del juego que alimenta las cajas no se toca.
reclamarbolsa de 100, luego 0–4 al día
60 % vuelve al ronroneo
comida, hasta 1000 al día
+ peso, oculto hasta la pesada
20 %
20 % de cada comida
Solo el titular alimenta a su gato: como mucho 2 comidas y 1000 croquetas al día, repartidas como quiera. Quién tiene el gato, cuántas comidas lleva hoy y la cantidad se comprueban todos bajo cifrado: una comida que supere los límites, o servida por alguien que no tiene el gato, mueve 0, sin avisar. Una oferta que supere lo que queda del día se recorta a ese resto. Tu navegador cifra la cantidad y el gato se lo come todo: su peso sube otro tanto, cifrado, y nadie puede leerlo mientras la caja esté sellada, ni siquiera el titular. Las croquetas se reparten: el 20 % a la tesorería de la colección, el 60 % vuelve a la reserva que paga el ronroneo, el 20 % se quema. Nadie puede leer la parte de la tesorería entre dos cobros, ni siquiera la tesorería: leída después de cada comida, diría quién alimentó a qué gato y cuánto. Se le envía como mucho una vez cada 7 días. Si tienes menos de lo que ofreces, la comida no mueve nada, sin error ni pista. La comida en sí es pública y nombra a quien la sirve, y la app solo alimenta a los gatos que tienes, así que una comida muestra que tienes ese gato.
Una vez abierta la caja, cualquiera puede pesar al gato: su peso se descifra en público y fija su complexión. Cada gato tiene además su propia tolerancia, sacada de su semilla. Nadie puede conocerla mientras la semilla está cifrada, y cuando se hace pública el gato ya dejó de comer. Pesado en su tolerancia o por encima, el gato está enfermo: un trofeo ultra raro, nunca una muerte.
| Complexión | Croquetas comidas | Días al tope diario | Puntuación |
|---|---|---|---|
| Flaco | 0 – 0 | – | +0 |
| Normal | 1 – 9999 | 1 | +0 |
| Rellenito | 10.000 – 49.999 | 10 | +100 |
| Gordo | 50.000 – 149.999 | 50 | +300 |
| Enorme | 150.000+ | 150 | +700 |
| Enfermo (un límite propio) | 300.000 – 600.000 | 300 – 600 | +2000 |
El peso sigue a la caja, y su reserva también. Un comprador no sabe nada de sus comidas: ni cuántas, ni cuánto, ni lo cerca que está de su tolerancia. El vendedor al menos sabe lo que sirvió él mismo. El mercado pone precio al resto.
Nadie puede leer un peso antes de abrir la caja, ni siquiera el titular, por la misma razón por la que nadie tiene nunca acceso a una semilla: un permiso de acceso no se puede retirar, así que un antiguo titular seguiría leyéndolo después de una venta. Lo que sigue en secreto, y lo que no:
| Dato | Quién puede leerlo |
|---|---|
| Tu saldo de cCROQ | Tú |
| El importe de una transferencia, una comida o una reclamación | Las dos partes |
| El peso de un gato | Nadie mientras la caja está sellada. Todos una vez pesado el gato |
| Cuánto se ha quemado | Nadie |
| Quién intentó alimentar a qué gato | Todo el mundo, y como la app solo alimenta a tus gatos, que lo tienes. Si contó: solo quien alimentó |
| Quién reclamó, y para qué cajas | Todo el mundo, pero la app reclama diez números de caja seguidos cada vez, así que no cuáles son tuyos. Cuánto: solo esa persona |
| Cuánto pesa un gato abierto, y si está enfermo | Todos |
| Envolver, desenvolver, operaciones en el mercado | Todo el mundo, importes incluidos |
| La oferta total | Todo el mundo. Cuánto sigue circulando: nadie |
| La parte de la tesorería en las comidas | Nadie, ni siquiera la tesorería. Se cobra como mucho una vez cada 7 días |
No hay precio oficial. Su valor aparece de forma indirecta, en lo que se paga por un gato sellado bien pesado.
El mercado público es un pool de Uniswap donde el CROQ se cambia por USDC. La colección solo puso croquetas, ningún dólar: se venden desde 0,001 USDC cada una hacia arriba, y nunca por menos, porque vender solo devuelve los USDC que trajeron los compradores. Mientras nadie haya comprado, no hay contra qué vender, y la casa de cambio lo dice. Las croquetas del pool están bloqueadas en él para siempre: nadie puede sacarlas, ni siquiera la colección. Cada cambio paga al pool una comisión del 1 %, que va a la tesorería de la colección.
Parte 4
Los otros residentes del depósito: ratas que dibujas gratis o con IA y adoptas como NFT. Ganan croquetas, olfatean las cajas y las protegen o las atacan con un poder secreto.
El estudio es una página aparte, abierta a todos, con wallet o sin él: allí dibujas tú mismo una de las ratas del depósito. Ratas, no gatos, a propósito: los gatos solo salen de las cajas, así que nada de lo que se dibuja en el estudio puede pasar por uno de ellos. El botón Otra rata le pide una rata al azar al generador de ratas del juego, en tu navegador: procedural, gratis, sin fin y en 3D, y se gira arrastrando. Dientes de conejo, orejas grandes, un sombrero o un trozo de queso, según caiga el seed. Sin IA y nada en la cadena.
Tu navegador
Estudio e IA
En la cadena
Dibujar una rata a partir de tus palabras pasa por servicios de IA de pago, así que se vende antes, en packs comprados en la cadena en USDC normal al contrato StudioPacks: el pack Starter, 2 USDC por 10 bocetos y un modelo 3D, y el pack Litter, 8 USDC por 50 bocetos y cinco modelos 3D. El pago va directo al tesoro de la colección y las unidades no caducan. Una compra es pública, como cualquier pago en USDC normal; lo que dibujas con ella no va a la cadena.
Un boceto es una imagen de dibujos animados de tu rata, dibujada por la IA a partir de lo que escribiste dentro de un estilo fijo, así que siempre sale con el aspecto del depósito. Es barato: repite hasta que la rata te guste. Un modelo 3D convierte uno de tus bocetos en una malla que la página dibuja con el sombreado de dibujos animados y el contorno del juego, respirando despacio en la plataforma. Tarda uno o dos minutos. Un interruptor arriba de la página pasa de las ratas al azar, gratis, al escritorio de la IA. Un boceto aparece en grande en el tablero de dibujo, y desde ahí lo pasas a 3D. Mientras la IA trabaja, una rata corre en su rueda sobre una barra de progreso; puedes salir de la página, el trabajo sigue y la barra vuelve donde estaba cuando regresas.
Para gastar tus unidades, entra una vez con tu wallet: una firma gratuita, sin transacción, que le dice al estudio qué unidades son tuyas. El sitio gasta una unidad antes de llamar a la IA y la devuelve si el servicio falla, hasta tres veces al día: después, o si el filtro de seguridad de la IA rechaza la imagen, la unidad se gasta, porque el servicio se pagó. Un prompt tiene de 3 a 240 caracteres; los personajes con licencia y el contenido adulto se rechazan antes de gastar nada. Cada día el estudio se detiene en un tope de gasto: pasado, vuelve mañana.
En la testnet el USDC es dinero de mentira mientras que la IA cuesta dinero real, así que allí el estudio de IA puede estar cerrado o reservado a una lista de testers (la pestaña «Dibujar con IA» aparece entonces en gris, y un tester la abre firmando con su wallet); las ratas al azar siguen siendo gratis en todas partes.
Una rata del estudio que te guste se puede adoptar: acuñada como NFT tuyo en el contrato Rats, pagada en USDC normal directamente a la tesorería de la colección. Una rata al azar cuesta 1 USDC y se adopta por su semilla, cada semilla una sola vez: su aspecto se vuelve a calcular a partir de ese número allí donde se muestra, así que no hay nada más que guardar. Una rata IA cuesta 3 USDC: su imagen se guarda antes en Arweave para siempre, como las de los gatos, y su modelo 3D lo guarda el servidor del juego.
Nunca habrá más de 700 ratas al azar y 300 ratas IA, fijadas para siempre en el contrato, y una wallet adopta 5 como mucho, de los dos tipos juntos. Aun así se le puede regalar o vender una rata por encima de eso. El estudio y la página de inicio muestran cuántas quedan.
Una rata es todo lo que una caja no es, a propósito: los gatos son los residentes secretos del depósito, las ratas los que van a cara descubierta. Quién tiene una rata y cómo es son públicos, así que funciona como cualquier NFT. Solo guarda un secreto: su poder, más abajo.
| Una caja | Una rata | |
|---|---|---|
| Qué es | Una caja sellada con un gato que nadie ve | Una rata de dibujos animados, a la vista de todos |
| Quién la tiene | Cifrado: solo lo sabe quien la tiene | Público, como cualquier NFT |
| De qué está hecha | Una semilla cifrada, legible solo por el contrato | Su semilla, o su imagen en Arweave, en claro |
| Su secreto | El gato, quién la tiene, lo que gana | Su poder (1, 2 o 3), que solo lee quien la tiene |
| Precio | 5 cUSDC, pago cifrado | 1 USDC, 3 una rata IA, pago en claro |
| Cuántas | 10.000; cuántas se han vendido está cifrado | 700 al azar y 300 IA, 5 por wallet |
| Gana | Una bolsa de 100 cCROQ, luego de 0 a 4 al día, ocultas en la caja | 3 CROQ normales al día, para su dueño |
| Wallets y mercados | Necesita un mercado hecho para el ERC-721 confidencial, como el mercadillo | Un ERC-721 estándar: cualquier wallet o mercado la muestra |
Cada rata gana 3 CROQ normales al día desde el día en que se adoptó. Salen de la despensa de las ratas, el RatPantry, que recibió 500.000 CROQ de la tesorería, y no del Pantry que alimenta las cajas: las ratas nunca tocan la reserva del juego. Recógelas desde «Mis ratas» en el juego, para todas tus ratas a la vez. Una rata guarda 7 días como mucho entre dos recogidas; si la dejas sola más tiempo, no gana nada más. Si la despensa se vacía, la recogida falla y los días esperan; cuando le queda poco, paga lo que queda. Las croquetas son normales porque el dueño de una rata es público de todos modos: no hay nada que ocultar en lo que gana. Selladas en la casa de cambio, pueden alimentar a un gato.
Cada rata recibe un poder secreto al adoptarla, aleatoria o IA, comprada o regalada: 1, 2 o 3, sorteado bajo cifrado, así que nadie, ni el equipo, puede elegirlo ni preverlo. Solo quien la tiene puede leerlo: en «Mis ratas», pulsa Leerlo. Si compras una rata, la primera lectura pide una vez a tu wallet el derecho a leerlo; quien te la vendió sigue sabiendo cuál era.
| Poder | Olfatear una caja | Puesta en una caja |
|---|---|---|
| 1 · Buen olfato 55 ratas de cada 100 | 2,5 cUSDC, 0,75 devueltos en secreto | Nada: un farol |
| 2 · Bloqueador de un rasgo 30 ratas de cada 100 | 2,5 cUSDC | Bloquea el rasgo que elijas |
| 3 · Gran bloqueador 15 ratas de cada 100 | 2,5 cUSDC | Bloquea los cinco rasgos |
Una rata también olfatea. En «Mis ratas», escribe el número de una caja sellada que no tengas y pulsa Olfatear: tu rata te dice uno de sus rasgos, solo a ti. Es una agitada de pago, 2,5 cUSDC: el 70 % espera en la caja a quien la tiene, el 30 % va a la tesorería, y los demás solo ven que una rata olfateó esa caja. Una rata de poder 1 recupera 0,75 cUSDC de la tesorería, en secreto: nadie puede saber qué ratas olfatean más barato.
Así ayuda una rata antes de una compra: unas cuantas olfateadas a una caja que piensas comprar, y sabes tanto de ella como el vendedor.
Una rata también puede ponerse en una caja sellada durante 3 días; después descansa 7 días antes de poder repetir. Escribe el número de la caja en «Mis ratas», elige el rasgo a bloquear (solo cuenta para una rata de poder 2) y ponla. Lo que hace depende de quién tiene la caja, y el contrato lo decide solo, en secreto:
| Dónde la pones | Durante 3 días | Quién lo nota |
|---|---|---|
| En una caja tuya | Los demás que la agitan u olfatean leen un rasgo falso en los rasgos bloqueados | Nadie: lo falso parece verdadero |
| En la caja de otra persona | Las agitadas de quien la tiene salen revueltas en los rasgos bloqueados | Quien la tiene, que alguien le bloquea. No quién |
| En cualquiera, con una rata de poder 1 | Nada | Nadie: parece igual que las demás |
En una de tus cajas, la protege. Quien pague por agitarla, o mande una rata a olfatearla, lee un rasgo falso en los rasgos que tu rata bloquea: siempre el mismo, así que parece verdadero. Tú sigues leyendo la verdad. Antes de una venta, guardas así para ti los mejores rasgos de tu caja.
En la caja de otra persona, la ataca. Cuando quien la tiene agita su propia caja, los rasgos que tu rata bloquea salen revueltos durante 3 días. Sabe que alguien le bloquea, nunca quién. Una caja protegida por una rata de poder 3 resiste los ataques.
Todas las ratas tienen el mismo botón, los mismos 3 días y el mismo descanso, así que la cadena solo muestra «la rata 12 se puso en la caja 340»: ni si protegió o atacó, ni su poder, ni el rasgo. Una rata de poder 1 puesta en una caja no hace nada: un farol perfecto. Los duelos no cambian: el rasgo que muestra quien pierde es siempre el verdadero.
Parte 5
Donde los jugadores se venden cajas, gatos y ratas: un precio en la etiqueta, o una oferta en sobre sellado que solo el comprador y el vendedor pueden leer.
El mercadillo está detrás del depósito, fuera de hora. Los jugadores se venden cajas selladas, gatos (cajas ya abiertas) y ratas, pagados en cUSDC. Se entra desde el menú: Mercadillo. Cada artículo cuelga bajo un toldo de rayas con su etiqueta de precio, y tres botones grandes esperan en la entrada: Mintear una caja lleva a la estantería para una nueva, Mintear una rata al estudio, y Vender a tu propio puesto.
Hay dos formas de comprar. La primera es el precio de la etiqueta, que es público, y va en dos pasos. Comprar retira el precio de tus cUSDC, todo o nada: lo que llega al mercado es el precio entero o cero, cifrado, así que tu saldo sigue sellado. Luego un solo bit, pagado o no, se descifra en público y vuelve a la cadena con su prueba, y el mercado liquida. Si pagaste y el artículo sigue como se puso a la venta, es tuyo. Si la compra de otro se liquidó antes, o el vendedor lo reetiquetó o lo recuperó, recibes exactamente lo que salió de tu wallet. Si tus cUSDC no cubrían el precio, no se tomó nada.
La segunda es una oferta secreta. Escribe una cantidad y pulsa Sellar: tu navegador la cifra, y el mercado la guarda en custodia. Solo tú y el vendedor podréis leerla; los demás solo ven que se hizo una oferta. El vendedor rompe los sellos, una firma para todas las ofertas de su puesto, y puede aceptar una en el acto: el artículo pasa a ti, lo custodiado al vendedor, y ese precio nunca se publica. Una oferta de un wallet que no podía cubrirla contiene cero, y el vendedor lo ve. Mientras no se acepte, puedes retirar tu oferta cuando quieras, incluso cuando el anuncio ya no esté. La figura de Cómo salen las cosas reproduce las dos formas, paso a paso.
| Al precio de la etiqueta | Con una oferta secreta | |
|---|---|---|
| El precio | Público, en la etiqueta | Sellado: solo tú y el vendedor lo leéis |
| Cómo va | Comprar, y luego un bit descifrado en público | Sellar, y luego el vendedor acepta cuando quiera |
| Si tus cUSDC no llegan | No se toma nada | La oferta contiene cero, y el vendedor lo ve |
| Si cambias de idea, o pierdes la carrera | Se te adelantaron, o el anuncio cambió: reembolso completo | Retirarla cuando quieras mientras no se acepte |
| Lo que ven todos | Que lo compraste, y el precio | Que se hizo una oferta, luego que lo compraste; nunca el precio |
Se venda como se venda un artículo, el 2,5 % del precio va al depósito y el resto al vendedor. El contrato nunca puede fijar esa parte por encima del 10 %.
Una caja se vende en el estado público en que se puso a la venta: sellada o abierta, entrelazada o no, revisada por el veterinario o no. Si eso cambia mientras está a la venta, por ejemplo si su pareja entrelazada se abre y la abre con ella, comprarla o aceptar una oferta por ella se rechaza, y una compra aún pendiente se reembolsa.
Una caja sellada en un puesto se puede seguir olfateando: una agitada de pago te dice uno de sus rasgos, solo a ti, como con cualquier caja. La parte de quien la tiene espera en la caja como siempre, y quien compre la caja se la lleva. Antes de comprar una caja sellada, da por hecho que el vendedor la ha agitado; unas cuantas olfateadas lo equilibran.
Para vender, pulsa Vender, elige una caja, un gato o una rata, y pon un precio. La página muestra lo que recibes una vez descontado el 2,5 % del depósito, y los compradores también pueden deslizarte ofertas selladas. Tus cajas solo las conoces tú, así que encontrarlas pide una firma para leer tus recibos, como hace Mostrar mis cajas.
Una rata es un NFT corriente: va al mercado y se pone a la venta en el acto. Una caja no es tan sencilla, porque nadie puede comprobar quién la tiene, ni el mercado. Así que va al mercado en una transferencia quizás, como cualquier regalo, y luego su llegada se descifra en público. Solo si llegó se abre el anuncio, de modo que solo quien tiene de verdad una caja puede venderla, y una vez que el mercado la tiene nadie más puede ponerla a la venta. Hasta entonces aparece como En camino.
Vender es un acto público: vender una caja muestra a todos que la tenías. Lo que hay dentro sigue sellado, para ti y para el comprador. Son públicos el vendedor de cada anuncio, su precio, el comprador de cada venta, y si cada comprador al precio de la etiqueta podía pagar. Los saldos, las cantidades de las ofertas y el precio de una venta por oferta nunca lo son.
Mientras un artículo está a la venta, Reetiquetar cambia su precio (las compras pendientes al precio anterior se reembolsan), y Recuperarlo lo trae de vuelta. Los compradores conservan sus ofertas selladas para retirarlas.
El mercadillo está abierto en Sepolia, con dólares de prueba. En la demo, el turno de noche tiene unos cuantos puestos, desliza una oferta secreta en todo lo que pongas a la venta, y acepta cualquier oferta de al menos el 70 % de tu precio.
Esta parte desaparece con mainnet.
El juego corre en Sepolia, la red de pruebas de Ethereum. Nada de aquí vale dinero. Los USDC son el token de prueba de Zama, gratis desde la ficha del wallet o la casa de cambio; el ETH para el gas sale de un faucet; el pool de croquetas solo existe para poder probar el mercado; y todos los precios de este manual son precios de prueba.
La lista blanca de mainnet tiene 1500 lugares, por orden de llegada: un lugar para cada jugador que lo reclama, o que conecta una cuenta de X en la página de embarque, hasta que no quede ninguno. Tus puntos: 3 por cada rival que vences en un duelo, 1 por cada rival al que te enfrentas, 2 por cada caja que abres, hasta 10 cajas. Una wallet vinculada a tu pase de embarque de X gana 5 puntos más, y 3 más aún cuando te unes al servidor de Discord y usas /board allí con el código de la página de embarque. Cada amigo que embarca con tu enlace de invitación suma 2 más, hasta 10 amigos, cuando su pase tiene un lugar y una wallet vinculada. Cada rival cuenta una vez, por muchas veces que os enfrentéis, y los duelos entre tus propias wallets no cuentan. Reclama tu lugar desde la pestaña Duelos de la clasificación firmando con tu wallet: es gratis, no envía ninguna transacción, y el juego solo sabe que tu dirección lo pide. Vuelve a firmar más tarde para actualizar tus puntos; se guardan los mejores que hayas tenido, aunque la red de pruebas vuelva a empezar. Los jugadores se ordenan por puntos; a igualdad de puntos, pasa primero quien reclamó antes.
Cada lugar viene con un regalo, fijado por tu puesto entre los jugadores sentados cuando la lista cierra. Los puestos 1 a 500 viajan en Primera clase: 100 a 500 cCROQ, una caja sellada y una rata. Hasta el puesto 1000, Business: 50 a 250 cCROQ y una caja. Hasta el puesto 1500, Turista: 20 a 100 cCROQ y una rata. Las croquetas se sortean bajo cifrado: solo tu wallet puede leer cuántas. La caja se mintea gratis para ti entre las cajas guardadas fuera de la venta, así que una venta agotada nunca vacía un regalo; la rata es gratuita, con su semilla sorteada. Ambas son públicas, como el primer titular de una caja tras un mint de una sola. Un regalo que nadie recoge nunca se mintea. El regalo se recoge en mainnet, en una transacción desde la misma pestaña Duelos, en los 30 días siguientes al cierre de la lista, con un wallet que reclamó su lugar: un lugar que solo tiene una cuenta de X no tiene wallet al que enviarlo.
Los contratos en Sepolia: