AuthenticationSign in
Recover encrypted wallet backup (wallet=email)
wallet=email recovery bootstrap.
1) GET /sign-in?wallet=email&externalUserId=... → sends one-shot email OTP (30s)
2) POST /email/recover with {externalUserId, emailOtp} → returns encrypted backup (C+salt) + challenge
3) Client decrypts locally with user secret, derives publicKey, signs canonical challenge, then POST /sign-in (wallet=email).
Request Body
application/jsonRequiredexternalUserIdRequiredstringemailOtpRequiredstring[key: string]anyDefault Response