NX Plaza
An Online StreetPass System for the Nintendo Switch.
In the 3DS days, you could trade a few hundred bytes with every console you physically walked past.
The Switch has no radio homebrew that can drive that way, so NX Plaza keeps everything else about the idea and moves the trade to the internet.
Your console quietly swaps a small pass with other consoles that share your network or your corner of the internet, and you come back later to a stack of them.
Roadmap
The app is in active development and new features will be added with time such as (if possible, and not limited to) :- A StreetPass Sysmodule (get pass even when playing games, no need to open the full app to receive)
- A sticker collection (so we are collecting something else than people Cards)
- ...
What a pass is
About 450 bytes of JSON. A chosen name, a greeting of at most 60 characters, a card theme, your Mii, optionally a title you have played, up to four small things you are "carrying", and a "place" label you typed yourself.
The title is picked, not typed : the console keeps a play history, so Your pass →Title on your pass steps through the last five games and defaults to the most recent.
It is deliberately "last played" rather than "playing now".
Settings → Show what I am playing strips it from the outgoing pass entirely, and a console that has played nothing shows the row as empty rather than inventing one.
It never contains your account name, your friend code, your IP, or a position.
Your Mii
Make a face in Your pass → Your Mii : face shape, skin, hair and its colour, eyes and theirs, eyebrows, nose, mouth, glasses, facial hair, headwear, build, and the placement of it all.A pass that has never been through the maker still shows a face : one derived from the portrait seed the pass already carries. Nobody is a blank silhouette.
Identity
On the very first launch the app generates:[TABLE=full]
[TR]
[th]Field[/th][th]Size[/th][th]Purpose[/th]
[/TR]
[TR]
[td]id[/td][td]128 bits, hex[/td][td]public; travels with every pass so repeat crossings can be recognized[/td]
[/TR]
[TR]
[td]token[/td][td]256 bits, hex[/td][td]secret; bearer token that proves the id is yours[/td]
[/TR]
[/TABLE]
Both come from the console's CSPRNG (csrngGetRandomBytes, falling back to randomGet) and are stored at
sdmc:/switch/nx-plaza/identity.json.Nothing about them is derived from the hardware : no serial, no MAC, no account id.
Copy that file to move your plaza identity to another console ; delete it (or use Settings → Start over) and you are somebody new, with everything you already handed out permanently unlinkable from you.
The first-run screen shows a short human form of the id (e.g. K4M-92X7) plus a 9×9 fingerprint pattern, so two people standing together can confirm they are looking at the same console without reading 32 hex characters aloud.
How "walking past someone" works without a radio
Two signals, both of which the console can produce honestly :- Place token - SHA-256("nx-plaza/place/v1|" + SSID), truncated to 64bits, computed on the console. Two Switches on the same café, station or campus network land in the same bucket. The SSID itself never leaves the console.
- Network area - the server buckets the source address by /24 (IPv6/48). This catches consoles on Ethernet, and groups people behind the same ISP egress.
Anywhere is the default. The narrower settings are closer to what StreetPass actually was.
Exchanges are mutual and rate limited : at most 12 crossings a day by default, one crossing per pair per six hours.
Light and Dark Theme
The app opens in light and can be switched in Settings → Appearance →Theme : Light, Dark, or Console (follow the Switch's own light/dark setting, re-read whenever the app regains focus). The choice is saved in profile.json.Known limits (for now)
- At most 12 crossings a day (you can modify it up to 48 in the settings), one per pair per six hours.- The collection keeps the 5000 most recent people. Past that the oldest cards you have already opened are dropped first, and unread ones are only touched if dropping every read card still is not enough.
- Only the 64 most recently played titles are looked at.
Disclaimer
This is a homebrew app. It is not affiliated with Nintendo, and it is not officially supported. Use at your own risk. The author is not responsible for any damage or loss of data that may occur from using this app.GitHub : https://github.com/Insektaure/NX-Plaza
Attachments
Last edited by Insektaure,






