En resumen
La API de Firma de Blockradar te permite firmar criptográficamente mensajes de texto plano, datos estructurados (datos tipados) y transacciones en crudo usando las claves privadas de tu billetera. Firma mensajes para demostrar la propiedad de la billetera. Firma transacciones construidas externamente (por ejemplo, swaps de Jupiter en Solana) sin exponer claves privadas, y opcionalmente transmítelas en cadena.
La API de Firma de Blockradar te permite firmar criptográficamente mensajes de texto plano, datos estructurados (datos tipados) y transacciones en crudo usando las claves privadas de tu billetera. Firma mensajes para demostrar la propiedad de la billetera. Firma transacciones construidas externamente (por ejemplo, swaps de Jupiter en Solana) sin exponer claves privadas, y opcionalmente transmítelas en cadena.
Requisitos Previos
Antes de usar la API de Firma, asegúrate de tener:1
Clave API
Obtén tu clave API desde el Panel de Blockradar. Navega a Developers para generar una.
2
Billetera Creada
Crea una billetera principal desde el Panel de Blockradar. Navega a Wallets y crea una para tu blockchain objetivo. Necesitarás el
walletId para las operaciones de firma.3
Entorno
Elige entre Testnet (para desarrollo) o Mainnet (para producción). Las billeteras están aisladas por entorno.
Cómo Funciona
La API de Firma produce una firma criptográfica que demuestra que controlas una dirección de billetera específica. La salida firmada puede ser verificada por cualquier tercero sin acceder a tus claves privadas.Firma de Mensajes
Firma mensajes de texto plano para demostrar la propiedad de la billetera. Funciona en todas las blockchains compatibles: EVM, Tron y Solana.
Firma de Datos Tipados
Firma datos estructurados siguiendo el estándar EIP-712. Se usa para aprobaciones sin gas (EIP-2612 Permit) y transferencias autorizadas (EIP-3009). Solo EVM.
Firma de Transacciones
Firma transacciones en crudo construidas externamente. Construye un swap en Jupiter, una llamada a contrato con ethers.js, o una transferencia con TronWeb, luego envía la transacción sin firmar y obtén la firma sin exponer claves privadas.
Broadcast de Transacciones
Firma y transmite una transacción en crudo en un solo paso. Blockradar firma la transacción y la envía en cadena mediante una cola confiable con reintentos automáticos.
Casos de uso comunes
- Registro con proveedores de terceros: Demuestra que posees una dirección al registrarte con servicios como Iron, Circle u otros protocolos DeFi
- Aprobaciones de tokens sin gas: Firma mensajes EIP-2612 Permit para autorizar el gasto de tokens sin una transacción en cadena
- Transferencias autorizadas: Firma mensajes EIP-3009 TransferWithAuthorization para transferencias delegadas
- Atestaciones fuera de cadena: Crea pruebas verificables de intención o acuerdo vinculadas a una dirección de billetera
- Ejecución de swaps externos: Construye un swap de Jupiter en Solana, fírmalo con Blockradar y transmítelo en cadena
- Interacciones con contratos personalizados: Construye cualquier transacción externamente y haz que Blockradar la firme y/o la envíe
Billetera Principal vs Dirección Hija
La API de Firma está disponible en dos niveles:Billetera Principal
Firma usando las claves de la billetera principal. Ideal para operaciones a nivel de tesorería e integraciones con proveedores.
Dirección Hija
Firma usando las claves de una dirección hija específica. Úsalo cuando el tercero requiera una firma desde una dirección de depósito.
Endpoints
Firma de Mensajes
Firma un mensaje de texto plano con la clave privada de tu billetera. La API firma el mensaje, verifica que la firma coincida con la dirección de la billetera y devuelve tanto la firma como un registro de transacción.Blockchains Compatibles
Parámetros de Solicitud
Ejemplo de Firma de Mensaje
Respuesta EVM
Respuesta Tron / Solana
Para Tron y Solana, el objetosignedTransaction contiene solo el campo signature (sin componentes r, s, v):
Campos de Respuesta
Firma de Datos Tipados (Solo EVM)
Firma datos estructurados siguiendo el estándar EIP-712. Esto se usa para aprobaciones sin gas, transferencias delegadas y otros flujos de autorización en cadena que requieren una firma estructurada.Estándares Compatibles
Parámetros de Solicitud
Ejemplo de EIP-2612 Permit
Respuesta de Datos Tipados
Campos del Objeto Domain
Firma con Dirección Hija
Firma mensajes, datos tipados, transacciones o realiza broadcast usando una dirección hija específica en lugar de la billetera principal. Las cuatro operaciones de firma están disponibles para direcciones hijas:Eventos de Webhook
Las operaciones de firma activan un webhook con el registro de transacción:Payload del Webhook (Firma de Mensaje o Datos Tipados)
Payload del Webhook (Firma de Transacción)
Para la firma de transacciones, el camposignedTransaction es un string (no un objeto). El formato depende de la cadena.
Payload del Webhook (Broadcast Exitoso)
Después de que la cola de broadcast confirma la transacción en cadena, recibes este webhook. El campohash se actualiza al hash de transacción en cadena y confirmed cambia a true.
Payload del Webhook (Broadcast Fallido)
Si el broadcast falla permanentemente después de todos los intentos de reintento, recibes este webhook. Elstatus es FAILED y confirmed permanece en false.
Firma de Transacciones
Firma una transacción en crudo sin firmar, construida externamente. Tú construyes la transacción usando cualquier SDK (ethers.js, TronWeb, Solana web3.js, Jupiter API), luego envías la transacción serializada sin firmar a Blockradar para su firma y/o transmisión, sin necesidad de construir o gestionar tu propia infraestructura o nodos blockchain.Blockchains y Formatos Compatibles
Parámetros de Solicitud
Ejemplo de Firma de Transacción (Solana + Jupiter)
Ejemplo de Firma de Transacción (EVM)
Respuesta Solo Firma (EVM)
Respuesta Solo Firma (Solana)
Respuesta Solo Firma (Tron)
Para la firma de transacciones,
signedTransaction es un string, no un objeto. Esto es diferente de la firma de mensajes donde devuelve un objeto con componentes de firma como r, s, v.Formato de signedTransaction por Cadena
Campo hash por Cadena
Broadcast de Transacciones
Firma y transmite una transacción en crudo en un solo paso. Blockradar firma la transacción, luego la envía en cadena mediante una cola confiable con reintentos automáticos. La API responde inmediatamente con estadoPENDING. Recibirás un webhook signed.success o signed.failed cuando el resultado en cadena sea confirmado.
Solicitud
Mismos parámetros que la firma de transacciones:Ejemplo de Broadcast
Respuesta de Broadcast (Ejemplo Solana, inmediata)
Ciclo de Vida del Broadcast
La transacción pasa por estos estados:Ejemplo de Flujo Completo
Aquí tienes una implementación completa para firmar un mensaje y enviar la firma a un proveedor de terceros:Respuestas de Error
Billetera No Encontrada
Billetera No Encontrada
walletId no existe o no pertenece a tu negocio.Dirección No Encontrada
Dirección No Encontrada
addressId no existe o no está asociado con la billetera especificada.Blockchain No Soportada (Datos Tipados)
Blockchain No Soportada (Datos Tipados)
Chain ID No Coincide
Chain ID No Coincide
chainId en tu objeto domain de datos tipados no coincide con la red blockchain de la billetera.Verificación de Firma Fallida
Verificación de Firma Fallida
Formato de Transacción Inválido (Solana)
Formato de Transacción Inválido (Solana)
transaction no es base64 válido, o los bytes decodificados no son una VersionedTransaction de Solana válida.Formato de Transacción Inválido (EVM/Tron)
Formato de Transacción Inválido (EVM/Tron)
transaction no es JSON válido. Las transacciones EVM y Tron deben ser objetos serializados como JSON string.Mejores Prácticas
Seguridad
- Usa referencias: Rastrea las operaciones de firma con IDs de referencia únicos para auditoría e idempotencia
- Verifica el mensaje: Antes de firmar, confirma que el contenido del mensaje coincida con lo que espera el servicio de terceros
- Limita la longitud del mensaje: Los mensajes están limitados a 4,096 caracteres. Mantén los mensajes concisos y específicos
Integración
- Sin comisiones de gas: Las operaciones de firma son fuera de cadena y no requieren saldo de token nativo
- Respuesta inmediata: Las firmas se generan de forma síncrona. No se necesita polling ni esperar webhooks para la firma en sí
- Escucha los webhooks: Usa webhooks para mantener un registro de auditoría de todos los eventos de firma
Datos Tipados
- Coincide los chain IDs: El
chainIden tu domain debe coincidir con la red de la billetera. Usa chain IDs de sandbox (testnet) para pruebas y chain IDs de producción (mainnet) para operaciones en vivo - Verifica el contrato: El
verifyingContractdebe ser el contrato que verificará la firma en cadena
Firma de Transacciones
- Construye la transacción con el remitente correcto: La transacción sin firmar debe usar la clave pública de la billetera o dirección hija como el pagador de comisiones (Solana) o remitente (EVM/Tron). Si la clave no coincide, la firma fallará.
- Los blockhashes de Solana expiran rápido: Los blockhashes de Solana son válidos por aproximadamente 60 a 90 segundos. Construye la transacción y llama al endpoint de firma rápidamente. Si usas broadcast, los reintentos de la cola no ayudarán una vez que el blockhash expire.
- Gestión de nonce en EVM: Configura el nonce correctamente. Si el nonce ya fue usado, el broadcast fallará. Consulta el nonce desde la cadena inmediatamente antes de construir la transacción.
- Expiración en Tron: Las transacciones de Tron tienen una ventana de expiración de 24 horas configurada durante la construcción. Esto da tiempo suficiente para la firma y el broadcast.
- Solo firma vs broadcast: Usa
/signing/transactioncuando quieras transmitir la transacción tú mismo o a través de otro servicio. Usa/signing/broadcastcuando quieras que Blockradar maneje el envío con reintentos automáticos.

