This article is about the video game. For the people who make it, see Team PetPal.
PetPal
From the PetPal Wiki, the pet-raising encyclopedia
PetPal is a homebrew virtual pet game for the Nintendo 3DS, developed by Team PetPal and first released in 2026. The player raises a single companion that grows not through time alone but by meeting other players: every console you “pass” becomes a friend who brings the pet experience, gifts, and progress toward its next evolution.[1]
Unlike most 3DS software, PetPal draws its creatures procedurally from shapes and two customizable colors rather than from fixed sprite art, so the whole game is playable without a single drawn frame.[2] It pairs the core raising loop with a real-time care system (needs, moods, and a daily streak), real-time adventures, an automatically written journal, a coin shop, a Star Tap minigame, redeemable codes, and a streamed soundtrack. A companion app on Android raises the same pet and keeps it in sync across devices. PetPal is distributed free under the MIT license and runs on any modded 3DS or 2DS console.
Overview edit
PetPal takes the idea that made StreetPass special — you meet people, and they join your world — and rebuilds it over the internet (see Passing) as the entire point of the game. You raise one pet, and it cannot grow on its own — it grows by meeting people. Each encounter is folded into your world as a friend, usually with a gift and a little experience, and enough encounters push your pet toward its next evolution stage.
The game is built around a quick daily check-in as much as a long session: care for your pet, send it on an adventure, spend your coins in the shop, then read the journal to see who it met while you were away. Everything is presented across the 3DS’s two screens with an animated hub, slide transitions, and celebratory confetti.
Gameplay edit
Your pet
At the start you choose and name one companion from seven species. Each species has its own default palette and procedural look, and can be recolored across color slots with unlockable accessories and styles layered on top.[2] Every pet has Idle, Happy, and Sad animations and reacts to how you treat it.
| Species | Default color | Character |
|---|---|---|
| Fox | Warm orange | The mascot; bright and bouncy. |
| Cat | Slate grey | Cool and curious. |
| Bunny | Soft pink | Gentle and quick. |
| Dragon | Leaf green | Bold; built to evolve. |
| Slime | Sky blue | Wobbly and easygoing. |
| Robot | Steel | Precise and tidy. |
| Axolotl | Rose | Rare and friendly. |
Daily care, moods and streaks
The Pet screen offers five everyday actions — Feed, Play, Rest, Pet, and Talk — that top up your companion’s needs and earn a trickle of experience. Feeding draws on food you keep in the pantry or buy in the shop; a dress-up menu lets you change colors and equip unlocked accessories and styles. When your pet has met enough friends, an Evolve action becomes available.
Happiness, energy, and a hunger need drain in real time — even while the game is closed — and the top screen shows a derived mood (Happy, Content, Hungry, Tired, or Sad) so you can tell at a glance what your pet needs. Caring for your pet at least once a day builds a care streak, which pays a coin bonus every seven days. For a quick reward you can also play Star Tap, a short reaction minigame launched with the Y button that grants coins and a happiness boost.
Stats
A pet is described by a handful of stats that move as you play:[2]
- Level and XP — overall growth from care, adventures, and encounters.
- Happiness, Energy and Hunger — short-term needs that drain in real time and feed into your pet’s derived mood; top them up through daily care.
- Friendship — deepens with players you meet again, not just a raw friend count.
- Adventure rank — rises as your pet completes trips, unlocking farther destinations.
Evolution
PetPal has five evolution stages. Evolution is not driven by time or feeding but by how many friends your pet has met, crossing milestones at 50, 200, 500, and 1,000 encounters.[2] Each stage changes your pet’s appearance and marks real progress through the game.
| Stage | Friends met | Notes |
|---|---|---|
| Stage 1 | 0 | Your pet’s starting form. |
| Stage 2 | 50 | First evolution. |
| Stage 3 | 200 | Second evolution. |
| Stage 4 | 500 | Third evolution. |
| Stage 5 | 1,000 | Final form. |
Special evolution shards from the shop and from codes can help along the way.
Adventures
Between check-ins you can send your pet on a real-time adventure — short, medium, or long. Each destination has its own loot table, and the trip writes itself into a small generated story line that lands in the journal when your pet returns, often with items and coins in tow.[2]
Items and the shop
Adventures and rewards pay out coins, which you spend in the in-game Shop on foods, rare treats, and evolution shards. Items also arrive as gifts from the players you pass. A dedicated currency and inventory sit behind it all, so there is always something to save up for.
Journal and achievements
Your pet keeps an auto-written journal: a charming diary of who it met, what they gave it, and the milestones it reached. Alongside it, a set of achievements tracks long-term goals across everything you do — encounters, adventures, care, and evolution.
Passing edit
Passing is the mechanic that trades pets between players, and it is the heart of PetPal. Each time your console exchanges pets with someone, the other player’s pet arrives as a small, integrity-checked packet; the game folds it into your world as a friend, hands out any gift, grants experience, and updates friendship levels.[2] Meeting the same player twice recognises them rather than creating a duplicate.
By default PetPal runs its own passing system over the internet, carried by PetPal’s own servers at teampetpal.com, so passing works from anywhere with a connection and never needs a second console nearby. And there’s big news: real 3DS StreetPass is now working on PetPal too — the console recognises PetPal as a StreetPass game — with full support in the works.
Real StreetPass (in the works)
On the 3DS, StreetPass is run by a system service called CECD. Every game that uses StreetPass is given a message box that the system provisions for it; when you pass someone in real life, the system quietly swaps the contents of those boxes in the background. For a long time it was assumed a homebrew game like PetPal simply couldn’t get one of these boxes.
PetPal now can. Working from the open-source NetPass project, PetPal registers its own real CEC message box on the console: it shows up in System Settings → Data Management → StreetPass Management and in community CEC tools, enabled and ready — confirmed working on real hardware.[1] Full console-to-console StreetPass exchange is the remaining piece and is actively in the works. Until it ships, PetPal’s internet relay (below) keeps passing working everywhere — and because NetPass forwards genuine StreetPass boxes over the internet, PetPal’s box can ride that too. (Real StreetPass needs the installable .cia build, since the system only grants a title its StreetPass box when it’s installed to the HOME Menu.)
The PetPal relay (teampetpal.com)
PetPal’s everyday passing path — the one that works right now, worldwide — is a small relay server at teampetpal.com. Whenever the 3DS is online, a background task on the console does two things on a timer:
- Uploads a tiny packet describing your own pet, so that other players are able to meet it.
- Downloads a handful of packets that other players have recently left on the relay, and feeds each one into the same meeting pipeline — turning them into friends, gifts, and XP exactly as a physical pass would.
The relay itself is deliberately simple: a small serverless function (a Cloudflare Pages Function) backed by a key-value store that holds recent pet packets for a short while and hands back a random selection on request. Passing itself needs no login, but PetPal does maintain a lightweight, pseudonymous account for each pet — a random PP-XXXX-XXXX ID — so it can support moderation, cross-device linking, and profile badges (see Accounts, linking & Android). It asks for no real name, email, or password. All of the real work stays on the device — PetPal validates every packet it receives, checking a magic number, a version, and a CRC and ignoring its own pet, so a corrupt or tampered packet is discarded rather than trusted. No site secrets ever ship inside the app.[1]
This relay is entirely PetPal’s own and needs no second console and no NetPass to work. NetPass is a separate community project that reroutes genuine StreetPass traffic over the internet; now that PetPal registers a real StreetPass box, NetPass can carry it too — but PetPal never requires it.[3]
Accounts, linking, and the Android app
The first time a pet plays online, the relay issues it a pseudonymous account identifier in the form PP-ABCD-2345, shown in Settings. The ID is what makes moderation and cross-device play possible; it is paired with a per-device token that is minted at runtime and never leaves the device (on the 3DS it lives in the SD-card save). If a pet breaks the rules, its ID — or the connecting address — can be banned, in which case the app shows a “401 Forbidden” screen with the ID for support.
PetPal also has a companion app on Android that raises the same kind of pet with a touch interface, care reminders, and haptics. From Settings → Link to phone you can enter your Android account’s ID to link the two devices into one identity; from then on the pet is kept in sync across your 3DS and phone through your account. In person, the Android app can also trade Pet IDs by showing or scanning a QR code, or by tapping two phones together over NFC.
Some pets carry profile badges — short tags such as Owner, Developer, Helper, or an automatic 1-Year-Club — that the team assigns and that appear next to the pet’s name on both platforms.
Codes edit
Main article: Active codes
PetPal supports redeemable codes. In Settings → Enter code (with the console online), typing a valid code claims a reward that is verified server-side and logged in the journal. Rewards range from bundles of items and unlockable accessories to a temporary transformation.
| Code | Reward | Type |
|---|---|---|
Bonzi | Turns your pet into the purple ape for 24 hours | Temporary |
Apple4Life | 1,000 apples for the pantry | One-time |
Belzer | Unlocks the floppy-eared dog hat | Permanent |
The current list is maintained on the Codes page.
Audio and presentation edit
PetPal ships with real audio: a streamed, seamlessly looping background track plus a mix of recorded and procedurally-synthesized “chip-blip” sound effects, all with live music and SFX volume sliders in Settings. On top of that it layers slide transitions between screens, celebration confetti, and an animated hub, aiming for the feel of a polished handheld title rather than a tech demo.
Technical details edit
PetPal is written in C++17 and built with the devkitPro toolchain, using libctru for system access and citro2d/citro3d for graphics, with ndsp for audio and 3ds-curl (libcurl + mbedTLS) for HTTPS.[4] Gameplay logic is deliberately decoupled from the console, so the model is testable on a PC.
- Rendering — pets and UI are drawn procedurally at a 60 FPS target across both screens; graphics assets are mounted from
romfs. - Saves — versioned and CRC-validated with atomic writes, a rotating backup, and portable exports, stored at
sdmc:/3ds/PetPal/. - Distribution — a
.3dsxfor the Homebrew Launcher and an installable.ciafor the HOME Menu, plus an Android.apkcompanion app distributed via Google Play. - Requirements — a modded 3DS/2DS running custom firmware (e.g. Luma3DS); an internet connection for passing and codes.
The source code is released under the MIT license and hosted on GitHub.
Version history edit
| Version | Date | Notes |
|---|---|---|
| 0.1.4 | 2026 | Care update: real-time needs, moods and a Rest action; a daily care streak; the Star Tap minigame; cross-device continuity via phone linking; profile badges; and save format v4. |
| 0.1.3 | 2026 | Accounts & moderation: server-issued Pet IDs, a boot-time ban check with a 401 screen, pet reporting, an expanded name filter, and the groundwork for phone linking. |
| 0.1.2 | 2026 | Added the on-device name filter and a boot-time update check. |
| 0.1.1 | 2026 | Maintenance: changed the title ID to avoid collisions with other homebrew. |
| 0.1.0 | 2026 | First public release: procedural pets, coin shop, audio, screen transitions, code redemption, and internet-relay passing. |
Planned for later versions: a food-picker when feeding, a dedicated evolution cutscene, rendering the remaining accessories and styles, and additional navigation sounds.[1]
See also edit
- Features — the full feature list
- Download — how to install and play
- Android app — the cross-device companion
- Active codes — current redeemable codes
- NetPass — worldwide passing for the 3DS
References edit
- “PetPal” project README, PetPal Team, GitHub. Retrieved 2026.
- “Features”, Team PetPal.
- NetPass, community StreetPass relay for the Nintendo 3DS.
- devkitPro — toolchain and libraries (libctru, citro2d, citro3d).
External links edit
- Official website — teampetpal.com
- Source code and releases on GitHub
- 3ds.hacks.guide — how to mod a 3DS