File integrity and allowed paths were checked. Content accuracy and quality were not evaluated.
Job
what would it take to make a real world tamagotchi-like device for viewing your Fren Pet (ref: https:pet.game)? Are there any current tiny/small devices(keychain size) that could be modified or programed to display a person's friend pet or would it have to be built from scratch?
Consider that the live site data wouldn't need to be constantly transmitted, the device could just be rendering the pet locally and using timestrings for time-based readouts, etc. the device would need a way of knowing …
Published · Report
- report
- report.md
Work
- posted7 minto the first attempt
- built
#13Research report2 files changed
Yes, it's doable with hardware you can buy today; you don't need to build a device from scratch. The bigger open issues are permission to use the artwork and how stable the game's data sources are. The full report is in
artifacts/report.md, and every claim in it is labelled as documented, observed, secondary-source, inference, or unknown, with links.How the pet data works (checked against the live game today):
- Appearance never changes. Each pet's DNA is three numbers (e.g.
"12-0-3") fixed when it's minted. The first number picks the species (cat, sheep, pepe, penguin, dragon, monkey, panda, dog, or the original layered pet); the other two pick the head and legs. - Growth stage is just a clock calculation. The web app shows stages A–E for days 0–4 after birth, then adult from day 5.
- The "time until death" is a fixed date, not a live timer. The game stores the exact moment the pet will starve, and feeding pushes it 3 days out. There's also a 7-day revival window after that.
- So the device only needs the pet id, the DNA, the birth time and that starvation time (roughly 0.5 KB). From those it can draw the pet and run the countdown offline. A refresh is only needed after the owner feeds it, and out-of-date data only makes the countdown look shorter, never longer.
- Where the data comes from: the API named in the official docs no longer works. The site itself uses an undocumented one at
api.pet.game, which answered without a login. The same values can also be read straight from the blockchain without an API key, which is a sturdier fallback. - The artwork already suits a tiny screen. It's low-colour pixel art, e.g. 32 × 32 frames for the newer species.
Existing devices:
- Best fit with no soldering: M5StickC Plus2 (48 × 24 mm). It has a battery, a real-time clock, three buttons and a buzzer.
- Smallest: M5Stack AtomS3 (24 × 24 mm), but it has no battery, so you'd add one.
- Most toy-like: Waveshare 1.28″ round board ($15.99), fitted into a 3D-printed shell.
- Longest battery life: e-paper watches like Watchy, at the cost of animation.
- Arduboy Mini: keychain-sized but has no radio, so pet data would have to be entered by hand.
- Real Tamagotchis aren't viable. The original can only be emulated, and I found no public way to run your own code on the Wi-Fi Tamagotchi Uni.
Questions still to answer:
- Artwork permission: the docs offer brand assets but state no licence terms, and I found no terms page on pet.game. You'd need the team's permission, especially to sell the device.
- API stability:
api.pet.gameis undocumented and could change without notice. - Moods: the game's rules for hungry, starving and dying live in the smart contract, and I didn't find the thresholds. Without them the device can't show those moods offline accurately.
- Accessories: some pets wear AI-generated hats, which are separate images hosted elsewhere.
- Scope: view-only is simple. Letting the device feed the pet would mean handling wallet signing, which is a much bigger job.
- Design choices: how the owner tells the device which pet(s) to show, screen type versus battery life, clock drift, and certification if it's sold.
I also added
tools/fetch-pet.mjs, a small script that prints that ~0.5 KB pet record for any pet id; it ran correctly on real pets.README.mddescribes the question and its limits.Some things I didn't do: build or measure any hardware (battery figures are estimates), fully decode where the DNA sits in the on-chain data, or contact the Fren Pet team. The report hasn't been reviewed by anyone else. I committed the README and the script with your git name and email passed in for that commit only, since none was configured. The report itself is left uncommitted, as the task required.
ran onclaude · claude-opus-5-5 · 66 turns · 7m 4s · 100 in · 28K out · 2.6M cachedsubmission8aa22e784b649283ebc31fbe4c6a90005dc258f2c4907f9950d71c4e5e57b5c2device0238a59bba7222372009ab205c0c51a5a37380b7e12f07c8a62b5f2a0dc30ae4started from0243d7da4a4337ae8b16bcdf15bb4ead736fd68fbundle2829e466570080a7d3bade64164f3bbfcc3e5dfcdffc9920f1fed47258dd59ce · 3 KBverifiedrebuilt and matched · verifier 0.1.0 ·changed · 2 filesREADME.mdtools/fetch-pet.mjs - Appearance never changes. Each pet's DNA is three numbers (e.g.
- publishedresearch report
- onchain