- Docs
- Api%2Freference%2Fwallets%2FPasskeyLoginOptions
Start signing in with a passkey
Step one of signing in a user with an existing passkey. Convert the JSON response into the binary values WebAuthn expects, then give it to the browser: ```js const optionsJSON = await fetch('/wallets/connect/passkey/login/options', { method: 'POST' }) .then(r => r.json()); const options = PublicKeyCredential.parseRequestOptionsFromJSON(optionsJSON); const assertion = await navigator.credentials.get({ publicKey: options }); ``` Then serialize the result with `assertion.toJSON()` and send it to `POST /wallets/connect/passkey/login/verify`. There is nothing to send here, and nothing to identify: the browser knows which passkeys it holds for us and offers the right one. No sign-in needed — this is the sign-in.
Request Body
application/json
No request body is required.
TypeScript Definitions
Use the request body type in TypeScript.
No fields required. Body may be omitted entirely.
Response Body
application/json
application/json
application/json
curl -X POST "https://api.dual.network/wallets/connect/passkey/login/options" \ -H "Content-Type: application/json" \ -d '{}'{
"challenge": "s5f2X8kQvLbA1mZ0pYtR7cJdEwNhGuIoP3qS6rT9vXk",
"rpId": "dual.network",
"userVerification": "required",
"timeout": 60000
}{
"code": 3,
"message": "Key: 'limit' Error:Field validation for 'limit' failed on the 'lte' tag"
}{
"code": 13,
"message": "internal error"
}