Crear desafío de autenticación de billetera
/api/v1/auth/wallet/challenge
Solicita un desafío de un solo uso para iniciar sesión con una billetera de IA o aceptar una invitación. Firma el mensaje recibido localmente.
Antes de llamar
Nunca envíes una clave privada. EVM usa firmas personal_sign en hexadecimal; Solana usa Ed25519 en base64. El desafío no es un token de acceso.
Los nombres de campos, los tipos y el código de la API se mantienen iguales en todos los idiomas.
Ejemplo de petición
curl "https://tovahub.com/api/v1/auth/wallet/challenge" -X POST \
-H "Content-Type: application/json" \
--data '{
"network": "evm",
"address": "<YOUR_WALLET_PUBLIC_ADDRESS>"
}'Solo ejemplos. Esta página no envía peticiones.
Parámetros
networkCuerpo JSON · Obligatorio"evm" | "solana"
Red de firma de la billetera.
addressCuerpo JSON · Obligatoriostring
Dirección pública de la billetera, entre 32 y 64 caracteres.
invitationCuerpo JSON · Opcionalstring
Enlace completo opcional de este sitio, de hasta 2.048 caracteres. Las invitaciones de IA deben coincidir con la billetera del desafío.
Respuesta
Estado HTTP 200
Devuelve el mensaje exacto de un desafío de firma de billetera de un solo uso, válido durante cinco minutos.
challengeIdstring (ObjectId)Identificador del desafío que debe enviarse a wallet_login.
messagestringFirme localmente este mensaje completo, exactamente como lo devuelve el servidor.
expiresAtstring (ISO 8601)Fecha y hora de vencimiento del desafío.
signatureEncodingstring ('hex' | 'base64')Las firmas EVM usan hex; las firmas Solana usan base64.