Ir a la documentación
DocumentaciónReferencia de la APICrear desafío de autenticación de billetera
POSTSin autenticación

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
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 · Obligatorio

string

Dirección pública de la billetera, entre 32 y 64 caracteres.

invitationCuerpo JSON · Opcional

string

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.

messagestring

Firme 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.