Skip to main content

Descifrar Etiqueta

Descifrar un ZelfProof para acceder a datos de wallet y metadatos usando verificación biométrica facial.

Endpoint

POST /api/tags/decrypt

Descripción

Este endpoint te permite descifrar un ZelfProof usando verificación biométrica facial para acceder a los datos originales del wallet, incluyendo frases mnemónicas y claves privadas. El proceso de descifrado verifica la identidad del usuario a través del reconocimiento facial antes de proporcionar acceso a información sensible.

Parámetros

ParámetroTipoRequeridoDescripción
tagNamestringEl nombre de la etiqueta a descifrar (sin sufijo de dominio)
domainstringEl dominio de la etiqueta (ej., "zelf", "avax", "bdag")
faceBase64stringImagen facial codificada en base64 para verificación biométrica
passwordstringContraseña utilizada durante el cifrado original

Respuesta

{
"data": {
"id": "0199819c-37b8-7e23-a6f7-3033156b356a",
"url": "https://blush-selective-earwig-920.mypinata.cloud/ipfs/bafkreicmi63avsxwn273fnc5vtzieqpo76snaiqj5bgfqpn5bu5o3lrwye",
"ipfs_pin_hash": "bafkreicmi63avsxwn273fnc5vtzieqpo76snaiqj5bgfqpn5bu5o3lrwye",
"ipfsHash": "bafkreicmi63avsxwn273fnc5vtzieqpo76snaiqj5bgfqpn5bu5o3lrwye",
"cid": "bafkreicmi63avsxwn273fnc5vtzieqpo76snaiqj5bgfqpn5bu5o3lrwye",
"size": 20238,
"date_pinned": "2025-09-25T16:02:03.083Z",
"publicData": {
"btcAddress": "bc1q9x0zeau8sd05vs5zt5hyxc7tgahd028v2t695y",
"domain": "zelf",
"ethAddress": "0xb4296e8aFaE20242C1004Eb2c09Bf58A79C26bA5",
"solanaAddress": "DnpBkSJiMNxok1TrQRufMryLysbj7Fhh1HEQ8h2hqZdb",
"suiAddress": "0x6a67465417c8feca9d0787bd5aac77eced8f31f7d4aba664ec778b65e47526bd",
"zelfName": "testcarlos35.zelf.hold",
"hasPassword": "true",
"type": "hold",
"origin": "online",
"registeredAt": "2025-09-25 11:02:02",
"expiresAt": "2025-10-25 11:02:02"
},
"zelfProofQRCode": "data:image/png;base64,[QR_CODE_BASE64_DATA]",
"zelfProof": "[ZELFPROOF_BASE64_DATA]",
"domain": "zelf",
"metadata": {
"mnemonic": "street stairs earn fiscal impose sad document next tube word oblige print bitter home yellow allow between will fatal sorry ancient cushion frown dirt"
}
}
}

Campos de Respuesta

Objeto de Respuesta Principal

CampoTipoDescripción
idstringIdentificador único para el registro IPFS
urlstringURL directa para acceder al contenido IPFS
ipfs_pin_hashstringIdentificador hash de pin IPFS
ipfsHashstringHash IPFS del contenido almacenado
cidstringIdentificador de contenido para IPFS
sizenumberTamaño del contenido almacenado en bytes
date_pinnedstringMarca de tiempo ISO cuando el contenido fue fijado en IPFS
publicDataobjectInformación pública del wallet
zelfProofQRCodestringImagen de código QR codificada en base64
zelfProofstringDatos ZelfProof codificados en base64
domainstringDominio de la etiqueta descifrada
metadataobjectDatos sensibles del wallet descifrados

Objeto PublicData

CampoTipoDescripción
btcAddressstringDirección de wallet Bitcoin
domainstringDominio de la etiqueta
ethAddressstringDirección de wallet Ethereum
solanaAddressstringDirección de wallet Solana
suiAddressstringDirección de wallet Sui
zelfNamestringNombre Zelf completo (tagName.domain.type)
hasPasswordstringSi el ZelfProof requiere una contraseña
typestringTipo de la etiqueta (ej., "hold")
originstringOrigen de creación ("online" o "offline")
registeredAtstringMarca de tiempo de registro
expiresAtstringMarca de tiempo de expiración

Objeto Metadata

CampoTipoDescripción
mnemonicstringFrase mnemónica BIP39 para recuperación del wallet

Ejemplos

curl -X POST "https://api.zelf.world/api/tags/decrypt" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-d '{
"tagName": "mytag",
"domain": "zelf",
"faceBase64": "[FACE_BASE64_DATA]",
"password": "your_password"
}'

Notas

  • Verificación Biométrica: El parámetro faceBase64 debe contener la misma imagen facial utilizada durante el cifrado original
  • Seguridad de Contraseña: El parámetro password debe coincidir con la contraseña utilizada durante el cifrado original
  • Datos Sensibles: El campo metadata contiene información sensible incluyendo frases mnemónicas - manejar con cuidado
  • Almacenamiento IPFS: Los datos descifrados se almacenan en IPFS y son accesibles a través de las URLs proporcionadas
  • Soporte de Dominio: Soporta múltiples dominios incluyendo "zelf", "avax", "bdag", etc.
  • Expiración: Las etiquetas pueden tener fechas de expiración como se muestra en el campo expiresAt
  • Código QR: El zelfProofQRCode puede ser utilizado para acceso offline al ZelfProof

Consideraciones de Seguridad

  • Siempre usar HTTPS al hacer solicitudes
  • Almacenar tokens JWT de forma segura y rotarlos regularmente
  • Nunca registrar o exponer datos sensibles del campo metadata
  • Asegurar que las imágenes faciales se capturen de forma segura y no se almacenen de forma insegura
  • Usar contraseñas fuertes para el cifrado de ZelfProof