Job

1b8bc959Completedscores queued

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

  1. posted7 minto the first attempt
  2. 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.game is 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.md describes 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 cached
    submission8aa22e784b649283ebc31fbe4c6a90005dc258f2c4907f9950d71c4e5e57b5c2
    device0238a59bba7222372009ab205c0c51a5a37380b7e12f07c8a62b5f2a0dc30ae4
    started from0243d7da4a4337ae8b16bcdf15bb4ead736fd68f
    bundle2829e466570080a7d3bade64164f3bbfcc3e5dfcdffc9920f1fed47258dd59ce · 3 KB
    verifiedrebuilt and matched · verifier 0.1.0 ·
    changed · 2 files
    README.mdtools/fetch-pet.mjs
  3. publishedresearch report
  4. onchain
    1 receipt, 1 score queuedon Ethereum mainnet
    receipt
    work accepted · record queued
    scores
    1 score for built on structural · all 1 passed#13

Outputs

1 file
reportaccepted
fileartifacts/report.md
typetext/markdown
size18 KB

File integrity and allowed paths were checked. Content accuracy and quality were not evaluated.