Files
guia-seedsigner/README.md
T
pikaroandClaude Opus 5 361c04561b v2: documento de referencia, no solo manual de montaje
Reestructurada en cinco partes con puertas de entrada distintas
(Montar / Generar / Usar / Mantener / Referencia). Antes era ~90%
montaje: se leia una vez y se abandonaba justo cuando empiezan las
preguntas que cuestan dinero.

Parte III (Usar), escrita de cero:
- la rutina de firmar y que mirar en el repaso de la transaccion
- verificar direcciones de recepcion
- convivir con la passphrase: el fingerprint como unica confirmacion
  de haberla escrito bien, porque no hay checksum ni aviso
- multisig, con el descriptor como causa n1 de multisigs irrecuperables

Parte IV (Mantener), nueva: actualizar firmware, que pasa si se rompe,
se pierde o te lo roban, y revision periodica.

Mas una chuleta de consulta rapida y puntos de control numerados.

Cerrado el [VERIFICAR] de signet: NO lo soporta. Verificado en
settings_definition.py del repo oficial, solo MAINNET/TESTNET/REGTEST.

Datos verificados contra el codigo fuente y no contra la documentacion:
los dos vectores de dados, el fingerprint 8d9cced8 y el zpub coinciden
caracter a caracter con docs/dice_verification.md. Espanol y catalan
confirmados entre los idiomas completos, no beta.

Conservadas integras las dos secciones que solo existian en el repo
("Como se reparte esto en el tiempo" y "Si tu placa lleva radio").

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011GtYP8BWsrg9G1u7nD7xGT
2026-09-09 11:46:00 +00:00

912 lines
60 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SeedSigner — guía completa
*Montar, verificar y usar un firmante de Bitcoin **air-gapped** —sin cable, WiFi ni Bluetooth— con componentes genéricos y sin comprar nada relacionado con Bitcoin.*
> Guía en castellano, libre y verificable. **[CC BY-SA 4.0](LICENSE)** — cópiala, tradúcela y adáptala.
> ¿Un error, un dato desactualizado, un paso que no funciona en tu aparato? [Corrígelo](CONTRIBUTING.md), no hace falta pedir permiso.
---
## Cómo usar esta guía
No está pensada para leerse de una sentada, sino para volver a ella. Tiene tres puertas de entrada según dónde estés:
| Si estás… | Empieza en |
|---|---|
| **Decidiendo si te metes** | «Qué es esto y qué no» y luego la Parte V (limitaciones). Y prueba el [simulador](#26-el-simulador-probarlo-sin-comprar-nada) antes de gastar nada |
| **Con las piezas encima de la mesa** | Parte I completa, en orden, sin saltarte el test de I/O |
| **Con el aparato ya montado, generando la seed** | Parte II |
| **Usándolo desde hace tiempo y vienes a consultar algo** | Parte III, o directamente la **chuleta** del final |
**Las partes I y II se hacen una vez. La parte III es la que vas a releer durante años.** Está escrita para eso: entradas cortas, cada una respondiendo a una pregunta que te vas a hacer con el aparato en la mano.
---
## Cómo se reparte esto en el tiempo
Esto no se hace en una tarde: hay que pedir piezas y esperar a que lleguen. Saberlo de antemano evita el chasco de sentarse un sábado a montar algo que aún no ha llegado. Y **la espera es tu aliada**, porque hay trabajo útil que hacer mientras tanto.
| Cuándo | Qué haces |
|---|---|
| **Al empezar** | Decidir el modelo y pedir las piezas (§1). Si tu placa lleva radio, planificar lo de §3 |
| **Mientras esperas** | Descargar y **verificar** el software (§5), grabar la MicroSD (§6), y trastear el [simulador](#26-el-simulador-probarlo-sin-comprar-nada) para llegar con el menú aprendido |
| **El día que llega el paquete** | Montar (§4), arrancar y hacer el test de I/O (§7), pasar el vector de prueba (§10) |
| **Un día que empieces tranquilo** | Generar la seed real (§11), verificación cruzada (§12), passphrase (§19), wallet en Sparrow (§16), backup y su verificación (§14) |
| **Unos días después** | Volver a verificar el backup en frío, y ensayar el ciclo de firma en red de pruebas |
Dos cosas de ese reparto no son negociables:
**No generes la seed real el mismo día que montas el aparato.** El día del montaje estás resolviendo problemas —un cable, un arranque, una tarjeta— y ese no es el estado mental para un proceso donde un error de copia es irreversible. Monta, verifica que funciona, y deja la seed para un día que empieces tranquilo.
**Verifica el software mientras esperas el paquete, no después.** Es el paso que más gente se salta por prisa, y hacerlo cuando no tienes el aparato delante quita justamente esa prisa.
---
## Qué es esto y qué no
SeedSigner es un **firmante** (*signing device*), no una wallet. No guarda tu seed: la mantiene en memoria mientras está enchufado y **la olvida por completo al desconectarlo**. Esa propiedad —ser *stateless*— es su rasgo definitorio y la razón de casi todo lo que hace raro.
Tres cosas que conviene tener claras antes de montar una:
1. **Tu backup en papel o metal ES el dispositivo.** No hay copia en el aparato. Si pierdes el papel, no hay nada que recuperar de la SeedSigner. Esto asusta al principio y luego resulta liberador: el hardware es desechable y reemplazable.
2. **No tiene WiFi ni Bluetooth** (en la Pi Zero 1.3, que es la recomendada). Solo puede *recibir* datos leyendo códigos QR con la cámara, y solo puede *enviar* datos mostrando QR en su pantalla. Aunque el software quisiera filtrar tu seed, no tiene por dónde.
3. **La montas tú.** Eso es una ventaja de seguridad real —no hay pedido a tu nombre, ni lista de clientes, ni paquete que interceptar— y un coste de tiempo real.
> **Esta guía cubre el aparato, no el método.** El **porqué** —por qué generar tu propia entropía, cómo verificarla, cómo diseñar una passphrase— está en la [guía de autocustodia verificable](https://git.bitcointxoko.org/pikaro/autocustodia-verificable), libre igual que esta. Aquí no se repite, pero lo esencial va resumido donde hace falta, para que este documento se lea solo.
**Las palabras que más van a salir.** Tu **seed** (o *semilla*) son las 12 o 24 palabras en inglés de las que se derivan matemáticamente todas tus claves y todas tus direcciones; no están «dentro» del aparato. El **fingerprint** son ocho caracteres que identifican una wallet sin revelar nada de ella: es como vas a saber que estás en la correcta. Y **PSBT** es una transacción a medio hacer, sin firmar, que viaja del ordenador al firmante y vuelve firmada.
**Estado de la información:** septiembre de 2026, software **v0.8.7** («The Summer of SeedSigner», 8 de julio de 2026). Datos verificados contra el código fuente del proyecto, no contra su documentación. Contrasta siempre con el [repositorio oficial](https://github.com/SeedSigner/seedsigner) antes de seguir cualquier paso técnico: si algo aquí lo contradice, gana el repositorio.
> ⚠️ **El README del repositorio va por detrás de las releases.** Cuando escribimos esto, el texto del README seguía documentando la 0.8.6 mientras la 0.8.7 llevaba semanas publicada. **Mira siempre la [página de releases](https://github.com/SeedSigner/seedsigner/releases), no el README.** Es un caso pequeño del principio de toda la guía: la documentación envejece, la fuente primaria manda.
---
## Índice
**Parte I — Montar** *(se hace una vez)*
1. [Materiales](#1-materiales)
2. [Soldar o no: la decisión previa a comprar](#2-soldar-o-no-la-decisión-previa-a-comprar)
3. [Si tu placa lleva radio: desactivarla](#3-si-tu-placa-lleva-radio-desactivarla)
4. [Montaje](#4-montaje)
5. [Descargar y verificar el software](#5-descargar-y-verificar-el-software)
6. [Grabar la MicroSD](#6-grabar-la-microsd)
7. [Primer arranque y test de entrada/salida](#7-primer-arranque-y-test-de-entradasalida)
8. [Recorrido por la interfaz](#8-recorrido-por-la-interfaz)
9. [Configuración recomendada](#9-configuración-recomendada)
**Parte II — Generar la seed** *(se hace una vez, otro día)*
10. [El vector de prueba](#10-el-vector-de-prueba)
11. [Las 99 tiradas](#11-las-99-tiradas)
12. [Verificación cruzada](#12-verificación-cruzada)
13. [Los otros dos métodos: cámara y elegir palabras](#13-los-otros-dos-métodos-cámara-y-elegir-palabras)
14. [El backup, y cómo se comprueba](#14-el-backup-y-cómo-se-comprueba)
15. [SeedQR: cargar la seed en segundos](#15-seedqr-cargar-la-seed-en-segundos)
**Parte III — Usar** *(esto es lo que vas a releer)*
16. [La wallet en Sparrow](#16-la-wallet-en-sparrow)
17. [La rutina de firmar](#17-la-rutina-de-firmar)
18. [Recibir: verificar la dirección](#18-recibir-verificar-la-dirección)
19. [Convivir con la passphrase](#19-convivir-con-la-passphrase)
20. [Multisig, que es su razón de existir](#20-multisig-que-es-su-razón-de-existir)
**Parte IV — Mantener**
21. [Actualizar el firmware](#21-actualizar-el-firmware)
22. [Si se rompe, se pierde o te lo quitan](#22-si-se-rompe-se-pierde-o-te-lo-quitan)
23. [Revisión periódica](#23-revisión-periódica)
**Parte V — Referencia**
24. [Resolución de problemas](#24-resolución-de-problemas)
25. [Limitaciones y qué NO hace](#25-limitaciones-y-qué-no-hace)
26. [El simulador: probarlo sin comprar nada](#26-el-simulador-probarlo-sin-comprar-nada)
27. [Chuleta de consulta rápida](#27-chuleta-de-consulta-rápida)
28. [Fuentes](#28-fuentes)
---
---
# PARTE I — MONTAR
## 1. Materiales
| Pieza | Especificación exacta | Trampa |
|---|---|---|
| **Raspberry Pi Zero** | **v1.3**, sin WiFi/Bluetooth | Ver trampa 2 ⚠️ |
| **Pantalla** | Waveshare **1.3" LCD HAT, 240×240 px** | ⚠️ La trampa principal |
| **Cámara** | Compatible Pi Zero, sensor **OV5647** (Aokin / AuviPal 5MP 1080p) | El cable es específico del Zero |
| **MicroSD** | Cualquiera, ≥ 4 GB | La imagen ocupa < 42 MB |
| **Alimentación** | Cargador USB de red o batería externa | ⚠️ Ver trampa 3 |
| **Carcasa** | Open Pill u Orange Pill (impresión 3D) | Opcional para empezar |
**Lo que de verdad importa de esta lista, y no es el precio:** son componentes genéricos de electrónica, fáciles de encontrar, y **no hay un solo componente de Bitcoin en ella**. Nadie sabe qué estás montando. No hay pedido a tu nombre en la lista de clientes de un fabricante de hardware wallets, ni paquete identificable que interceptar entre el almacén y tu casa. Esa es la ventaja estructural del aparato, y a diferencia de un precio, no envejece.
### ⚠️ Las tres trampas de la compra
**1. La pantalla.** Waveshare fabrica varias placas de 1,3 pulgadas que **se parecen muchísimo y no son compatibles**. La que necesitas es la de **240×240 píxeles**. Si compras la de otra resolución, no funciona y no hay forma de arreglarlo por software. Comprueba la resolución en la descripción antes de pagar, no el aspecto de la foto.
**2. El modelo de Pi.** La recomendada es la **Pi Zero 1.3**, precisamente porque **no lleva WiFi ni Bluetooth**: la propiedad air-gapped es física, no una opción que puedas desactivar por descuido.
Las «W» y «2W» son más fáciles de encontrar y funcionan, pero llevan radio. Si acabas con una:
- Sigue siendo utilizable — el software de SeedSigner no usa la radio.
- Puedes **desactivar el WiFi/BT por hardware**. Hay un procedimiento documentado por [DesobedienteTecnologico](https://github.com/DesobedienteTecnologico/rpi_disable_wifi_and_bt_by_hardware) (proyecto en español, por cierto).
- **Importante:** cada modelo usa una imagen distinta y **no son intercambiables**. Ver la tabla de §5.1.
**3. La alimentación.** Es la causa nº 1 de «no me funciona la cámara» y «se reinicia solo». **Una pila de 9 V no da suficiente corriente.** Usa un cargador de red decente o una batería externa (*power bank*) de las normales. Y usa un cable USB de datos-y-carga en buen estado: los cables de carga baratos tienen conductores finos y provocan caídas de tensión que se manifiestan como fallos aleatorios.
### Dónde comprar
Cualquier distribuidor de electrónica sirve. Comprar en tres sitios distintos es incluso mejor: refuerza justo la ventaja del párrafo de arriba.
Las carcasas impresas se pueden comprar hechas en [BTC Hardware Solutions](https://btc-hardware-solutions.square.site), o imprimirlas: los ficheros están en el [repositorio](https://github.com/SeedSigner/seedsigner/tree/main/enclosures). La **Open Pill** se imprime sin soportes y no necesita tornillería. La **Orange Pill** queda más acabada pero pide 4 separadores M2,5 de 10 mm y tornillos M2,5 de 6 y 12 mm.
**Y si no tienes impresora 3D ni ganas:** el aparato funciona perfectamente sin carcasa, con el cable de la cámara recogido bajo la pantalla y una goma elástica sujetándolo todo. No es elegante y da igual.
---
## 2. Soldar o no: la decisión previa a comprar
La Pi Zero viene, por defecto, **sin los pines GPIO soldados**. La pantalla se conecta a esos 40 pines (2 filas de 20). Tienes tres caminos:
| Opción | Qué implica | Para quién |
|---|---|---|
| **Comprar «Pi Zero WH»** | Viene con los pines ya soldados de fábrica | ⭐ **Si dudas, esta.** Te ahorra el único paso que puede arruinar la placa. Ojo: la WH lleva radio (trampa 2) |
| **Soldar tú** | 40 puntos de soldadura. No es difícil, pero es la primera vez de mucha gente | Si quieres aprender, o ya tienes soldador |
| **Cabezal a presión** (*hammer header*) | Se clava a martillo, sin estaño. Funciona, menos fiable a largo plazo | Solución de compromiso, y mucha gente no sabe que existe |
**Si sueldas, dos consejos que evitan la mayoría de los problemas:**
- **Suelda antes de montar nada más.** Placa desnuda, buena luz, sin prisa.
- **Una soldadura fría no se ve, se nota.** Si la pantalla no enciende, los botones no responden o el aparato se reinicia, revisa las soldaduras antes que ninguna otra cosa. Una soldadura correcta es brillante y con forma de volcán; una fría es mate y abultada.
---
## 3. Si tu placa lleva radio: desactivarla
*Sáltate esta sección si tienes una **Pi Zero 1.3**: no lleva WiFi ni Bluetooth y no hay nada que desactivar. Ese es el motivo de que sea la recomendada.*
Si acabaste con una **Zero W** o una **Zero 2 W** —son más fáciles de encontrar, y la WH con los pines puestos también lleva radio—, tienes un chip inalámbrico en la placa. Conviene entender qué significa antes de decidir si tocarlo.
**Y hazlo antes de montar**, por el motivo del punto 3.3: la comprobación necesita un sistema con terminal, y SeedSigner OS no lo tiene.
### 3.1 Las tres capas, y cuál puedes comprobar
| | Qué es | ¿Puedes verificarlo tú? |
|---|---|---|
| **El sistema no carga la radio** | SeedSigner OS no incluye controladores ni firmware inalámbrico | **No.** Es una propiedad del sistema que tendrías que creerte |
| **Desactivarla por software** | Una línea de configuración que la apaga al arrancar | **No.** Depende de que el arranque la respete |
| **Quitar el componente** | Un trozo de metal deja de estar en la placa | **Sí. Mirándola.** |
Esa tabla es toda la sección. Las dos primeras probablemente funcionan; el problema es que **son promesas que no puedes comprobar**, y este documento va justamente de reducir eso. La tercera la verificas con los ojos.
Dicho lo cual: **la opción realmente buena es no tener el problema.** Si aún no has comprado, la Pi Zero 1.3 lo resuelve sin tocar nada.
### 3.2 Cómo se quita
El proyecto [rpi_disable_wifi_and_bt_by_hardware](https://github.com/DesobedienteTecnologico/rpi_disable_wifi_and_bt_by_hardware) de Desobediente Tecnológico lo documenta con radiografías del chip y fotos de qué quitar exactamente. Hay [traducción al castellano](https://estudiobitcoin.com/deshabilitar-wifi-y-bluetooth-de-raspberry-pi/) alojada en Estudio Bitcoin, y está bajo **CC BY 4.0**.
En resumen, para que sepas a qué te enfrentas antes de abrir nada:
- Se retira **una bobina SMD** —un componente diminuto— que alimenta al chip inalámbrico. Sin ella el chip no puede funcionar: sigue soldado y alimentado, pero es inalcanzable. El símil que usan es bueno: un coche con un cable del ABS cortado arranca igual, pero al ABS no hay forma de llegar.
- **Está en la misma posición en la Zero W y en la Zero 2 W.**
- En la **Zero 2 W** hay antes un **blindaje metálico** que retirar con calor (pistola o secador) o abrir con una herramienta rotativa.
- Se quita **con alicates finos, cortando por el medio**, o con un soldador caliente empujando por cada extremo. Hay vídeo en el repositorio.
- Si solo quieres quitar el WiFi y conservar el Bluetooth, es otro componente distinto.
> ⚠️ **Es irreversible y puedes cargarte la placa.** Estás cortando un componente de milímetro y medio sobre una placa multicapa: un resbalón se lleva una pista por delante y el aparato no vuelve a arrancar. Si nunca has hecho nada parecido, **sale más barato comprar una Pi Zero 1.3** que estropear una placa aprendiendo.
### 3.3 Cómo comprobar que funcionó, y cuándo
Un detalle práctico que no cuenta nadie: **SeedSigner OS no tiene terminal**, así que no puedes comprobarlo con él ya instalado. Hay que hacerlo antes.
1. Graba una **Raspberry Pi OS normal** en una MicroSD cualquiera y arranca la placa ya modificada.
2. En el terminal escribe `ip addr`. **Si no aparece `wlan0`, el WiFi está desactivado por hardware.**
3. Escribe `bluetoothctl`. Si no abre o se queda colgado, buena señal.
4. Solo entonces graba SeedSigner OS en la tarjeta buena.
Ese orden importa: si lo dejas para después, te quedas sin forma de saber si salió bien.
---
## 4. Montaje
**Regla de oro: prueba antes de meterlo en la carcasa.** Desmontar un conjunto ya encajado para arreglar un problema es la forma más habitual de romper la pantalla o la carcasa. El orden correcto es: montar sin carcasa → grabar la SD → arrancar → test de I/O → *entonces* encajarlo todo.
### 4.1 La cámara
Es la pieza más delicada y donde más gente se equivoca.
1. En la Pi Zero, localiza el conector de cámara (el conector plano estrecho, en el borde).
2. **Tira suavemente de las pestañas hacia fuera.** Cuando están hundidas, sujetan el cable; hay que levantarlas para poder insertarlo. Si empujas con las pestañas hundidas, doblas el cable.
3. Inserta el cable plano **con los contactos dorados mirando hacia la cara inferior de la placa** (la cara sin componentes). **Esto es lo que más gente pone al revés.**
4. Vuelve a presionar las pestañas para fijar el cable.
5. Comprueba que el cable entra recto y hasta el fondo, sin quedar torcido.
> El proyecto tiene [vídeos oficiales de montaje](https://www.youtube.com/@SeedSigner). Si solo vas a ver un minuto de vídeo en toda tu vida, que sea el del cable de la cámara: es un gesto que se entiende viéndolo y se explica fatal por escrito.
> El cable de la Pi Zero es **más estrecho** que el de las Raspberry Pi grandes. Si compraste una cámara «para Raspberry Pi» genérica, puede venir con el cable ancho y necesitarás el adaptador correcto. Comprueba esto al desembalar.
### 4.2 La pantalla
Encaja el HAT de Waveshare sobre los 40 pines GPIO. Va en una única orientación posible: la pantalla queda sobre la Pi, y los pines entran todos a la vez. **No fuerces.** Si no entra, algo está desalineado — retíralo y mira los pines.
### 4.3 La carcasa (después de probar)
Una vez confirmado que arranca, la pantalla pinta, los botones responden y la cámara ve, ya puedes encajarlo.
---
## 5. Descargar y verificar el software
⚠️ **Ejecuta la verificación antes de abrir o montar el archivo `.img`.** Algunos sistemas operativos modifican el archivo al montarlo y la verificación fallaría.
**Este es el paso que más gente se salta y el que más importa.** Cuando alguien te pase un enlace por Telegram diciendo «la última versión de X», esto es lo que hay que hacer. Cuesta cinco minutos.
### 5.1 Descarga la imagen de TU modelo
Desde las [releases oficiales](https://github.com/SeedSigner/seedsigner/releases). Versión actual: **0.8.7**. Comprueba en esa página que no ha salido una más nueva.
| Tu placa | Imagen |
|---|---|
| Raspberry Pi Zero 1.3 ⭐ | `seedsigner_os.0.8.7.pi0.img` |
| Raspberry Pi Zero W | `seedsigner_os.0.8.7.pi0.img` |
| Raspberry Pi Zero **2** W | `seedsigner_os.0.8.7.pi02w.img` |
| Raspberry Pi 1 B/B+ | `seedsigner_os.0.8.7.pi0.img` |
| Raspberry Pi 2 B | `seedsigner_os.0.8.7.pi2.img` |
| Raspberry Pi 3 B | `seedsigner_os.0.8.7.pi02w.img` |
| Raspberry Pi 4 B / 400 | `seedsigner_os.0.8.7.pi4.img` |
La imagen ocupa **menos de 42 MB** desde la v0.6.0. Si te parece que ha descargado demasiado rápido, es normal.
> Elegir mal no rompe nada: es software, no firmware. Simplemente no arrancará y volverás a grabar la SD. Si no sabes qué placa tienes, prueba `pi0`.
>
> Si le quitaste físicamente el chip de WiFi a tu placa, sigues usando la imagen del hardware **original**: las imágenes se compilan por arquitectura de procesador.
**Descarga también, de la misma release, estos dos archivos:**
- `seedsigner.0.8.7.sha256.txt` — el manifiesto de hashes
- `seedsigner.0.8.7.sha256.txt.sig` — su firma
Los tres archivos, en la misma carpeta.
### 5.2 Verificar la firma
**1. Importar la clave pública del proyecto:**
```
gpg --fetch-keys https://keybase.io/seedsigner/pgp_keys.asc
```
Debe confirmar que se importó o actualizó 1 clave. **Ignora el ID y el correo que muestre.**
**2. Verificar la firma del manifiesto:**
```
gpg --verify seedsigner.0.8.7.sha256.txt.sig
```
Debe decir **«Good signature»**. Si dice «Bad signature», **para aquí**.
El aviso `WARNING: This key is not certified with a trusted signature` es **normal** y se resuelve en el paso siguiente. Va a salir en rojo y va a asustar. No es un error.
**3. El paso crítico — ¿de quién es esa clave?**
En la última línea de la salida, toma los **16 caracteres de la derecha** (4 bloques de 4) y compáralos con la huella publicada en [keybase.io/seedsigner](https://keybase.io/seedsigner).
⚠️ **El nombre y el correo que muestra GPG no verifican nada.** Cualquiera puede poner el texto que quiera al crear una clave. **Solo la huella cuenta.**
Para no depender de una sola fuente, el proyecto publica la misma huella en tres sitios independientes:
- [Twitter](https://twitter.com/SeedSigner/status/1530555252373704707)
- [Gist de GitHub](https://gist.github.com/SeedSigner/5936fa1219b07e28a3672385b605b5d2)
- [seedsigner.com/keybase.txt](https://seedsigner.com/keybase.txt)
¿Por qué varias? Porque si solo miras una, basta con que comprometan esa una. Si las cuatro coinciden, un atacante tendría que haberlas comprometido todas a la vez. **Si no coinciden, para aquí.**
**4. Verificar la imagen:**
Linux o macOS:
```
shasum -a 256 --ignore-missing --check seedsigner.0.8.7.sha256.txt
```
*(macOS anterior a Big Sur no soporta `--ignore-missing`; omítelo e ignora los avisos de archivos ausentes.)*
Windows (PowerShell):
```
CertUtil -hashfile seedsigner_os.0.8.7.pi0.img SHA256
```
y compara manualmente con el valor del `.sha256.txt`.
Debe salir **`OK`** para tu archivo `.img`. Si sale `FAILED`, **para aquí**.
### 5.3 Alternativa sin terminal
Sparrow Wallet incluye `Tools``Verify Download`, con interfaz gráfica. Le das la firma, el manifiesto y el `.img`.
⚠️ **Pero Sparrow te mostrará el nombre y correo de la clave, y eso no verifica nada.** El paso 3 (contrastar la huella) sigue siendo imprescindible hagas la comprobación como la hagas.
### 5.4 Si quieres eliminar incluso esa confianza
Desde la v0.7.0 las imágenes son **reproducibles**: puedes compilarlas desde el código fuente y comprobar que el resultado es byte a byte idéntico al publicado. Eso elimina la confianza en quien firma las releases. Instrucciones en el [repo de seedsigner-os](https://github.com/SeedSigner/seedsigner-os/blob/main/docs/building.md).
Es también una forma útil de contribuir: compilar y publicar el hash que te sale.
---
## 6. Grabar la MicroSD
Tres opciones: **Raspberry Pi Imager**, **balenaEtcher** o `dd`. Las dos primeras son las recomendadas; ambas verifican la escritura por defecto, y **conviene esperar a que esa verificación termine** — te ahorra horas de depuración si luego el aparato no arranca.
- No hace falta formatear la tarjeta antes.
- Comprueba que el adaptador de MicroSD **no tiene el interruptor de bloqueo activado**.
- Borra todo lo que hubiera en la tarjeta.
**En macOS:** al terminar, el sistema dirá que el disco es ilegible y ofrecerá inicializarlo. **Pulsa «Expulsar», nunca «Inicializar».** Es normal: macOS no sabe leer el sistema de archivos de Linux.
**En Windows:** usa Pi Imager como primera opción. Si la escritura falla, se cuelga o no empieza, prueba a ejecutar la aplicación **como administrador**. Si tienes activado *Acceso controlado a carpetas*, desactívalo temporalmente.
Si una de las dos aplicaciones te falla, prueba la otra: hay máquinas donde una funciona mejor que la otra.
---
## 7. Primer arranque y test de entrada/salida
1. Inserta la MicroSD.
2. Conecta la alimentación **por el puerto USB correcto** — la Pi Zero tiene dos micro-USB y solo uno es de alimentación (viene marcado `PWR`). La mitad de la gente se equivoca aquí.
3. **Espera unos 45 segundos** a que aparezca el logo. La primera vez parece que no pasa nada. Ten paciencia antes de concluir que algo falla, y sobre todo **no empieces a desenchufar y reenchufar**.
### El test de I/O: hazlo siempre
`Settings`**Input/Output Tests**.
Comprueba, uno por uno:
- **Cada botón y cada dirección del joystick.** Si alguno no responde → soldadura.
- **La cámara.** Debe mostrar imagen en vivo. Si no → cable del revés, mal insertado, o alimentación insuficiente.
Este test tarda dos minutos y es el que decide si puedes montar la carcasa o tienes que volver al soldador. **No lo saltes.**
> **La SD se puede quitar después de arrancar.** Es una propiedad de seguridad deliberada: una vez cargado el sistema en memoria, puedes extraer la tarjeta y así garantizar que ningún dato secreto pueda escribirse en ella. Para uso normal no hace falta, pero es una opción disponible.
### Punto de control 1
Antes de seguir, deberías tener: **arranca · la pantalla pinta · todos los botones responden · la cámara ve.** Si algo de esto falla, no sigas: los pasos siguientes dan todo esto por supuesto y vas a perseguir el fallo equivocado.
---
## 8. Recorrido por la interfaz
**Los controles:** un joystick de 5 posiciones (arriba, abajo, izquierda, derecha, pulsar) y tres botones (KEY1, KEY2, KEY3) cuya función cambia según la pantalla y se indica en el margen.
**El menú principal:**
| Entrada | Qué hace |
|---|---|
| **Scan** | Activa la cámara para leer un QR (una PSBT a firmar, una SeedQR, un QR de ajustes, una dirección a verificar) |
| **Seeds** | Gestiona las seeds cargadas en memoria en esta sesión |
| **Tools** | Crear seed nueva (dados, imagen, elegir palabras), explorador de direcciones, generación BIP85 |
| **Settings** | Configuración, tests de I/O, idioma, red |
**Lo que hay que interiorizar:** todo lo que hay en `Seeds` **desaparece al desconectar**. No es un fallo ni un modo temporal — es el diseño. La seed vive en tu papel; la SeedSigner solo la sostiene mientras hace un cálculo.
---
## 9. Configuración recomendada
`Settings`:
- **Idioma:** desde la 0.8.7, el **español es idioma totalmente soportado** (y el catalán también). *Verificado en el código fuente del proyecto: ambos figuran en la lista de idiomas completos, no en beta.* Cámbialo nada más arrancar: quita la barrera del inglés de golpe.
- **Red:** Mainnet para uso real; Testnet o Regtest para practicar (ver abajo).
- **Densidad de QR:** si tu ordenador no lee bien los QR animados que muestra la SeedSigner, baja la densidad aquí.
- **Tipos de script:** por defecto Native Segwit. También soporta Taproot, Nested Segwit y Legacy.
- **Modo persistente de ajustes:** los ajustes sí se pueden guardar en la SD (las seeds no).
### SettingsQR: configurar en segundos
El proyecto mantiene un [generador de ajustes](https://github.com/SeedSigner/seedsigner-settings-generator) que produce un **código QR con toda una configuración**. Escaneas el QR con la SeedSigner y queda configurada de golpe: idioma, red, tipos de script, nivel de usuario.
Útil si montas más de un aparato, o si vas a reconfigurar el tuyo a menudo — y no es raro, porque los ajustes se pierden si no activas el modo persistente.
### Qué red usar para practicar
**SeedSigner 0.8.7 no soporta signet.** Verificado contra el código fuente: las únicas redes declaradas son **Mainnet, Testnet y Regtest**. Si has leído en otro sitio que uses signet para practicar custodia —es buen consejo en general, porque testnet3 lleva años deteriorada— aquí no se te aplica.
Tus opciones reales:
- **Testnet**, con sus problemas conocidos (bloques irregulares, faucets que van y vienen). Sirve, con paciencia.
- **Regtest** contra un nodo propio. Es la opción limpia: controlas la red entera, generas bloques a voluntad y no dependes de ningún faucet. Requiere tener un nodo.
---
---
# PARTE II — GENERAR LA SEED
> **Otro día que el montaje.** Ya está dicho arriba, pero es el consejo que más dinero ahorra de toda la guía.
**El porqué de todo esto**, resumido —y desarrollado entero en la [guía del método](https://git.bitcointxoko.org/pikaro/autocustodia-verificable), que se lee aparte y no hace falta para seguir esta—. Si los bits de tu clave los produces tú con un dado, el generador de aleatoriedad del aparato deja de importar: no tienes que confiar en que funcione bien, lo has hecho irrelevante. Esa es toda la tesis. Un dado corriente vale — el sesgo físico de un dado normal cuesta una fracción de bit sobre 256, y es el riesgo más pequeño de la lista con diferencia.
---
## 10. El vector de prueba
**Hazlo primero, siempre.** Vas a comprobar algo que casi nadie que tiene una hardware wallet ha comprobado nunca: que la suya calcula bien.
`Tools``New Seed` → dados → 24 palabras. Introduce:
```
655152231316521321611331544441236164664431121534415633526456254462245546236542364246312613322234612
```
Debe producir **exactamente**:
```
eyebrow obvious such suggest poet seven breeze blame virtual frown dynamic donor
harsh pigeon express broccoli easy apology scatter force recipe shadow claim radio
```
**Vector corto** (50 tiradas → 12 palabras):
```
65515223131652132161133154444123616466443112153441
```
```
hole luggage safe present express tragic orbit shed switch metal identify path
```
Fingerprint `8d9cced8`, zpub `zpub6qf9ziL759pzyhKMWaPfNSiCETkoA6oq3fbCDvXqcURiMtPnkEg3nH93W5mrSkvGPoJC9xTYZheYDsYoiYc5AkSk9iY3DkCJHkFgHMdijW6`.
*Los cuatro valores verificados carácter a carácter contra `docs/dice_verification.md` del repositorio oficial.*
Son seeds públicas, publicadas por el proyecto. **Riesgo cero, diez minutos, y verifica tu unidad concreta con tu firmware concreto** antes de que custodie nada.
Si coincide: tu aparato convierte la entropía correctamente. Si no coincide: para y revisa qué versión tienes instalada.
> **Por qué esto importa más de lo que parece.** El fallo del generador de aleatoriedad de Coldcard de julio de 2026 estuvo cinco años a la vista, en un firmware público que cualquiera podía leer. Si hubiera habido un vector de prueba que la gente pasara de rutina, se habría visto en 2021. Leer el código no bastó; comprobar el comportamiento sí habría bastado.
>
> Es también el argumento contra «es código abierto, es seguro»: **auditable no es lo mismo que auditado, y auditado no es lo mismo que saber qué código se está ejecutando de verdad en tu aparato.**
### Punto de control 2
Tu aparato produce los vectores oficiales exactos. Ahora sabes que la máquina calcula bien. Todavía no sabes si tú vas a hacer bien tu parte — eso es lo siguiente.
---
## 11. Las 99 tiradas
Cinco minutos de contexto antes de tirar el dado, porque explican las reglas:
- Un bit es una moneda al aire. Cada bit dobla las posibilidades. 24 palabras son **256 bits**.
- Cada tirada de un dado de seis caras aporta unos **2,585 bits**. 99 tiradas × 2,585 ≈ 256.
- Por eso son 99 y no 100: 99 es lo que pide la interfaz y la diferencia con 100 es de una décima de bit.
**El procedimiento:**
1. `Tools``New Seed` → dados → **24 palabras (99 tiradas)**.
2. Tira el dado 99 veces, introduciendo cada resultado.
3. **Anota cada tirada en papel según la introduces.** Sin la secuencia no podrás hacer la verificación cruzada, y no hay forma de recuperarla.
4. Al terminar, la SeedSigner calcula el checksum y muestra las 24 palabras en 6 pantallas de 4.
5. Si dudas de una tirada a mitad: **reinicia el proceso entero.** No «arregles» una tirada suelta.
**Las tres reglas que evitan que te saboteen tus propias manos:**
1. **Decide el método antes de empezar y no improvises.** Nada de «esta tirada no la cuento» o «mejor rebarajo ahora». Ahí es donde se cuela el sesgo sin que te des cuenta, y es lo más contraintuitivo de todo esto: **tu criterio humano es el enemigo aquí**, no el dado.
2. **Tira sobre una superficie dura y con espacio.** Un dado que apenas rueda sobre una toalla no es un dado aleatorio.
3. **Sin cámaras, sin testigos, sin móvil en la habitación.** La secuencia de tiradas **es material de clave**: quien la tenga tiene tu wallet. Nunca la fotografíes ni la guardes en digital.
> **Un detalle que casi ninguna guía cuenta: el problema del mapeo.** Seis caras no caben en un número entero de bits (2,585 no es entero). Una implementación ingenua que mapee directamente dado→3 bits pierde 0,415 bits por tirada, que en 99 tiradas son **41 bits perdidos**. Se resuelve con *rejection sampling* o trabajando en base 6, que es lo que hacen las implementaciones correctas.
>
> Esto le da un sentido concreto a la verificación cruzada del paso siguiente: no estás buscando un error visible, estás buscando palabras de aspecto perfectamente normal con menos entropía detrás de la que crees.
---
## 12. Verificación cruzada
> ### 🔴 Con una seed de ENSAYO, nunca con la tuya
>
> Haz esta verificación **antes** de generar la seed que vas a usar: tira 99 veces, genera una seed desechable con el mismo dado y el mismo método, verifica **esa** contra las tres herramientas, descártala, y solo entonces genera la real.
>
> La seed de ensayo no va a tener fondos jamás, así que puedes teclearla en tu ordenador de siempre sin ningún riesgo. Y cubre un ataque que el vector público **no** cubre: un aparato manipulado podría reconocer el vector conocido y portarse bien solo con él, pero **no puede distinguir tus tiradas de ensayo de las de verdad**.
>
> **La seed que vayas a usar no se teclea en un ordenador nunca.** Ni air-gapped, ni en una sesión efímera que destruyas después.
>
> La documentación oficial de SeedSigner sugiere esa vía —verificar tu seed real en un Tails-OS que destruyes— y aquí somos más estrictos a propósito. El problema no es la idea, es que **tú no puedes comprobar que se cumplió**: no puedes verificar que no hubo memoria de intercambio en disco, que el firmware de un USB no persistió nada, que la radio estaba realmente desactivada, ni qué hace el procesador por debajo del sistema operativo. Es un consejo que suena riguroso y traslada el riesgo a un paso que el lector no puede auditar — justo el patrón que esta guía critica en todo lo demás. Y con el ensayo no pierdes verificación: ganas.
El repositorio incluye `tools/mnemonic.py`, que ejecuta exactamente el mismo código de conversión que corre en el dispositivo:
```
git clone https://github.com/SeedSigner/seedsigner.git
cd seedsigner && python3 -m venv venv && source venv/bin/activate
pip install embit && pip install -e . && cd tools
python3 mnemonic.py dice <tus_99_tiradas>
```
También acepta `coins` para secuencias binarias (128 lanzamientos de moneda → 12 palabras) y `--zero-indexed-dice` si anotaste los dados como 0-5.
Contrasta el resultado con [iancoleman.io/bip39](https://iancoleman.io/bip39) y [bitcoiner.guide/seed](https://bitcoiner.guide/seed/).
⚠️ **La trampa de iancoleman:** marca «Show entropy details», selecciona **«Base 10»** o **«Hex»** — **nunca la opción «Dice [1-6]»**, porque ahí el 6 se convierte en 0 y obtendrás un resultado distinto — y fija «Mnemonic Length» a 24 palabras.
**Qué demuestra esto.** Tres programas escritos por gente distinta, en lenguajes distintos, con librerías distintas, dando el mismo resultado. Para que hubiera una puerta trasera tendría que estar en los tres a la vez. Eso es lo que significa determinista, y es la razón de que puedas fiarte del cálculo sin fiarte de nadie.
---
## 13. Los otros dos métodos: cámara y elegir palabras
### La cámara: qué es y cuándo vale
En `Tools` vas a ver, junto a los dados, la opción de generar la seed **con una foto**. Merece una respuesta mejor que «no la uses».
**Cómo funciona.** SeedSigner encadena cuatro entradas en un SHA-256: el número de serie del Pi, el tiempo desde el arranque, hasta 50 fotogramas de la previsualización en vivo y la foto final. Las dos primeras aportan casi nada —el aparato no tiene reloj y el número de serie no es secreto—, así que **todo descansa en la cámara**.
**Y la cámara aporta de sobra.** Una escena iluminada mide del orden de **millones de bits** frente a los 256 que hacen falta. El dato que más sorprende: **una pared blanca vale prácticamente igual que una estantería llena de libros** —menos del 10% de diferencia—. La entropía no está en lo que fotografías, está en el **ruido del sensor**, que cambia en cada lectura. Dos fotos seguidas del mismo sitio, con el aparato quieto en la mesa, difieren en el 80% de sus valores de color.
O sea: **el método no es débil.** Si lo usas con luz, tienes una seed sólida.
#### Por qué esta guía usa dados igualmente
Por una sola razón, y no es la cantidad de entropía. Lo dice el desarrollador principal de SeedSigner en su propio análisis:
> Con la imagen solo puedes verificar el **proceso**, no los resultados individuales. Los dados se diferencian exactamente en eso: las tiradas caben en un papel.
Son unos 12 MB de fotogramas. No caben en un QR, y escribirlos a la tarjeta sería guardar tu seed en disco —justo lo que un aparato *stateless* no hace nunca—. Con tus 99 tiradas puedes ir a tres herramientas distintas y comprobar que dan lo mismo. Con una foto, **nadie podrá comprobar nunca nada sobre esa seed concreta**, ni tú.
Que un tercero independiente llegue por su cuenta y midiendo a la misma conclusión vale más que cualquier argumento propio.
#### Si la usas, cuatro reglas que nadie te va a decir
| | |
|---|---|
| **1. Con luz** | Es lo único que importa de verdad. Cualquier escena vale |
| **2. Nunca a oscuras** | Boca abajo en la mesa, la lente tapada, dentro de una bolsa |
| **3. Pulsa, no mantengas** | Mantener el botón **se salta la capa de previsualización entera** |
| **4. Ignora la pantalla** | Lo que ves no indica cuánta entropía recogiste |
La regla 2 no es exageración: con el sensor sin luz se midieron fotos finales de **113, 177, 190 y 221 bits**, por debajo de los 256 que necesita una seed de 24 palabras. Y la capa de previsualización, que debería cubrir eso, **se cae al mismo tiempo**: a oscuras casi todos sus fotogramas son un negro constante que un atacante puede calcular sin haber visto nada. Los dos fallos tienen la misma causa —falta de luz— así que no son dos capas, es una.
La regla 3 viene de un cambio introducido en la v0.7.0: si mantienes el botón pulsado atraviesas previsualización, captura y aceptación de un gesto, y no se encadena ni un fotograma.
La regla 4 es la que más incomoda: una pantalla de revisión **completamente negra** vino de capturas con cien veces lo necesario, y una **con ruido bien visible** de capturas muy por debajo del mínimo. Mirar la pantalla para quedarte tranquilo es mirar algo que no correlaciona.
> **De dónde salen estas cifras.** Del [análisis de entropía por imagen](https://kdmukai-bot.github.io/seedsigner-ai-analysis/image-entropy/) del propio proyecto, con los 340 MB de capturas en bruto publicados para que cualquiera lo contradiga. Ellos mismos avisan de que es un análisis asistido por IA de su desarrollador principal, **no una auditoría independiente**, y de que nadie ha reproducido las cifras todavía. Lo damos por bueno diciendo lo que ellos dicen.
### Elegir las palabras a mano
SeedSigner también deja **elegir tú las palabras** de la lista BIP-39 y calcula la última. Es válido si eliges esas palabras con una fuente aleatoria de verdad —dados y una tabla impresa— y **es un desastre si las eliges «al azar» de tu cabeza**, que es lo que hace casi todo el mundo.
Un detalle que sorprende y explica por qué el aparato no te deja elegir la última: **la última palabra no la eliges tú del todo.** En una seed de 24, las 23 primeras son entropía pura y la 24 está en parte determinada por las anteriores (lleva el checksum). Con 23 palabras puestas, solo hay **8 palabras finales válidas** de las 2048.
---
## 14. El backup, y cómo se comprueba
**Se pierde más bitcoin por backups mal copiados que por hackeos.** Este es el paso que no se recorta nunca.
### Escribirlo
1. Transcribe las 24 palabras en papel (o en metal, si el patrimonio lo justifica). **Numeradas.**
2. Letra clara. **Ojo con `1`/`l`, `0`/`O`, `u`/`v`.**
3. Las primeras 4 letras de cada palabra BIP-39 la identifican de forma única — si dudas de una letra final, las cuatro primeras te salvan.
### Y ahora lo que casi nadie hace: comprobarlo
Un backup que nunca has probado no es un backup, es una esperanza.
1. **Apaga el aparato del todo.** Se olvida de tu seed, porque es *stateless*.
2. Vuelve a cargarla **leyendo tu papel**. No de memoria, no mirando la pantalla de antes. Del papel, tal y como lo escribiste.
3. Aplica la passphrase si la tienes.
4. **¿Coincide el fingerprint?**
Si no coincide, acabas de descubrir —sin dinero de por medio— un error que te habría costado todo el día que necesitaras recuperar. Ese es exactamente el propósito del paso.
### Dónde guardarlo
- **Nunca en digital.** Ni foto, ni gestor de contraseñas, ni nota cifrada, ni la nube.
- **Separado de la passphrase.** Si tienes passphrase, guardarla en el mismo papel que las palabras anula la capa entera: quien encuentre el papel tiene la wallet completa.
- **Las tiradas de dado, destrúyelas** una vez hecha la verificación cruzada. Ya no sirven para nada y son tu seed escrita dos veces.
- Piensa en fuego y agua, no solo en ladrones.
---
## 15. SeedQR: cargar la seed en segundos
Escribir 24 palabras a mano con un joystick cada vez que quieras firmar es tedioso, y **el tedio hace que la gente deje de verificar cosas**. La respuesta del proyecto es la **SeedQR**: transcribes tu seed a un código QR **a mano**, en papel, y luego la SeedSigner la lee en un segundo con su cámara.
- La SeedSigner tiene un **modo guiado** para transcribirla, casilla a casilla.
- El proyecto publica [plantillas imprimibles](https://github.com/SeedSigner/seedsigner/tree/main/docs/seed_qr/printable_templates) en varios formatos: rejilla, puntos, y formato «cromo» de tamaño tarjeta.
- **Estándar** (25×25 para 12 palabras, 29×29 para 24) o **Compact** (21×21 y 25×25), que ocupa menos casillas.
⚠️ **Una SeedQR es tu seed en texto plano.** No es cifrado ni ofuscación: cualquiera con un móvil la lee. Guárdala con exactamente el mismo cuidado que las palabras escritas, y nunca la fotografíes.
Es donde más gente confunde «difícil de leer para un humano» con «seguro».
---
---
# PARTE III — USAR
> A partir de aquí, la guía deja de ser un manual de construcción y pasa a ser lo que consultas con el aparato en la mano. Las entradas son cortas a propósito.
## 16. La wallet en Sparrow
Se hace **una vez**, y a partir de ahí Sparrow tiene tu xpub y puede ver saldos y componer transacciones sin la SeedSigner delante.
1. Sparrow → `File``New Wallet`. Ponle nombre.
2. `Airgapped Hardware Wallet` → en la fila de SeedSigner, pulsa **`Scan`**. Se abre la cámara del ordenador.
3. En la SeedSigner, con la seed cargada: `Export Xpub``Single Sig``Native Segwit``Sparrow`.
4. La SeedSigner muestra un **QR animado**. Ponlo delante de la cámara del ordenador hasta que Sparrow lo capte entero.
5. `Apply`.
6. **Compara el fingerprint de Sparrow con el que muestra la SeedSigner.** Deben coincidir.
Si el QR animado no se lee: baja la densidad de QR en los ajustes de la SeedSigner, o ajusta el brillo con el joystick (arriba/abajo).
> **El xpub es privado, aunque no sea secreto.** Con él cualquiera puede ver todo tu historial y tu saldo, aunque no pueda mover un satoshi. Trátalo como el extracto del banco: no lo publiques, y piensa a qué servidor está consultando tu Sparrow. Lo ideal es que consulte a tu propio nodo.
---
## 17. La rutina de firmar
Este es el ciclo que vas a repetir siempre:
1. **En Sparrow**, compón la transacción normalmente y pulsa firmar. Sparrow muestra un **QR animado** con la PSBT (la transacción sin firmar).
2. **En la SeedSigner**: carga tu seed (tecleando las palabras, o escaneando tu SeedQR) → `Scan` → apunta a la pantalla del ordenador.
3. La SeedSigner muestra un **repaso detallado de la transacción**. **Léelo.**
4. Confirma. La SeedSigner muestra la PSBT **firmada** como QR animado.
5. **En Sparrow**: escanea ese QR. Sparrow reconstruye la transacción firmada y ya puedes difundirla.
**En ningún momento se conectan.** Todo pasa por códigos QR y tus ojos.
### El paso 3 es el que justifica todo el aparato
Esa pantalla pequeña y fea es tu única defensa contra un ordenador comprometido. Si tu Sparrow estuviera infectado y te enseñara una dirección mientras firma otra, **aquí es donde lo verías y en ningún otro sitio**.
Lo que tienes que mirar, en este orden:
| Qué | Por qué |
|---|---|
| **La dirección de destino** | Contrástala con la que te dio quien cobra, por un canal distinto. Los primeros y últimos caracteres no bastan si el malware genera direcciones parecidas: mira el medio también |
| **El importe** | Obvio, y aun así |
| **La comisión** | Una comisión absurda es señal de que algo va mal, y además es un error caro por sí solo |
| **Las salidas de cambio** | La SeedSigner marca cuál es el cambio y que vuelve a ti. Si dice que no reconoce el cambio, **para**: puede significar que el cambio va a una dirección que no controlas |
**Si algo no cuadra, no firmes.** Cancelar no cuesta nada; una firma no se deshace.
### Cuando la seed no está cargada
Es lo normal: el aparato la olvidó al desenchufarlo. Cárgala con la SeedQR (un segundo) o tecleando las palabras. **Que la seed no persista no es una molestia que se tolera, es la propiedad que hace que puedas dejar el aparato en un cajón sin preocuparte.**
---
## 18. Recibir: verificar la dirección
El malware que sustituye direcciones al copiar y pegar es de los ataques más rentables y más comunes que hay. La defensa cuesta veinte segundos:
`Scan` sobre la dirección que te muestra tu wallet de software → la SeedSigner confirma si esa dirección pertenece de verdad a tu wallet.
**Hazlo siempre antes de recibir una cantidad significativa**, y siempre la primera vez que uses una wallet nueva.
También puedes recorrer tus direcciones desde `Tools` → explorador de direcciones, útil si quieres comprobar una concreta sin tener Sparrow delante.
---
## 19. Convivir con la passphrase
La passphrase es una capa **independiente** de la seed: suma su propia entropía y no comparte el fallo de la que ya tienes. Es la mejor defensa si algún día se descubre que tu seed se generó mal.
**Cómo se hace bien.** *(La [guía del método](https://git.bitcointxoko.org/pikaro/autocustodia-verificable) lo trata a fondo, con la tabla de bits por palabra según el sistema que uses.)* Una frase pensada por una persona aporta del orden de 1 a 3 bits por carácter. Cinco o seis palabras sacadas con dados de una lista aportan **11 a 13 bits por palabra**. No es parecido: es otro orden de magnitud. Genera la passphrase con dados y una tabla, igual que la seed.
**Y ahora el aviso que salva fondos:**
> ⚠️ **La passphrase no tiene checksum ni corrección de errores.** Una letra distinta, una mayúscula distinta, un espacio de más, y obtienes **otra wallet completamente distinta y vacía, sin ningún mensaje de error**. No te avisa. Nunca. Es matemáticamente indistinguible de haberla escrito bien.
Consecuencias prácticas para el uso diario:
- **Verifica el fingerprint cada vez que cargues la seed con passphrase.** Es la única confirmación de que la escribiste bien. Apúntate el fingerprint correcto en un sitio que no sea el papel de la seed.
- **Guárdala separada de las palabras**, y con la misma exactitud: mayúsculas, espacios, acentos, todo.
- **Alguien más tiene que poder encontrarla** si te pasa algo, o el plan de herencia se rompe justo aquí. Es el fallo más común de las passphrases: protegen tan bien que también te protegen de tus herederos.
---
## 20. Multisig, que es su razón de existir
Bajar el coste de cada firmante de varios cientos de euros a poco más que un puñado de componentes genéricos es, literalmente, la razón por la que existe SeedSigner. Un multisig 2-de-3 con tres aparatos que montas tú es algo que antes no estaba al alcance de casi nadie.
**Lo esencial:**
- **M-de-N**: 2-de-3 significa tres llaves de las que cualquiera dos bastan. Para perderlo todo tendrían que fallar varias a la vez.
- **Mezcla fabricantes.** Si tus tres firmantes son idénticos, el fallo de uno os tumba los tres — que es exactamente lo que pasó con el fallo del generador de aleatoriedad de Coldcard. Una SeedSigner + un aparato comercial + otro distinto es mucho más robusto que tres iguales.
- **Guarda el descriptor.** En multisig, las seeds **no bastan** para recuperar: hace falta también el descriptor de la wallet (qué llaves, qué quorum, qué derivación). Guárdalo con los backups, en varios sitios. Es la causa nº 1 de multisigs irrecuperables.
- **Ensáyalo entero en testnet o regtest** antes de meter nada. Y ensaya la recuperación, no solo la firma.
> **Un multisig mal montado es más peligroso que un singlesig bien hecho.** Más llaves son más formas de equivocarse, más complejidad y un plan de herencia más difícil. Móntalo cuando el patrimonio lo justifique y cuando entiendas bien el singlesig, no antes.
---
---
# PARTE IV — MANTENER
## 21. Actualizar el firmware
Actualizar es grabar una SD nueva. **No hay proceso de actualización que pueda romper tu aparato ni tocar tu seed**, porque el aparato no guarda nada: es la ventaja escondida de ser *stateless*.
El procedimiento es el mismo de §5 y §6: descargar, **verificar la firma y el hash otra vez** (no te saltes esto porque ya lo hiciste una vez), grabar.
**Después de actualizar, vuelve a pasar el vector de prueba de §10.** Son diez minutos y comprueban que la versión nueva calcula igual que la vieja. Si alguna vez no coincidiera, querrías enterarte antes de firmar nada.
Conviene mirar las [releases](https://github.com/SeedSigner/seedsigner/releases) de vez en cuando, sin obsesión: no es un aparato conectado, no hay urgencia de parchear.
---
## 22. Si se rompe, se pierde o te lo quitan
**Aquí es donde el diseño paga.** Ninguno de los tres casos es una emergencia:
| Situación | Qué pasa | Qué haces |
|---|---|---|
| **Se rompe** | Nada. No había nada dentro | Montas otra, o cargas tu seed en cualquier wallet compatible con BIP-39 |
| **Lo pierdes** | Nada, si estaba desconectado. La memoria se borró al desenchufarlo | Igual que arriba |
| **Te lo roban** | Nada, si estaba desconectado | Igual que arriba |
| **Te lo quitan encendido y con la seed cargada** | **Problema serio.** No tiene elemento seguro ni PIN que resista | Mueve los fondos desde otra copia de la seed, cuanto antes |
| **Pierdes el papel** | **Es lo único irrecuperable.** El papel era el dispositivo | Si aún controlas los fondos, genera una wallet nueva y muévelos ahí ya |
**El caso que sí tienes que tener planificado es el último.** Todo lo demás se resuelve comprando piezas otra vez. Por eso el esfuerzo va al backup y no al aparato.
**Recuperar sin una SeedSigner a mano:** tus 24 palabras son un estándar (BIP-39). Puedes cargarlas en Sparrow, en otro firmante, o en cualquier wallet compatible. No estás atado a este aparato ni a este proyecto — que es justo lo que se buscaba.
---
## 23. Revisión periódica
Una vez al año, o cuando cambies algo importante:
- [ ] **Prueba el backup en frío.** Carga la seed desde el papel, sin mirar nada más, y comprueba el fingerprint. Es la única forma de saber que sigue siendo válido.
- [ ] **Comprueba que el papel sigue legible** y donde debe estar.
- [ ] **Comprueba que alguien más podría encontrarlo** si tú no estás — incluida la passphrase.
- [ ] **Pasa el vector de prueba** si actualizaste el firmware desde la última revisión.
- [ ] **Haz una transacción pequeña** de ida y vuelta. Un procedimiento que no practicas se olvida, y el día que lo necesites será con prisa.
---
---
# PARTE V — REFERENCIA
## 24. Resolución de problemas
| Síntoma | Causas, en orden de probabilidad |
|---|---|
| **No enciende el LED de la Pi** | Esperar un minuto · Cable USB en el puerto equivocado (usa el marcado `PWR`) · Volver a grabar la SD · Fuente insuficiente |
| **La pantalla no muestra nada** | Esperar (el arranque tarda ~45 s) · **Alimentación insuficiente** (una pila de 9 V no basta) · Soldaduras · Pantalla del modelo equivocado (¿240×240?) |
| **Un botón o el joystick no responde** | Test de I/O para identificar cuál · **Soldadura fría** en ese pin |
| **La cámara se reinicia o se cuelga** | **Alimentación insuficiente** · Conexión del cable a la placa de la cámara · Test de I/O |
| **La cámara ve pero no detecta el QR** | Ajustar el brillo con el joystick · Bajar la densidad de QR en ajustes · Bajarla también en el ordenador · Alejar/acercar · Evitar reflejos |
| **Arranca pero se reinicia solo** | Alimentación · Cable USB de mala calidad · Escritura de la SD no verificada |
| **No arranca tras grabar la SD** | Imagen del modelo equivocado (tabla de §5.1) · Escritura fallida: regrabar esperando a la verificación · Probar la otra aplicación de grabado |
| **El QR animado de Sparrow no entra** | Bajar la densidad · Pantalla del ordenador más brillante · Mover despacio |
| **El fingerprint no coincide** | Passphrase mal escrita (mayúsculas, espacios) · Una palabra mal transcrita · Tipo de script distinto |
| **Sparrow no reconoce el cambio** | Wallet equivocada abierta · Tipo de script distinto al de la wallet |
**El diagnóstico que resuelve la mitad de los casos:** si algo raro pasa, **cambia la fuente de alimentación y el cable** antes de tocar nada más. Y si no, revisa soldaduras.
---
## 25. Limitaciones y qué NO hace
Ser honesto sobre esto es parte de la guía:
- **No guarda tu seed.** Si pierdes el papel, se acabó.
- **No es un producto con soporte.** Es un proyecto de voluntarios, sin empresa detrás y sin ánimo de lucro (licencia MIT). Eso es una virtud —no hay incentivo comercial que corrompa el diseño— y significa que si algo falla, la ayuda es una comunidad de Telegram, no un servicio técnico.
- **No tiene elemento seguro ni protección antimanipulación física.** Si alguien accede al aparato mientras está encendido con tu seed cargada, la ve. Su seguridad viene de ser *stateless* y air-gapped, no de resistir un ataque físico.
- **La pantalla es pequeña y los controles, básicos.** Escribir 24 palabras a mano es lento. Por eso existen las SeedQR.
- **No sustituye a entender lo que haces.** Es la herramienta que menos confianza pide y la que más atención exige.
**Y lo que hace muy bien:** generar la clave sin tener que confiar en nadie, hacer el multisig accesible, y un modelo de firma donde tú ves cada dato que entra y sale.
---
## 26. El simulador: probarlo sin comprar nada
Existe un **simulador que corre el firmware real de SeedSigner en una pestaña del navegador**: [bitsaga.be/seedsigner-simulator](https://bitsaga.be/seedsigner-simulator/?firmware=stock) ([código](https://github.com/bitsagarob/seedsigner-simulator), MIT).
No es un vídeo ni una imitación: es el mismo Python que corre en el aparato, con la pantalla dibujada en un canvas, los botones en tu teclado y la cámara en tu webcam. Puedes recorrer el menú entero, meter tiradas de dado, poner passphrase, exportar el xpub y firmar una PSBT.
**Para qué sirve:** ver si el flujo te convence antes de comprar nada, practicar el procedimiento sin hardware, y enseñárselo a alguien.
### Por qué este sí y no cualquier simulador
Esta guía repite que no te fíes de software que no puedes comprobar, así que toca aplicárselo. Está **anclado a un tag de release y no a una rama** (una rama se reescribe, un tag publicado no), su **compilación es reproducible** con el sha256 publicado, una máquina limpia lo reconstruye en cada cambio, y **corre la batería de tests de los propios autores de SeedSigner**. MIT, con el origen y la licencia de cada dependencia listados.
Vale la pena mirarlo aunque no lo uses, como ejemplo de qué aspecto tiene un proyecto que se deja verificar.
### Tres trampas prácticas
**1. Arranca en el fork de smartcard, no en SeedSigner a secas.** La página abre por defecto un fork con menús de tarjetas SeedKeeper y Satochip que tu aparato **no va a tener**. Usa siempre [`?firmware=stock`](https://bitsaga.be/seedsigner-simulator/?firmware=stock).
**2. Mainnet funciona de verdad.** Arranca en testnet a propósito, pero mainnet está disponible y **deriva claves reales y firma transacciones reales**.
> ⚠️ **No metas ahí ninguna seed tuya. Ninguna. Nunca.** Ni «solo para ver». Una pestaña del navegador no es un air gap y el sistema de ficheros de Pyodide no es un elemento seguro — lo dicen ellos mismos. Usa la seed pública del vector de §10, que existe justo para esto.
**3. Si lo quieres alojar tú**, necesita las cabeceras `Cross-Origin-Opener-Policy` y `Cross-Origin-Embedder-Policy` o no arranca, y la cámara exige `https` o `localhost`. Está documentado en su `docs/SELF-HOSTING.md`. Una vez cargada, la página funciona sin conexión.
### Qué no simula
Sin microSD, sin nada que dependa de hilos, sin comportamientos por tiempo. Y sobre todo, **ninguna propiedad de seguridad real**. Es un proyecto independiente, sin relación con SeedSigner, y —palabras suyas— *ejecutarlo no demuestra nada sobre un dispositivo real*.
---
## 27. Chuleta de consulta rápida
**Los cuatro puntos de control**
1. Arranca, pinta, botones y cámara OK (test de I/O) → §7
2. El vector de prueba da las palabras exactas → §10
3. La verificación cruzada con seed de ensayo coincide en tres herramientas → §12
4. El backup recargado desde el papel da el fingerprint correcto → §14
**Antes de firmar, mira siempre**
Dirección de destino (entera, no solo los extremos) · importe · comisión · **salidas de cambio**. Si algo no cuadra, no firmes.
**Vectores de prueba oficiales**
| | 99 tiradas → 24 palabras | 50 tiradas → 12 palabras |
|---|---|---|
| Primera palabra | `eyebrow` | `hole` |
| Última palabra | `radio` | `path` |
| Fingerprint | — | `8d9cced8` |
Las secuencias completas, en §10. Los dos vectores empiezan igual (`65515223131652132161133154444`…), así que **no te fíes del principio para distinguirlos**: cuenta las tiradas o mira la palabra final.
**Nunca**
- Tecleas tu seed real en ningún ordenador. Nunca. Ni air-gapped.
- Fotografías la seed, las tiradas o la SeedQR.
- Guardas la passphrase junto a las palabras.
- Compras hardware wallets de segunda mano *(cambia una fuga de datos por un ataque de cadena de suministro, que es mucho peor)*.
- Usas la opción «Dice [1-6]» de iancoleman.
- Confías en «es código abierto» como razón para no verificar.
**Menús que se usan a menudo**
| Quiero | Ruta |
|---|---|
| Cargar la seed | `Scan` (SeedQR) o `Seeds` → introducir palabras |
| Firmar | `Scan` sobre el QR de Sparrow |
| Exportar xpub | `Seeds` → seed → `Export Xpub``Single Sig``Native Segwit``Sparrow` |
| Verificar una dirección | `Scan` sobre la dirección |
| Seed nueva con dados | `Tools``New Seed` → dados |
| Test de I/O | `Settings``Input/Output Tests` |
| Cambiar idioma o red | `Settings` |
**Si algo falla:** cambia el cable y el cargador antes que nada. Luego mira soldaduras.
---
## 28. Fuentes
- [Repositorio oficial de SeedSigner](https://github.com/SeedSigner/seedsigner) — README, lista de materiales, tabla de imágenes por modelo, procedimiento de verificación.
- [`docs/dice_verification.md`](https://github.com/SeedSigner/seedsigner/blob/dev/docs/dice_verification.md) — vectores de prueba de §10, verificados carácter a carácter contra el código fuente.
- [`docs/legacy_hardware.md`](https://github.com/SeedSigner/seedsigner/blob/dev/docs/legacy_hardware.md) — modificaciones para Raspberry Pi 1.
- [FAQ oficial](https://seedsigner.com/faqs/) — base de la tabla de resolución de problemas de §24.
- [Página de hardware](https://seedsigner.com/hardware/).
- [Generador de SettingsQR](https://github.com/SeedSigner/seedsigner-settings-generator).
- [seedsigner-os](https://github.com/SeedSigner/seedsigner-os/blob/main/docs/building.md) — compilación reproducible.
- [Desactivar WiFi/BT por hardware](https://github.com/DesobedienteTecnologico/rpi_disable_wifi_and_bt_by_hardware) — DesobedienteTecnologico.
- [Release 0.8.7 «The Summer of SeedSigner»](https://github.com/SeedSigner/seedsigner/releases/tag/0.8.7) (8 jul 2026).
- [Análisis de entropía por imagen](https://kdmukai-bot.github.io/seedsigner-ai-analysis/image-entropy/) — mediciones de §13.
- [seedsigner-simulator](https://github.com/bitsagarob/seedsigner-simulator) de bitsaga (MIT) — §26.
- [Guía de montaje de Lunaticoin en Estudio Bitcoin](https://estudiobitcoin.com/seedsigner-que-es-y-guia-de-montaje/) — tiene fotos reales del montaje. De 2021 y con datos desfasados, pero complementaria: la suya monta, esta explica por qué y cómo verificar.
- Grupo de [Telegram](https://t.me/joinchat/GHNuc_nhNQjLPWsS) del proyecto, para dudas concretas.
---
**Sin garantías.** Material educativo elaborado por usuarios, no un producto oficial de SeedSigner. Verifica cada paso contra la documentación oficial. Practica en una red de pruebas antes de usar fondos reales.
**Licencia CC BY-SA.** Copia, traduce y adapta.
*Última actualización: septiembre de 2026 · software v0.8.7 · datos técnicos verificados contra el código fuente del proyecto. Escrita por Pícaro para Bitcoin Txoko.*