Verifícalo tú mismo, Shieldz no es custodial por criptografía

Verifícalo tú mismo

No tienes que creer en "non-custodial" por fe. Shieldz no es custodial por criptografía, no por promesa, aquí está exactamente por qué no puede mover tus fondos, y cómo comprobarlo por ti mismo.

Shieldz solo ve una clave pública

Para recibir pagos, Shieldz genera direcciones que tú controlas y las vigila, y eso solo necesita tu clave pública. Le das una de estas:

Ninguna de estas puede gastar. Un xpub o una clave de visualización te permite derivar direcciones y vigilar la cadena, pero matemáticamente no puede firmar una transacción. Así que Shieldz puede generar tus direcciones de recepción y avisarte cuando llega el dinero, y ese es el techo de lo que puede hacer. Nunca tiene, pide ni almacena una clave privada, frase semilla o mnemónico, no hay campo para ello. (Las claves de la API para desarrolladores se almacenan solo como un hash, nunca en texto plano.)

Las direcciones se derivan de forma determinista, reprodúcelas tú mismo

Las direcciones de recepción usan algoritmos públicos y estándar: BIP-84 native segwit para Bitcoin (desde tu xpub en m/0/i), direcciones unificadas diversificadas ZIP-32 para Zcash blindado (desde tu UFVK), y tu propia dirección para las stablecoins en EVM. Como la derivación es determinista y usa solo tu clave pública, Shieldz no puede sustituir una dirección propia, cada dirección que muestra es una que puedes volver a derivar y verificar.

La derivación es de código abierto

La derivación exacta BIP-39 / BIP-84 / ZIP-32 que usa Shieldz está publicada, con licencia MIT, y probada contra los vectores canónicos "abandon" de BIP: github.com/LeoFinance/shieldz-key-gen. Ejecútala con tu propio xpub y confirma que las direcciones coinciden.

// BIP-84, deriva la dirección de recepción i desde el xpub de tu cuenta (solo clave pública)
import { HDKey } from "@scure/bip32";
const node  = HDKey.fromExtendedKey(yourAccountXpub); // no se involucra ninguna clave privada
const child = node.deriveChild(0).deriveChild(i);     // m/0/i, derivación pública
// → codifica en bech32 child.publicKey para obtener la dirección bc1… que Shieldz mostrará

Qué significa esto para ti

Más: ¿Es seguro Shieldz? · Cómo funciona