Do not open

Instructions de manutention

10 000 boîtes scellées sur une chaîne publique. Il y a un chat dans chacune, et personne ne peut lire lequel : ni le détenteur, ni les gens qui l'ont déployée, ni la chaîne. Voici comment ça marche, et ce qu'il en coûte de regarder.

Partie 1

Pour commencer

Ce qu'est le jeu, ses cinq guichets sur une page, qui peut se cacher dans une boîte, et le formulaire à signer avant de jouer.

  1. Ce qu'il y a dans une boîte
  2. Le dépôt en un coup d'œil
  3. Qui pourrait être dedans
  4. La décharge

Ce qu'il y a dans une boîte

DO NOT OPEN est une collection de 10 000 NFT sur Ethereum, construite avec le chiffrement de Zama. Chaque token est une boîte en carton. Quand une boîte est mintée, le contrat tire un nombre aléatoire pour elle et garde ce nombre chiffré. Le chat à l'intérieur, son état, ses cinq traits et sa rareté découlent tous de ce seul nombre. Qui détient chaque boîte est chiffré aussi.

Chiffré ne veut pas dire ici caché derrière un serveur ou révélé plus tard depuis une liste préparée par quelqu'un. Le nombre est un chiffré sur la chaîne dès l'instant où il existe. Le contrat peut quand même calculer avec : le comparer, en découper un morceau, lui ajouter quelque chose. Il le fait sans jamais le déchiffrer, c'est à ça que sert le chiffrement totalement homomorphe.

Le jeu consiste donc à choisir ce que vous voulez découvrir, et ce que ça vous coûte. Secouez une boîte et vous apprenez une chose sur elle, en privé. Ouvrez-la et tout le monde apprend tout, pour de bon.

Le dépôt en un coup d'œil

Le jeu a cinq guichets. Une règle les sépare : ce qui touche à une boîte est chiffré, ce qui touche à un rat ne l'est pas. L'argent passe de l'un à l'autre au bureau de change, et le montant se voit à la frontière.

01

Les boîtes

10 000 boîtes scellées, un chat dans chacune. Secouez-en une pour apprendre un trait, caressez-la, faites-la duelliser, liez-la à une autre, ou ouvrez-la pour de bon.

Coût5 cUSDC la boîte. Secouer la vôtre est gratuit

SecretChiffré Qui détient une boîte, le chat dedans, combien sont vendues.

Lire le chapitre

02

Croquettes

La monnaie du jeu. Chaque boîte reçoit un sac de bienvenue et ronronne quelques croquettes par jour ; vous les donnez à votre chat jusqu'à ce qu'il soit gros, ou malade.

CoûtGratuites à gagner, échangeables contre de l'USDC

SecretChiffré Les soldes, les repas et le poids d'un chat, en cCROQ.

Lire le chapitre

03

Le bureau de change

ETH, USDC et CROQ, et leurs jumeaux scellés cUSDC et cCROQ : dites ce que vous donnez et ce que vous voulez. Les crédits de déchiffrement s'y vendent aussi.

Coût0,3 % sur l'ETH, 1 % sur le pool

SecretÀ la frontière Ce qui entre dans un solde scellé ou en sort se voit ; ce que vous faites dedans, non.

Lire le chapitre

04

Le studio

Dessinez un rat : un au hasard, gratuit et sans fin, ou un d'après vos mots, croqué puis modelé en 3D par l'IA.

CoûtGratuit, ou des packs de 2 et 8 USDC

SecretPublic Rien à cacher : vos dessins restent hors chaîne, les packs achetés non.

Lire le chapitre

05

Les rats

Adoptez un rat du studio en NFT : il gagne 3 croquettes par jour et renifle les boîtes pour vous.

Coût1 USDC, 3 USDC pour un rat IA

SecretPublic À qui est un rat et à quoi il ressemble.

Lire le chapitre
Les dollars achètent des boîtes, des packs du studio et des rats ; les boîtes et les rats gagnent des croquettes ; les croquettes nourrissent les chats. Chaque carte mène à son chapitre.

Qui pourrait être dedans

Chaque boîte contient l'un d'eux. Dix races, du tigré de tous les jours au glitch qu'on ne croise presque jamais ; quatre états, dont un seul vraiment réveillé ; et quelques surprises en prime. Fais tourner le plateau et dis bonjour. Et puis ceux que tu fabriques toi-même à coups de croquettes, du maigre à l'énorme, jusqu'au malade.

1 / 10

Tigré

Environ 1 boîte sur 5

Le classique. Des rayures, des opinions bien arrêtées, et la certitude que ta chaise est à lui.

Les chances sous chaque chat viennent directement des tables du jeu. Comment une boîte tombe sur l'un d'eux, c'est la section suivante.

La décharge

La première fois que vous connectez un wallet, le jeu vous tend une décharge, le formulaire DNO-1 : les conditions de jeu, huit clauses courtes. Elles disent clairement dans quoi vous vous engagez. Les contrats sont un logiciel expérimental : personne ne les a audités, et un bug, une faille ou un piratage pourrait faire perdre ce que vous y mettez, sans que les créateurs en soient responsables, dans la mesure où la loi le permet. Le site n'est qu'une fenêtre : vos boîtes, vos chats et vos soldes vivent on-chain, donc si le site tombe en panne, vous ne perdez rien. Personne ne garde votre argent pour vous, rien n'est remboursé, et rien de tout cela n'est un investissement.

Vous paraphez chaque clause, d'un clic, puis vous signez avec votre wallet. La signature est gratuite et n'envoie aucune transaction : votre wallet affiche un message lisible qui nomme votre adresse, la version des conditions et une empreinte du texte anglais complet. Les traductions servent à la lecture ; c'est le texte anglais que vous signez. La signature est gardée comme preuve de votre accord, par le serveur du jeu quand il répond, et toujours dans votre navigateur. Sans wallet, rien n'est demandé : vous pouvez visiter tout le site, et le formulaire n'apparaît que lorsqu'un wallet qui ne l'a pas encore signé se connecte. Vous pouvez le fermer pour continuer à visiter, ou passer à un autre wallet depuis le formulaire ; toute action demandée ensuite (un mint, une secousse, un repas) le fait revenir tant qu'il n'est pas signé.

Chaque nouveau wallet signe une fois, et une nouvelle version des conditions se signe à nouveau avant de continuer à jouer. Pour relire le formulaire et voir votre signature, ouvrez le menu et choisissez Conditions de jeu. Sur le réseau de test, rien n'est signé : la décharge attend le mainnet, et un avis dit à la place ce qu'une mise à jour des contrats garde (tes points, ta place sur la whitelist, ton passe X).

Partie 2

Les boîtes

Comment un chat reste secret sur une chaîne publique : la graine, les détenteurs cachés, qui peut lire quoi, chaque action, et comment une valeur sort du chiffrement.

  1. Un nombre par chat
  2. Personne ne sait qui détient quoi
  3. Qui peut lire quoi
  4. Douze choses à faire
  5. Comment les choses sortent
  6. Ce qu'une vente change

Un nombre par chat

Une boîte contient une seule graine de 64 bits. Ses bits sont découpés en sept champs. Seize décident si le chat est vivant, endormi, fantôme ou quantique. Cinq octets sont les cinq traits. Le dernier octet ne change que l'apparence du chat.

Une graine scellée

0x????????????????

Bits 0 à 15. Seize bits décident de l'état : vivant 70%, endormi 20%, fantôme 8.0%, quantique 2.0%. La vérification de vie les compare à 45 875 sous chiffrement et publie la réponse sur un bit. Un secouage ne peut jamais renvoyer ces bits.

Sur la chaîne, elle reste comme ça : un chiffré qui ressemble à du bruit. Le contrat calcule dessus sans le déchiffrer.

Garder un seul nombre chiffré au lieu de huit permet un mint bon marché. Tout le reste en est déduit quand une mécanique en a besoin : sous chiffrement tant que la boîte est scellée, en clair une fois la boîte ouverte. L'app lit une graine exactement comme le contrat, donc le chat que vous voyez est bien celui que détient la chaîne.

Le score de rareté est une somme pondérée : trois fois le tirage de race, le tirage d'humeur, deux fois le tirage d'accessoire, la chose cassée, la pièce, plus un bonus pour l'état. Un chat quantique part avec 1 000 points d'avance. Le score maximal possible est 3 040.

Personne ne sait qui détient quoi

Le propriétaire de chaque boîte est chiffré, comme sa graine. Ce n'est pas comme ça que fonctionnent d'habitude les NFT : un NFT ordinaire dit publiquement qui le possède. Ici, rien ne le dit. Personne ne peut voir qui détient une boîte, ni compter les boîtes de quelqu'un. La collection suit un nouveau standard écrit pour ça, l'ERC-721 confidentiel.

Envoyer une boîte n'échoue jamais à cause de qui la détient. Si vous la détenez, elle part ; sinon, rien ne se passe. Dans les deux cas, l'expéditeur et le destinataire reçoivent un reçu chiffré qu'eux seuls peuvent lire, qui dit si la boîte a bougé, et tous les autres voient un transfert qui a peut-être eu lieu, ou peut-être pas. Vous retrouvez vos propres boîtes de la même façon : l'app lit les reçus qui vous nomment et les déchiffre, avec une signature par visite. C'est ce que fait Afficher mes boîtes.

Le mint repose sur la même idée. Il se paie uniquement en cUSDC, et votre navigateur chiffre le nombre de boîtes voulu. Vous choisissez aussi parmi combien d'ids de token cacher ce nombre, de 1 à 10, et ce choix est public. Les premiers ids, jusqu'à votre quantité, sont à vous ; les autres sont des boîtes vides qui n'appartiennent à personne, et de l'extérieur les deux se ressemblent. Plus d'ids cachent mieux la quantité et coûtent plus de gas. Un mint qui dépasserait le plafond, ou que votre solde cUSDC ne couvre pas, n'obtient rien et ne paie rien.

Le nombre de boîtes vendues est un compteur chiffré, plafonné à 9 000 sous chiffrement : sur les 10 000 boîtes, les 1 000 autres sont gardées pour les cadeaux de la whitelist, mintées gratuitement quand un wallet assis récupère son cadeau, jamais vendues. Seuls des paliers de la vente sont annoncés : 100, 500, 1 000, 2 500, 5 000, 7 500, 9 000, le dernier voulant dire épuisé. Les boîtes offertes ne comptent dans aucun. Chaque mint rend publique une seule réponse, oui ou non : le palier suivant est-il atteint ? Et n'importe qui peut l'annoncer.

Certaines choses restent visibles, c'est voulu. Un mint montre l'adresse de l'acheteur et combien d'ids il a créés, ce qui borne par le haut ce qu'il a acheté. Une tentative de transfert montre qui l'a envoyée et à qui, comme un peut-être. Et une action qui doit devenir publique (une ouverture, une vérification de vie, une boîte mise en duel, ou un duel ou une intrication qui aboutit) montre que celui qui l'a lancée détenait cette boîte à ce moment-là. Une tentative de quelqu'un qui ne la détenait pas se solde par un refus et ne montre rien de la boîte. Les croquettes en ajoutent une : l'app ne nourrit que les boîtes que vous détenez, donc un repas, dont l'événement nomme celui qui nourrit, montre une boîte que vous détenez, même si le contrat traite de la même façon le repas d'un inconnu. Les réclamations, non : l'app réclame toujours pour des rangées entières de dix numéros de boîte, les vôtres parmi d'autres.

C'est aussi pour ça que le classement ne range que les chats ouverts, et les joueurs qui les ont ouverts : une ouverture publie qui l'a faite, alors que qui détient une boîte scellée reste caché.

L'un de ces faits publics va plus loin. Une fois qu'une action a montré qu'une adresse détenait une boîte, le transfert suivant de cette boîte depuis cette adresse est forcément réel, pas un peut-être : on peut donc suivre la boîte jusqu'à son détenteur suivant, et de là plus loin encore. Quand vous donnez une boîte, vous pouvez cocher « Envoyer 3 leurres avec » : trois transferts de plus de la même boîte vers des adresses au hasard, qui ne déplacent rien mais ressemblent au vrai, envoyés dans un ordre aléatoire avec lui. Personne ne peut alors dire lequel a déplacé la boîte, ni même si l'un l'a fait. Chacun coûte du gas. Sans leurres, gardez une boîte hors de vue en la recevant, ou en la déplaçant, sur une adresse neuve dont vous ne vous servez jamais pour prouver quoi que ce soit.

Qui peut lire quoi

Chaque chiffré a une liste d'accès. Pour la graine, cette liste n'a qu'une entrée : le contrat. Aucun détenteur n'y est jamais ajouté, parce qu'une adresse sur la liste pourrait demander au service de clés de déchiffrer la graine directement et court-circuiter le jeu.

InformationLe détenteurTous les autres
Qui détient une boîteOui, grâce à ses reçusNon
Combien de boîtes un compte détientOui, pour son propre compteNon
Combien de boîtes sont venduesPersonne. Seuls des paliers sont annoncés
La graine, l'état, le scoreNonNon
Un trait par secouageOui, gratuitementOui, en payant
Quel trait un secouage a choisiSeulement celui qui a secoué
S'il est vivantTout le monde, si le détenteur le demande. Un bit, une fois par boîte
Qui a gagné un duel, et un trait du perdantTout le monde
Le trait du gagnant dans un duelNonNon
Combien de fois il a été caressé, et combien de repas il a mangésPersonne. Les tentatives sont publiques, pas le fait qu'elles aient compté
Combien d'affection ça a rapportéNonNon

Deux conséquences sont voulues. Un détenteur qui secoue assez souvent apprend les cinq traits : un secouage en montre un sur cinq au hasard, donc une onzaine suffit à les couvrir. Ce qui reste caché même au détenteur, c'est l'état, qui vaut jusqu'à un tiers du score, et l'affection. Et les duels laissent fuir un ordre : chacun publie laquelle de deux boîtes a le score le plus haut. Mettre une boîte en duel montre aussi que vous la détenez : c'est ainsi que l'étagère des duels ne porte que des boîtes que quelqu'un détient. C'est le prix du duel.

Douze choses à faire

ActionQuiCoûtCe qui devient public
MintN'importe qui, en cachant combien parmi 1 à 10 ids5 cUSDC la boîteL'acheteur et combien d'ids, pas combien sont réels
SecouerLe détenteurGas seulementQue quelqu'un a secoué, pas s'il détient la boîte
Secouage payant (ou le flair d'un rat)N'importe qui2,5 cUSDC, 70 % attendent dans la boîte son détenteurQue quelqu'un a payé pour secouer
Récupérer les gains des secouagesN'importe qui, pour les boîtes qu'il détientGas seulementDix numéros à la suite, pas lesquels ni combien
CaresserN'importe qui0.5 cUSDCQue quelqu'un l'a caressé, pas si ça a compté ni ce que ça a rapporté
Vérification de vieLe détenteur, une foisGas seulementUn bit, et que celui qui demande détenait la boîte
IntriquerLes deux détenteursGas seulementLe lien, et que les deux détenaient leurs boîtes. Ouvrir une boîte ouvre alors les deux
DuelLe détenteur la met en jeu, n'importe quel détenteur la relèveGas seulementQue le challenger détient la boîte, puis qui a gagné et un trait du perdant, ou un duel annulé
OuvrirLe détenteur1 cUSDCTout, définitivement, et qui l'a ouverte
Donner des croquettesLe détenteurJusqu'à 1 000 croquettes par jour, toutes mangéesQui a nourri quel chat (l'app ne nourrit que les vôtres), pas si ça a compté ni ce qu'il contenait
Réclamer des croquettesN'importe quiGas seulementDix numéros à la suite, pas lesquels sont à vous ni combien
Peser un chat ouvertN'importe quiGas seulementSon poids, sa corpulence, s'il est malade

Caresser ajoute une quantité cachée entre 0 et 3 à un compteur caché, et rien du tout si la caresse n'a pas été payée. Les caresses visibles sur la chaîne ne disent donc rien du compteur, pas même combien ont compté. Au-delà de 10, l'accessoire devient doré à l'ouverture de la boîte, et un chat sans accessoire reçoit un collier à grelot en or.

Tous les prix sont en cUSDC, l'USDC confidentiel de Zama : personne d'autre que toi ne lit ton solde ni ne suit tes paiements, et le montant payé est chiffré comme le reste. Un paiement cUSDC ne peut pas échouer on-chain : un solde trop court déplace simplement 0, et l'action ne fait alors rien. Un mint n'obtient aucune boîte, un secouage payant lit « pas à toi », une caresse n'ajoute rien, une ouverture est refusée. Payer depuis de l'USDC ordinaire veut dire convertir d'abord le prix exact en cUSDC, en public, et pour un mint ce montant trahit la quantité. Convertir un montant rond à l'avance, au bureau de change, ne trahit rien.

Les duels ont leur propre classement, dans l'onglet Duels du classement : des boîtes, pas des joueurs, par duels gagnés, puis par le moins de défaites. Les trois premières portent une rosette épinglée sur le devant de leur boîte, or, argent et bronze, comme dans une exposition féline. Une boîte peut monter sur le podium et rester scellée : le classement n'utilise que les gagnants et les perdants que chaque duel rend déjà publics, jamais qui détient la boîte.

Comment les choses sortent

Il y a deux sorties du chiffrement. Un déchiffrement privé rechiffre une valeur pour une personne, qui doit figurer sur sa liste d'accès. Un déchiffrement public publie une valeur avec les signatures des parties qui se partagent la clé, et le contrat vérifie ces signatures avant de croire quoi que ce soit.

Le contrat ne reçoit jamais de callback. Une révélation, c'est une demande sur la chaîne, un déchiffrement hors chaîne, et une seconde transaction qui rapporte la preuve. N'importe qui peut envoyer cette seconde transaction. Chaque demande vérifie aussi, sous chiffrement, que celui qui la fait détient la boîte ; ce bit est déchiffré avec le reste, et un non solde la demande par un refus, avec des zéros à la place des valeurs de la boîte.

Une demande, un déchiffrement, et une seconde transaction. Une demande de quelqu'un qui ne détient pas la boîte n'ouvre rien et ne montre rien.

  • Transaction
  • Chiffré
  • Valeur avec preuve
  • Valeur en clair

Ce qu'une vente change

Sur ce protocole, un droit d'accès ne peut pas être révoqué. Une conception qui mettrait le détenteur sur la liste d'accès de la graine ne pourrait jamais en retirer le vendeur. Celle-ci n'y met jamais personne, donc une vente n'a rien à défaire sur la graine. Ce qui change de mains, c'est le propriétaire chiffré, avec ce qui attend dans la boîte : les gains des secouages payants et les croquettes la suivent.

  1. MintGraine : le contrat seulement. Propriétaire : Alice, chiffrée. Le reçu : Alice seulement.
  2. Alice secoueUn nouveau chiffré contenant un trait : le contrat et Alice.
  3. Alice vend à BobElle l'envoie. Le propriétaire change sous chiffrement, et le reçu, déplacé ou non, n'est lisible que par Alice et Bob. Rien ne change pour la graine.
  4. Bob secoueUn autre nouveau chiffré : le contrat et Bob.
  5. Alice réessaiePas d'erreur. Elle lit « pas à toi » ; tous les autres voient un secouage, pas qu'il a échoué. Elle garde ce qu'elle a déjà vu, et n'obtient rien de nouveau.
  6. Bob récupèreLes gains des secouages payants et les croquettes qui attendent dans la boîte vont à lui maintenant, plus à Alice.

Si vous achetez une boîte scellée, partez du principe que le vendeur connaît ses cinq traits. Quelques secouages payants avant d'acheter rétablissent l'équilibre. Et un transfert qui vous nomme n'est qu'un peut-être tant que vous n'avez pas déchiffré son reçu : Afficher mes boîtes le fait pour vous.

Partie 3

L'argent et les croquettes

Chaque frais et où il va, le bureau de change et ses cinq jetons, et les croquettes qui font grossir un chat.

  1. Les frais, et où ils vont
  2. Le bureau de change
  3. Les croquettes

Les frais, et où ils vont

Tout dans le jeu a un prix en USDC, un stablecoin indexé sur le dollar, et presque tout se paie en cUSDC, sa forme chiffrée : personne d'autre que vous ne peut lire votre solde ni suivre vos paiements. Voici chaque frais, qui le reçoit, et ce qu'il paie.

70 %30 %paieVouspayez en USDC ou cUSDCSecouage payantla boîte de quelqu'un d'autreActions payantesminter, ouvrir, caresserCréditsau-delà de 25 gratuits par jourStudiopacks, adoptions de ratsDétenteur de la boîte70 % d'un secouage payantTrésoreriecelle de la collectionZamachaque déchiffrementServeursindexeur, site webIAcroquis, 3D
Les dollars entrent par quatre portes et presque tous finissent dans la trésorerie. La trésorerie paie Zama pour les déchiffrements que les joueurs ne paient pas eux-mêmes (leurs unités gratuites du jour), les serveurs qui suivent la chaîne, et les services d'IA derrière le studio.
Ce que vous payezPrixOù ça va
Minter une boîte5 USDC la boîteLa trésorerie de la collection
Ouvrir une boîte1 USDCLa trésorerie de la collection
Caresser un chat0,5 USDCLa trésorerie de la collection
Secouer la boîte de quelqu'un d'autre, ou la faire renifler par votre rat2,5 USDC70 % à celui qui détient la boîte, 30 % à la trésorerie. Un id vide n'a pas de détenteur : il montre quand même un trait, et les 70 % vont aussi à la trésorerie. Un rat de pouvoir 1 récupère 0,75 auprès de la trésorerie, en secret
Crédits de déchiffrement, au-delà des gratuits0.01 USDC l'unitéLa trésorerie de la collection
Acheter de l'USDC avec de l'ETH sur le site0,3 % de l'ETHLa trésorerie de la collection
Un pack du studio (croquis et modèles 3D par IA)2 USDC (Starter) ou 8 USDC (Litter)La trésorerie, qui paie les services d'IA avec
Adopter un rat du studio1 USDC, 3 USDC pour un rat IALa trésorerie
Un repas de croquettesDes croquettes, pas des dollars20 % à la trésorerie, 20 % brûlés, 60 % retournent au ronron quotidien
Secouer sa propre boîte, la vérification de vie, l'intrication, les duels, envoyer une boîteGratuitSeulement le gas du réseau, comme toute transaction

Pourquoi les déchiffrements coûtent quelque chose : lire une valeur chiffrée demande du travail au réseau de Zama. Les parties qui se partagent la clé de déchiffrement doivent chacune y prendre part, et Zama le facture, pour chaque valeur lue, d'un dixième de centime à dix centimes selon la formule. Vérifier la preuve qui accompagne une valeur chiffrée par votre navigateur coûte cinq fois plus. Il le facture à la collection, pas à vous. Secouer, retrouver vos boîtes, lire votre propre solde, le résultat d'un duel : chacun est un déchiffrement. Minter, nourrir un chat ou envoyer des croquettes : chacun chiffre une valeur.

Chaque wallet a donc droit à 25 unités gratuites par jour, payées par la collection, et elles reviennent à minuit UTC ; un wallet qui n'a pas encore joué en a 16, de quoi faire un premier mint. Lire une valeur coûte une unité : un secouage en utilise 2, et retrouver les boîtes d'un mint en utilise une par numéro de boîte parmi lesquels il les a cachées. Chiffrer une valeur, comme la quantité d'un mint ou un repas, en coûte 5. Ce que votre navigateur a lu une fois, il s'en souvient, et ce n'est jamais compté à nouveau. Au-delà des gratuites, vous dépensez des crédits, un par unité, achetés au bureau de change. Leur prix suit ce que Zama facture à la collection en dollars, pas le cours du jeton de Zama : il ne bouge pas avec le marché. Ils se paient en USDC non chiffrés, exprès : un solde trop court annule l'achat, là où un paiement en cUSDC ne déplacerait rien, sans bruit. Rendre une valeur publique, pour ouvrir une boîte, régler un duel ou annoncer un palier, coûte 1 unité par valeur, comptée au portefeuille qui la demande en premier : une ouverture en prend 2 à 5, un duel 1 pour le poser et 5 pour le régler. Redemandée ensuite, par n'importe qui, elle est gratuite. Ainsi, personne ne peut poser des duels en boucle aux frais de la collection. Dans le jeu, le compteur Déchiffrements en haut à droite montre ce qu'il reste (gratuits du jour, plus crédits) : il clignote quand vous arrivez au bout, passe au rouge à zéro, et un clic ouvre le bureau de change pour en racheter.

La trésorerie paie ce qui fait tourner le jeu : les frais de Zama pour chaque unité gratuite, et les serveurs qui suivent la chaîne pour que le site reste rapide. Le reste va au projet. Personne ne peut lire les cUSDC qu'elle reçoit, propriétaire compris : lus après chaque paiement, ils trahiraient la quantité cachée de chaque mint, et donc qui a acheté quelles boîtes. Le propriétaire les retire au plus une fois tous les 7 jours, et n'apprend donc jamais que des sommes hebdomadaires. Les frais de 1 USDC d'une ouverture attendent qu'elle se règle : ils rejoignent la trésorerie quand la boîte s'ouvre, et reviennent à celui qui l'ouvrait si la boîte intriquée avec elle l'a ouverte d'abord.

Le bureau de change

Le jeu utilise cinq jetons : l'ETH pour le gas du réseau, l'USDC et le CROQ, en clair, et le cUSDC et le cCROQ, la même monnaie scellée. Un solde en clair est public, comme n'importe quel jeton ; un solde scellé est chiffré, et toi seul peux le lire. Pour passer de l'un à l'autre, ouvre le menu et choisis Bureau de change : dis ce que tu donnes et ce que tu veux, il trouve le chemin et affiche chaque coût avant que tu signes. Le taux et le nombre de transactions restent sous le formulaire ; Détails déplie le trajet, chaque frais et ce qui devient public. Il liste aussi ce que tu détiens ; les soldes scellés se déchiffrent à la demande, pour toi seul, en une signature.

Classiques : soldes publicsScellés : soldes chiffrésETHle gas du réseauUSDCdes dollars, à découvertCROQdes croquettes, à découvertCréditsdépensés, pas gardéscUSDCpaie le jeucCROQnourrit les chatsrampe, 0,3 %shieldunshieldscellerdescellerachetervendrepool Uniswap, 1 %créditsmontants publics à la frontière
Chaque flèche est une transaction ; toute autre paire les enchaîne, ETH vers cCROQ en trois. L'ETH peut aussi arriver directement en cUSDC par la rampe. Chaque passage de la frontière montre son montant ; du côté scellé, rien ne se voit.

Certains échanges tiennent en une transaction : acheter de l'USDC avec de l'ETH (il peut arriver scellé, en cUSDC), convertir de l'USDC en cUSDC ou l'inverse (Shield et Unshield), acheter ou vendre du CROQ contre de l'USDC, sceller du CROQ en cCROQ ou le desceller. Toute autre paire enchaîne ces étapes : de l'ETH au cCROQ, par exemple, il y en a trois. Chaque étape est une transaction à part, signée l'une après l'autre, et entre deux l'argent attend dans ton wallet en USDC ou en CROQ en clair. Si une étape ne livre rien, parce qu'un solde scellé plus petit que le montant ne déplace rien, sans un mot, le bureau s'arrête et te dit où est ton argent. L'ETH se donne seulement, il ne se reçoit jamais.

Acheter de l'USDC avec de l'ETH coûte 0,3 % de l'ETH, gardés par le site. Shield et Unshield sont gratuits. Chaque étape paie le gas du réseau, comme toute transaction. Un échange sur un pool peut se faire à un prix moins bon que celui annoncé si quelqu'un passe avant : la tolérance de slippage, 1 % sauf si tu la changes (de 0,01 % à 50 %), est l'écart que tu acceptes avant que la transaction s'annule d'elle-même, en ne coûtant que le gas. Le bureau montre aussi l'impact sur le prix, de combien ton propre échange fait bouger le prix du pool, et te prévient au-delà de 2 %.

Ce qui devient public : les jetons en clair circulent à découvert, donc chaque échange montre ses montants, comme chaque passage entre en clair et scellé. Le montant que tu convertis en cUSDC ou scelles est public, et celui que tu ramènes en clair aussi : il est déchiffré en public pour être versé, c'est pourquoi ces étapes prennent une minute de plus. Une fois ton argent scellé, ce que tu en fais reste privé.

Les crédits de déchiffrement s'achètent seulement en USDC en clair. Alors quand tu veux du cUSDC, depuis de l'ETH ou de l'USDC, le bureau peut en garder une part en clair : rien, 5 %, 10 % ou 20 %, et il retient ton choix. Depuis l'ETH, cela fait deux achats sur la rampe, un en clair et un scellé, aux mêmes frais ; depuis l'USDC, seul le reste est converti en cUSDC. Le bureau affiche l'USDC gardé et le nombre minimum de crédits qu'il achète. Les crédits eux-mêmes s'achètent seulement au bureau, dans un guichet à part à gauche du comptoir (sous tes avoirs sur un écran étroit), puisqu'ils se dépensent au lieu de se garder : tu choisis une quantité, tu vois le prix, tu achètes. S'il manque de l'USDC en clair, il te renvoie au comptoir pour en obtenir.

Les croquettes

Les croquettes sont la monnaie du jeu, et elles existent sous deux formes. CROQ est un ERC-20 ordinaire avec une offre fixe de 20 000 000 : rien ne peut en créer d'autres, et il n'a pas de décimales, donc un CROQ vaut une croquette. Comme il est ordinaire, n'importe quel marché peut le lister. cCROQ est la même croquette emballée dans un jeton confidentiel (ERC-7984) : les soldes et les montants des transferts sont chiffrés. Le jeu n'utilise que cCROQ.

PublicChiffréMarchépool Uniswap V3, CROQ / USDCCROQERC-20, soldes publicscCROQERC-7984, soldes cachésachetervendreemballer 1:1déballermontants publics à la frontièrerepas, ronrons, cadeauxchaque échange est public
Passer la frontière montre le montant : emballer déplace du CROQ ordinaire, et déballer passe par un déchiffrement public. Tout ce qui se passe en cCROQ entre les deux reste chiffré.

Toute l'offre a été créée une seule fois, au déploiement, et répartie ainsi :

  • Réserve de jeu 10 000 000Dans le Garde-manger. Paie le ronron quotidien, et récupère une part de chaque repas.
  • Sacs de bienvenue 1 000 000Dans le Garde-manger. Un sac pour chaque boîte qui pourra exister.
  • Marché 4 000 000Versé seul dans le pool public, sans USDC, et bloqué là pour toujours.
  • Trésorerie 5 000 000Du CROQ ordinaire gardé pour des événements et plus de liquidité plus tard ; 500 000 sont allés au garde-manger des rats.

Les croquettes arrivent aux joueurs par le Garde-manger, le contrat qui gère l'économie. Chaque boîte achetée apporte un sac de bienvenue de 100 à sa première réclamation : une fois par boîte, quel que soit son détenteur, donc un second wallet ne rapporte rien. Ensuite chaque boîte ronronne : chaque jour, un montant chiffré entre 0 et 4, multiplié par 2 pour une boîte Vet Certified, à récupérer jusqu'à 7 jours d'un coup. Un id vide, de ceux qu'un mint crée au-delà de la quantité achetée et que personne ne détient, n'a ni sac ni ronron. Sacs et ronrons sont versés dans la boîte, une réserve chiffrée, et celui qui réclame reçoit les réserves des boîtes qu'il détient, et rien pour les autres. Personne ne peut donc dépenser les jours d'un autre détenteur. Une réclamation liste ses numéros de boîte en public, donc l'app ne liste jamais seulement les vôtres : elle réclame pour des rangées entières de dix numéros (0 à 9, 10 à 19, etc.), toujours les mêmes, une transaction par rangée. Qui regarde apprend au plus que vous détenez peut-être l'une de ces dix. Le ronron est divisé par deux chaque année, et la réserve paie une réclamation entière ou rien du tout. Personne d'autre que celui qui réclame ne voit combien il a reçu.

Les rats que vous adoptez dans le studio gagnent aussi des croquettes, mais pas dans le Pantry : chacun reçoit 3 CROQ classiques par jour du garde-manger des rats, à récolter depuis « Mes rats », 7 jours au plus entre deux récoltes. Classiques, pas confidentielles : le propriétaire d'un rat est public, ce qu'il gagne peut l'être aussi. Ce garde-manger a reçu 500 000 CROQ de la trésorerie ; la réserve du jeu qui nourrit les boîtes n'est pas touchée.

Réserve11 000 000 au départTon soldetoi seul le lisTon chatmange toutTrésoreriela part de la collectionBrûlébloqué pour de bonréclamersac de 100, puis 0–4 par jourrepas, jusqu'à 1 000 par jour+ poids, caché jusqu'à la pesée20 %20 % de chaque repas60 % retournent au ronron
Chaque croquette du Garde-manger est dans exactement un tas chiffré : la réserve, la part de la trésorerie, ou le tas brûlé. Un repas ne laisse rien dans le chat, sauf du poids. Les croquettes brûlées restent bloquées dans le Garde-manger ; aucune fonction ne peut les déplacer, et personne ne peut lire combien il y en a.

Seul le détenteur nourrit son chat : au plus 2 repas et 1 000 croquettes par jour, quelle que soit la répartition. Qui détient le chat, combien de repas il a eus aujourd'hui et le montant sont tous vérifiés sous chiffrement : un repas qui dépasse les limites, ou servi par quelqu'un qui ne détient pas le chat, déplace 0, sans bruit. Une offre qui dépasse ce qui reste du jour est ramenée à ce reste. Ton navigateur chiffre le montant et le chat mange tout : son poids augmente d'autant, chiffré, et personne ne peut le lire tant que la boîte est scellée, détenteur compris. Les croquettes sont partagées : 20 % pour la trésorerie de la collection, 60 % retournent à la réserve qui paie le ronron, 20 % sont brûlés. Personne ne peut lire la part de la trésorerie entre deux collectes, trésorerie comprise : lue après chaque repas, elle dirait qui a nourri quel chat, et de combien. Elle lui est envoyée au plus une fois tous les 7 jours. Si tu en as moins que ce que tu offres, le repas ne déplace rien, sans erreur ni indice. Le repas lui-même est public et nomme celui qui le sert, et l'app ne nourrit que les chats que tu détiens : un repas montre donc que tu détiens ce chat.

Une fois la boîte ouverte, n'importe qui peut peser le chat : son poids est déchiffré publiquement et fixe sa corpulence. Chaque chat a aussi sa propre tolérance, tirée de sa graine. Personne ne peut la connaître tant que la graine est chiffrée, et quand elle devient publique le chat a fini de manger. Pesé à sa tolérance ou au-delà, le chat est malade : un trophée ultra rare, jamais une mort.

CorpulenceCroquettes mangéesJours au plafond quotidienScore
Maigre0 – 0–+0
Normal1 – 9 9991+0
Dodu10 000 – 49 99910+100
Gros50 000 – 149 99950+300
Énorme150 000+150+700
Malade (une limite bien à lui)300 000 – 600 000300 – 600+2000

Le poids suit la boîte, et sa réserve aussi. Un acheteur ne sait rien de ses repas : ni combien, ni la quantité, ni la distance qui sépare le chat de sa tolérance. Le vendeur sait au moins ce qu'il a servi lui-même. Le marché fait le prix du reste.

Personne ne peut lire un poids avant l'ouverture, détenteur compris, pour la même raison que personne n'a jamais accès à une graine : un droit d'accès ne se reprend pas, donc un ancien détenteur continuerait à le lire après une vente. Ce qui reste secret, et ce qui ne l'est pas :

InformationQui peut le lire
Ton solde de cCROQToi
Le montant d'un transfert, d'un repas ou d'une réclamationLes deux parties
Le poids d'un chatPersonne tant que la boîte est scellée. Tout le monde une fois le chat pesé
Combien a été brûléPersonne
Qui a essayé de nourrir quel chatTout le monde, et comme l'app ne nourrit que tes chats, que tu le détiens. Si ça a compté : celui qui a nourri seulement
Qui a réclamé, et pour quelles boîtesTout le monde, mais l'app réclame dix numéros de boîte à la suite à chaque fois, donc pas lesquels sont à toi. Combien : lui seul
Ce que pèse un chat ouvert, et s'il est maladeTout le monde
Emballer, déballer, échanges sur le marchéTout le monde, montants compris
L'offre totaleTout le monde. Combien circule encore : personne
La part de la trésorerie sur les repasPersonne, trésorerie comprise. Elle est collectée au plus une fois tous les 7 jours

Il n'y a pas de prix officiel. Leur valeur apparaît indirectement, dans le prix d'un chat scellé bien lourd.

Le marché public est un pool Uniswap où le CROQ s'échange contre de l'USDC. La collection n'y a mis que des croquettes, aucun dollar : elles se vendent à partir de 0,001 USDC pièce, en montant, et jamais moins cher, car vendre ne rend que l'USDC que des acheteurs ont apporté. Tant que personne n'a acheté, il n'y a rien contre quoi vendre, et le bureau de change le dit. Les croquettes du pool y sont bloquées pour toujours : personne ne peut les retirer, pas même la collection. Chaque échange paie au pool 1 % de frais, qui vont à la trésorerie de la collection.

Partie 4

Le studio et les rats

Les autres résidents du dépôt : des rats que vous dessinez gratuitement ou avec l'IA et adoptez en NFT. Ils gagnent des croquettes, reniflent les boîtes, et les protègent ou les attaquent grâce à un pouvoir secret.

  1. Le studio
  2. Les rats

Le studio

Le studio est une page à part, ouverte à tous, avec ou sans wallet : on y dessine soi-même l'un des rats du dépôt. Des rats, pas des chats, exprès : les chats ne sortent que des boîtes, donc rien de ce qu'on dessine au studio ne peut passer pour l'un d'eux. Le bouton Un autre rat demande un rat au hasard au générateur de rats du jeu, dans votre navigateur : procédural, gratuit, sans fin, et en 3D, qu'on fait tourner en le faisant glisser. Dents de lapin, grandes oreilles, un chapeau ou un morceau de fromage, selon le seed. Ni IA, ni rien sur la chaîne.

Un rat au hasard saute l'IA : dès l'étape 1, il peut passer directement à l'adoption. Un rat IA passe par toutes les étapes. Vos mots et vos dessins restent sur le serveur du studio ; seuls le pack et l'adoption vont on-chain.

Dessiner un rat à partir de vos mots passe par des services d'IA payants : c'est donc vendu d'abord, en packs achetés sur la chaîne en USDC classique au contrat StudioPacks. Le pack Starter coûte 2 USDC pour 10 croquis et un modèle 3D, le pack Litter, 8 USDC pour 50 croquis et cinq modèles 3D. Le paiement va directement au trésor de la collection et les unités n'expirent jamais. Un achat est public, comme tout paiement en USDC classique ; ce que vous dessinez avec ne va pas sur la chaîne.

Un croquis est une image cartoon de votre rat, dessinée par l'IA à partir de ce que vous avez écrit dans un style imposé : elle sort toujours avec l'allure du dépôt. Il coûte peu : recommencez jusqu'à ce que le rat vous plaise. Un modèle 3D transforme l'un de vos croquis en maillage que la page dessine avec l'ombrage cartoon et le contour du jeu, respirant doucement sur le plateau. Comptez une à deux minutes. Un interrupteur en haut de la page passe des rats au hasard, gratuits, au bureau de l'IA. Un croquis s'affiche en grand sur la planche à dessin, et c'est de là que vous le passez en 3D. Pendant que l'IA travaille, un rat court dans sa roue au-dessus d'une barre de progression ; vous pouvez quitter la page, le travail continue et la barre reprend où elle en était à votre retour.

Pour dépenser vos unités, connectez-vous une fois avec votre wallet : une signature gratuite, sans transaction, qui dit au studio quelles unités sont les vôtres. Le site dépense une unité avant d'appeler l'IA et la rend si le service échoue, jusqu'à trois fois par jour : au-delà, ou si le filtre de sécurité de l'IA refuse l'image, l'unité est dépensée, car le service a été payé. Un prompt fait de 3 à 240 caractères ; les personnages sous licence et le contenu adulte sont refusés avant toute dépense. Chaque jour, le studio s'arrête à un plafond de dépense : au-delà, revenez le lendemain.

Sur le testnet, l'USDC est de la monnaie de test alors que l'IA coûte de l'argent réel : le studio IA peut donc y être fermé ou réservé à une liste de testeurs (l'onglet « Dessiner avec l'IA » est alors grisé, et un testeur l'ouvre en signant avec son wallet) ; les rats au hasard restent gratuits partout.

Les rats

Un rat du studio qui vous plaît peut être adopté : minté comme NFT à vous dans le contrat Rats, payé en USDC classique directement à la trésorerie de la collection. Un rat au hasard coûte 1 USDC et s'adopte par sa graine, chaque graine une seule fois : son allure est recalculée à partir de ce nombre partout où il s'affiche, il n'y a donc rien d'autre à stocker. Un rat IA coûte 3 USDC : son image est d'abord stockée sur Arweave pour de bon, comme celles des chats, et son modèle 3D est gardé par le serveur du jeu.

Il n'y aura jamais que 700 rats au hasard et 300 rats IA, fixés pour de bon dans le contrat, et un wallet en adopte 5 au plus, les deux sortes ensemble. On peut toujours lui donner ou lui vendre un rat au-delà. Le studio et la page d'accueil affichent combien il en reste.

Un des 700 rats au hasard qui existeront jamais, dessiné dans votre navigateur à partir d'une graine au hasard. Cliquez dessus et un autre atterrit.

Un rat est tout ce qu'une boîte n'est pas, exprès : les chats sont les résidents secrets du dépôt, les rats ses résidents à découvert. Qui possède un rat et à quoi il ressemble est public, il fonctionne donc comme n'importe quel NFT. Il ne garde qu'un secret : son pouvoir, plus bas.

Une boîteUn rat
Ce que c'estUne boîte scellée avec un chat que personne ne voitUn rat de dessin animé, visible par tous
Qui le détientChiffré : seul le détenteur le saitPublic, comme n'importe quel NFT
De quoi il est faitUne graine chiffrée, lisible par le contrat seulSa graine, ou son image sur Arweave, en clair
Son secretLe chat, qui la détient, ce qu'elle gagneSon pouvoir (1, 2 ou 3), lu par son détenteur seul
Prix5 cUSDC, paiement chiffré1 USDC, 3 pour un rat IA, paiement en clair
Combien10 000 ; le nombre vendu est chiffré700 au hasard et 300 IA, 5 par wallet
GagneUn sac de 100 cCROQ, puis 0 à 4 par jour, cachés dans la boîte3 CROQ classiques par jour, pour son propriétaire
Wallets et marchésIl faut un marché fait pour l'ERC-721 confidentiel, comme le marché aux pucesUn ERC-721 standard : n'importe quel wallet ou marché l'affiche

Les croquettes d'un rat

Chaque rat gagne 3 CROQ classiques par jour à partir du jour de son adoption. Elles viennent du garde-manger des rats, le RatPantry, qui a reçu 500 000 CROQ de la trésorerie, et pas du Pantry qui nourrit les boîtes : les rats ne touchent jamais à la réserve du jeu. Récoltez-les depuis « Mes rats » dans le jeu, pour tous vos rats d'un coup. Un rat garde 7 jours au plus entre deux récoltes ; laissé seul plus longtemps, il ne gagne rien de plus. Si le garde-manger est vide, la récolte échoue et les jours attendent ; quand il s'épuise, il paie ce qui reste. Les croquettes sont classiques parce que le propriétaire d'un rat est public de toute façon : il n'y a rien à cacher dans ce qu'il gagne. Scellées au bureau de change, elles peuvent nourrir un chat.

Le garde-manger des rats est séparé de celui des boîtes : ce que gagnent les rats ne sort jamais du ronron. Classiques jusqu'à ce que vous les scelliez, les croquettes d'un rat deviennent secrètes dès qu'elles entrent en cCROQ.

Un pouvoir secret

Chaque rat reçoit un pouvoir secret à son adoption, aléatoire ou IA, acheté ou offert : 1, 2 ou 3, tiré au sort sous chiffrement, si bien que personne, l'équipe comprise, ne peut le choisir ni le prévoir. Seul son détenteur peut le lire : dans « Mes rats », appuyez sur Le lire. Si vous achetez un rat, la première lecture demande une fois à votre wallet le droit de le lire ; le vendeur continue de savoir ce qu'il était.

PouvoirRenifler une boîtePosé sur une boîte
1 · Fin nez
55 rats sur 100
2,5 cUSDC, 0,75 rendus en secretRien : un bluff
2 · Brouilleur d'un trait
30 rats sur 100
2,5 cUSDCBloque le trait que vous choisissez
3 · Grand brouilleur
15 rats sur 100
2,5 cUSDCBloque les cinq traits
Tiré à l'adoption, chiffré, lisible par le seul détenteur du rat.

Renifler les boîtes

Un rat renifle aussi. Dans « Mes rats », tapez le numéro d'une boîte scellée que vous ne détenez pas et appuyez sur Renifler : votre rat vous révèle un de ses traits, à vous seul. C'est un secouage payant, 2,5 cUSDC : 70 % attendent dans la boîte son détenteur, 30 % vont à la trésorerie, et tous les autres voient seulement qu'un rat a reniflé cette boîte. Un rat de pouvoir 1 en récupère 0,75 cUSDC auprès de la trésorerie, en secret : personne ne peut savoir quels rats reniflent moins cher.

C'est ainsi qu'un rat aide avant un achat : quelques reniflements d'une boîte que vous pensez acheter, et vous en savez autant que le vendeur.

Protéger ou attaquer une boîte

Un rat peut aussi être posé sur une boîte scellée pendant 3 jours ; ensuite, il se repose 7 jours avant de pouvoir recommencer. Tapez le numéro de la boîte dans « Mes rats », choisissez le trait à bloquer (il ne compte que pour un rat de pouvoir 2), et posez-le. Ce qu'il fait dépend de qui détient la boîte, et le contrat le décide seul, en secret :

Où vous le posezPendant 3 joursQui s'en aperçoit
Sur une de vos boîtesLes autres qui la secouent ou la reniflent lisent un faux pour les traits bloquésPersonne : le faux a l'air vrai
Sur la boîte de quelqu'un d'autreLes secouages de son détenteur sortent brouillés pour les traits bloquésLe détenteur, qu'on le brouille. Pas qui
L'une ou l'autre, avec un rat de pouvoir 1RienPersonne : il ressemble aux autres
Sur la chaîne, chaque tour se lit pareil : un rat, une boîte, une date. Protection ou attaque, le pouvoir et le trait restent chiffrés.

Sur une de vos boîtes, il la protège. Qui paie pour la secouer, ou envoie un rat la renifler, lit un faux pour les traits que votre rat bloque : toujours le même faux, il a donc l'air vrai. Vous, vous lisez toujours la vérité. Avant une vente, vous gardez ainsi les meilleurs traits de votre boîte pour vous.

Sur la boîte de quelqu'un d'autre, il l'attaque. Quand son détenteur secoue sa propre boîte, les traits que votre rat bloque sortent brouillés pendant 3 jours. Il apprend qu'on le brouille, jamais par qui. Une boîte protégée par un rat de pouvoir 3 résiste aux attaques.

Tous les rats ont le même bouton, les mêmes 3 jours et le même repos, donc la chaîne montre seulement « le rat 12 s'est posé sur la boîte 340 » : ni s'il a protégé ou attaqué, ni son pouvoir, ni le trait. Un rat de pouvoir 1 posé sur une boîte ne fait rien du tout : un bluff parfait. Les duels ne changent pas : le trait que montre un perdant est toujours le vrai.

Partie 5

Le marché aux puces

Là où les joueurs se vendent boîtes, chats et rats : un prix sur l'étiquette, ou une offre sous enveloppe scellée que seuls l'acheteur et le vendeur peuvent lire.

  1. Acheter d'occasion
  2. Monter son étal

Acheter d'occasion

Le marché aux puces se tient derrière le dépôt, après la fermeture. Les joueurs s'y vendent des boîtes scellées, des chats (des boîtes déjà ouvertes) et des rats, payés en cUSDC. On y entre par le menu : Marché aux puces. Chaque article pend sous un auvent rayé avec son étiquette de prix, et trois gros boutons attendent à l'entrée : Minter une boîte mène à l'étagère pour une boîte neuve, Minter un rat au studio, et Vendre à votre propre étal.

Il y a deux façons d'acheter. La première est le prix de l'étiquette, qui est public, et elle se fait en deux temps. Acheter prélève le prix sur vos cUSDC, tout ou rien : ce qui arrive au marché est le prix entier ou zéro, chiffré, donc votre solde reste scellé. Puis un seul bit, payé ou non, est déchiffré en public et rapporté sur la chaîne avec sa preuve, et le marché règle la vente. Si vous avez payé et que l'article est toujours tel qu'il a été mis en vente, il est à vous. Si l'achat de quelqu'un d'autre a été réglé avant, ou si le vendeur l'a réétiqueté ou repris, vous récupérez exactement ce qui a quitté votre wallet. Si vos cUSDC ne couvraient pas le prix, rien n'a été pris.

La seconde est une offre secrète. Écrivez un montant et appuyez sur Sceller : votre navigateur le chiffre, et le marché le garde en séquestre. Seuls vous et le vendeur pourrez jamais le lire ; tous les autres voient seulement qu'une offre a été faite. Le vendeur brise les sceaux, une signature pour toutes les offres de son étal, et peut en accepter une aussitôt : l'article vous revient, le séquestre au vendeur, et ce prix n'est jamais publié. Une offre venue d'un wallet qui ne pouvait pas la couvrir contient zéro, et le vendeur le voit. Tant qu'elle n'est pas acceptée, vous pouvez reprendre votre offre à tout moment, même après la fin de l'annonce. La figure de Comment les choses sortent joue les deux façons, pas à pas.

Au prix affichéPar offre secrète
Le prixPublic, sur l'étiquetteScellé : seuls vous et le vendeur le lisez
Comment ça se passeAcheter, puis un bit déchiffré en publicSceller, puis le vendeur accepte quand il veut
Si vos cUSDC ne suffisent pasRien n'est prisL'offre contient zéro, et le vendeur le voit
Si vous changez d'avis, ou perdez la courseDevancé, ou l'annonce a changé : remboursé en entierLa reprendre à tout moment tant qu'elle n'est pas acceptée
Ce que tout le monde voitQue vous l'avez acheté, et le prixQu'une offre a été faite, puis que vous l'avez acheté ; jamais le prix

Quelle que soit la façon dont un article se vend, 2,5 % du prix va au dépôt et le reste au vendeur. Le contrat ne peut jamais fixer cette part au-dessus de 10 %.

Une boîte garde son état sur l'étal

Une boîte se vend dans l'état public où elle a été mise en vente : scellée ou ouverte, intriquée ou non, passée chez le véto ou non. Si cela change pendant qu'elle est en vente, par exemple si sa partenaire intriquée est ouverte et l'ouvre avec elle, l'acheter ou accepter une offre dessus est refusé, et un achat encore en attente est remboursé.

Une boîte scellée sur un étal peut toujours être reniflée : un secouage payant vous révèle un de ses traits, à vous seul, comme pour n'importe quelle boîte. La part du détenteur attend dans la boîte comme d'habitude, et celui qui achète la boîte la récupère. Avant d'acheter une boîte scellée, partez du principe que le vendeur l'a secouée ; quelques reniflements rétablissent l'équilibre.

Monter son étal

Pour vendre, appuyez sur Vendre, choisissez une boîte, un chat ou un rat, et fixez un prix. La page montre ce que vous touchez une fois les 2,5 % du dépôt retenus, et les acheteurs peuvent aussi vous glisser des offres scellées. Vos boîtes ne sont connues que de vous : les retrouver demande une signature pour lire vos reçus, comme le fait Afficher mes boîtes.

Un rat est un NFT ordinaire : il part au marché et il est mis en vente aussitôt. Une boîte, c'est moins simple, puisque personne ne peut vérifier qui la détient, le marché compris. Elle part donc au marché par un transfert peut-être, comme n'importe quel cadeau, puis son arrivée est déchiffrée en public. L'annonce ne s'ouvre que si elle est bien arrivée : seul le vrai détenteur d'une boîte peut la vendre, et une fois que le marché la détient, personne d'autre ne peut la mettre en vente. D'ici là, elle s'affiche En route.

Vendre est un acte public : vendre une boîte montre à tous que vous la déteniez. Son contenu reste scellé, pour vous comme pour l'acheteur. Le vendeur de chaque annonce, son prix demandé, l'acheteur de chaque vente, et si chaque acheteur au prix affiché pouvait payer sont publics. Les soldes, les montants des offres et le prix d'une vente sur offre ne le sont jamais.

Pendant qu'un article est en vente, Réétiqueter change son prix (les achats en attente à l'ancien prix sont remboursés), et Le reprendre le ramène chez vous. Les acheteurs gardent leurs offres scellées, à reprendre quand ils veulent.

Le marché aux puces est ouvert sur Sepolia, avec des dollars de test. Dans la démo, l'équipe de nuit tient quelques étals, glisse une offre secrète sur tout ce que vous mettez en vente, et accepte toute offre d'au moins 70 % de votre prix demandé.

Tant qu'on est sur le testnet

Cette partie disparaîtra au mainnet.

Le jeu tourne sur Sepolia, le réseau de test d'Ethereum. Rien ici n'a de valeur. L'USDC est le jeton de test de Zama, gratuit depuis le volet du wallet ou le bureau de change ; l'ETH pour le gas vient d'un faucet ; le pool de croquettes n'existe que pour qu'on puisse essayer le marché ; et chaque prix de ce manuel est un prix de test.

La liste blanche du mainnet a 1 500 places, premiers arrivés, premiers servis : une place va à chaque joueur qui la réclame, ou qui connecte un compte X sur la page d'embarquement, jusqu'à ce qu'il n'en reste plus. Vos points : 3 par adversaire battu en duel, 1 par adversaire affronté, 2 par boîte ouverte, jusqu'à 10 boîtes. Un wallet relié à votre pass d'embarquement X gagne 5 points de plus, et encore 3 une fois que vous avez rejoint le serveur Discord et lancé /board avec le code de la page d'embarquement. Chaque ami qui embarque par votre lien de parrainage ajoute 2 points, jusqu'à 10 amis, dès que son pass a une place et un wallet relié. Chaque adversaire compte une fois, peu importe combien de fois vous l'affrontez, et les duels entre vos propres wallets ne comptent pas. Réclamez votre place depuis l'onglet Duels du classement en signant avec votre wallet : c'est gratuit, aucune transaction n'est envoyée, et le jeu apprend seulement que votre adresse le demande. Signez à nouveau plus tard pour mettre vos points à jour ; vos meilleurs points sont gardés, même si le réseau de test repart de zéro. Les joueurs sont classés par points ; à points égaux, la réclamation la plus ancienne passe devant.

Chaque place vient avec un cadeau, fixé par votre rang parmi les joueurs assis quand la liste ferme. Les rangs 1 à 500 voyagent en Première classe : 100 à 500 cCROQ, une boîte scellée et un rat. Jusqu'au rang 1 000, Business : 50 à 250 cCROQ et une boîte. Jusqu'au rang 1 500, Économie : 20 à 100 cCROQ et un rat. Les croquettes sont tirées au sort sous chiffrement : seul votre wallet peut lire combien. La boîte est mintée gratuitement pour vous parmi les boîtes gardées hors de la vente : une vente épuisée ne vide donc jamais un cadeau ; le rat est un rat gratuit, sa graine tirée au hasard. Les deux sont publics, comme le premier détenteur d'une boîte après un mint d'une seule. Un cadeau que personne ne récupère n'est jamais minté. Le cadeau se récupère sur le mainnet, en une transaction depuis le même onglet Duels, dans les 30 jours qui suivent la fermeture de la liste, avec un wallet qui a réclamé sa place : une place tenue seulement par un compte X n'a pas de wallet où l'envoyer.

Les contrats sur Sepolia :

Référence complète

  • ArchitecturePackages, flux de données, la chaîne 3D
  • Modèle de donnéesCe qui est chiffré, par token, et les listes d'accès
  • FluxDiagrammes de séquence pour chaque mécanique
  • Notes ZamaVersions vérifiées, et où le protocole diffère du premier brief
  • DesignDirection artistique, effets, budget de performance
  • ContratsCoût de chaque fonction, déploiement, ligne de commande
  • CroquettesLes deux jetons, le Garde-manger, tous les chiffres et ce qui fuit
  • Propriétaires cachésL'ERC-721 confidentiel, ce qui fuit encore, ce que ça coûte
  • Proxy du relayerComment les déchiffrements sont comptés, le quota gratuit et les crédits