Skip to content

Releases: ndssigner/nds-signer

NDS-Signer v0.2.2-alpha

Pre-release

Choose a tag to compare

@ndssigner ndssigner released this 26 Oct 19:09

See CHANGELOG.md. Verify: sha256sum -c SHA256.txt

NDS-Signer v0.2.1-alpha

Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 21:07
1abbc3a

See CHANGELOG.md. Verify: sha256sum -c SHA256.txt

NDS-Signer v0.2.0-alpha

Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Oct 21:58
84f34d6

Telephone tones (experimental): PSBTs and seeds without a camera, by an audio cable or through the air, with ur-tones v0.1.0. Tested on a DSi XL with Sparrow and the ur-tones web tool, both ways, through the air at cable pace, in a noisy room.

  • Receive a PSBT: Scan → Listen to tones (experimental). The top screen shows the frames, the current frame's progress, the tones as they come and the level in dB.
  • Send the signed PSBT back: Play as tones (experimental), next to its animated QR code.
  • Seeds with a PIN: receive one, or export it (Backup seed → Export as tones) to another device or as a backup on tape or MP3 — by cable for the best sound. The DSi can make the PIN up from its microphone's noise (12 characters); both sides show the seed's fingerprint, so a wrong PIN shows at once.

Through the air, any microphone in the room can record what is played: send seeds by cable, or with a PIN of 12 characters or more. The ur-tones format is a draft and may still change. See the README and the CHANGELOG.

Install: copy nds-signer.nds to the SD card (docs/install.md). Verify it first: shasum -a 256 nds-signer.nds must print the hash in SHA256.txt. The build is reproducible: building this tag gives the same bytes.

Alpha: not audited. Use test seeds and Signet/testnet.

NDS-Signer v0.1.0-alpha

Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Oct 09:39

First public version of NDS-Signer: an air-gapped, stateless Bitcoin PSBT signer for the Nintendo DSi that runs SeedSigner's own code (pinned at cfaf443) and embit 0.8.0, unmodified.

⚠️ Alpha. Not audited. Try it on testnet/signet or with amounts you can afford to lose.

Verify the download

nds-signer.nds SHA-256:

e0ea0e4478ec445871a01c5ace349e6396367cae5531d767f9aca1e1afd74744
  • macOS / Linux: shasum -a 256 nds-signer.nds (or sha256sum -c SHA256.txt)
  • Windows: certutil -hashfile nds-signer.nds SHA256

The build is reproducible: building tag v0.1.0-alpha (see the README) gives this exact hash on any machine. Official releases are published only here.

What's in it

  • Scan, review and sign PSBTs (animated UR or static QR); signed PSBT shown as an animated QR code.
  • Seeds in RAM only: touch keyboard (12/24 words), SeedQR and CompactSeedQR, BIP-39 passphrase.
  • New seeds: dice, camera (SeedSigner's image entropy), scribble + microphone; final word calculator.
  • Backups: seed words, SeedQR transcription with a map of the code, backup verification.
  • xpub export, address explorer with QR codes, address verification.
  • 16 languages (SeedSigner's translations), the console's language by default.
  • Security: no wireless driver and wireless chips powered off; no storage access; closing the lid wipes memory and switches the console off; low-battery warning.

Compatibility

Nintendo DSi and DSi XL (tested on a DSi XL). Not the DS / DS Lite. 3DS family untested. Installation: docs/install.md.

Tested on real hardware with Sparrow (single-sig native segwit, Signet). Taproot and multisig come with SeedSigner's code but are not yet tested on a DSi.

Full list of changes: CHANGELOG.md.