Saltar al contenido principal

Documentación para desarrolladores de BitTool Signer

Para desarrolladores de billeteras

BitTool Signer convierte un iPhone o un teléfono Android de repuesto en un firmador sin conexión. Sus claves nunca salen de ese teléfono: tu cartera intercambia códigos QR con él, nunca tráfico de red. Esta documentación describe cada byte de ese intercambio, y el diseño de seguridad que hay detrás, para que puedas agregar BitTool Signer a tu propia cartera.

Cómo funciona​

Tu billetera permanece en línea y hace todo lo que requiere una red: saldos, comisiones, nonces, construcción de transacciones y transmisión a la red. BitTool Signer permanece sin conexión y hace lo único que requiere una clave privada: revisa una solicitud y la firma.

Tu billeteraEn línea, de solo lectura (watch-only)
BitTool SignerSin conexión, guarda las claves
  1. 1Muestra un código QR de emparejamiento: solo claves públicas.
  2. ◀ ur:bytes · ur:crypto-account · ur:crypto-hdkey …
  3. 2Importa las cuentas como una billetera de solo lectura y muestra los saldos.
  4. 3Construye una transacción o un mensaje sin firmar y lo muestra como código QR.
  5. ur:crypto-psbt · ur:eth-sign-request · ur:tron-sign-request · ur:sol-sign-request ▶
  6. 4Lo decodifica, muestra cada campo, pide la contraseña de la billetera y firma.
  7. ◀ ur:crypto-psbt · ur:eth-signature · ur:tron-signature · ur:sol-signature
  8. 5Verifica la firma, ensambla la transacción y la transmite a la red.

Todo lo que viaja entre los dos dispositivos son datos públicos: claves públicas extendidas, direcciones, transacciones sin firmar y firmas. Un código QR de emparejamiento nunca contiene una frase de recuperación, una semilla ni una clave privada.

Qué puedes integrar​

Cadenas y formatos compatibles​

CadenaEmparejamiento (nivel de moneda)Solicitud de firma → respuestaFirma
Bitcoinur:crypto-account (xpub de la cuenta)ur:crypto-psbt → ur:crypto-psbt (también ur:psbt, BBQr, Base64)PSBT v0/v2: P2WPKH, P2TR, P2SH-P2WPKH, P2PKH, multisig
EVMur:crypto-hdkey (xpub de la cuenta)ur:eth-sign-request → ur:eth-signatureTransacciones legacy, EIP-2930 y EIP-1559, personal_sign, EIP-712
TRONDirección simpleur:tron-sign-request → ur:tron-signatureTransacciones raw_data, mensajes TIP-191
Solanaur:crypto-multi-accountsur:sol-sign-request → ur:sol-signatureMensajes legacy y v0 (sin tablas de búsqueda de direcciones), mensajes de texto

La firma EVM cubre ocho redes: Ethereum (1), BNB Chain (56), Arbitrum One (42161), Base (8453), OP Mainnet (10), Polygon PoS (137), Gnosis (100) y Avalanche C-Chain (43114).

El transporte es BC-UR: CBOR dentro de Bytewords, dividido en fotogramas animados tipo "fountain" cuando no cabe en un solo código QR. Los tipos de solicitud y de respuesta son los del registro UR público de Keystone, así que una billetera que ya admite firmadores de hardware por QR necesita muy poco código nuevo. El único formato específico de BitTool es el QR de emparejamiento a nivel de billetera, que es opcional e importa las cuatro cadenas con un solo escaneo.

A quién va dirigida esta documentación​

Debes manejar con soltura hex, Base58 y JSON, y saber qué son una clave pública extendida (xpub) y una ruta de derivación. Cada página muestra ejemplos completos con bytes reales, generados por el motor de BitTool Signer a partir de la frase de prueba pública abandon … about. Implementa primero con base en esos ejemplos y luego prueba con la app.

Solo datos de prueba

La frase de prueba, las direcciones y las transacciones de este sitio son públicas. Cualquiera puede gastar desde ellas. Nunca les envíes fondos.

Código fuente​

BitTool Signer es de código abierto en ambas plataformas: bittool-signer-ios y bittool-signer-android. Las dos apps usan el mismo motor, así que los formatos QR y las firmas de este sitio valen para cualquiera de ellas. El código del protocolo QR está en engine/protocols.js; los analizadores y firmadores de cada cadena, en engine/src/. Las revisiones de seguridad asistidas por IA de la versión 1.0.0 en ambas plataformas se publican íntegras. Preguntas sobre la integración: support@bittool.com.