Passkey Account Creation

Smart accounts with passkey as primary signer

Generate registration options for WebAuthn

get
Query parameters
usernamestringRequired

The username of the user to register

Example: [email protected]
Responses
200
Registration options generated successfully
application/json
Responseobject
get
GET /v3/webauthn/register/generate-options?username=text HTTP/1.1
Host: 
Accept: */*
{
  "challenge": "randomChallengeString",
  "rp": {
    "name": "Example RP",
    "id": "example.com"
  },
  "user": {
    "id": "userID123",
    "name": "[email protected]",
    "displayName": "User"
  },
  "pubKeyCredParams": [
    {
      "alg": -7,
      "type": "public-key"
    }
  ]
}

Verify WebAuthn registration

post
Query parameters
usernamestringRequired

The username of the user to verify

Body
anyOptional
Responses
200
Registration verified successfully
application/json
post
POST /v3/webauthn/register/verify?username=text HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 162

{
  "id": "credentialId123",
  "rawId": "base64EncodedRawId",
  "response": {
    "attestationObject": "base64EncodedAttestationObject",
    "clientDataJSON": "base64EncodedClientData"
  }
}
{
  "username": "[email protected]",
  "wallet": {
    "scw_address": "0x123...",
    "multi_scw": [
      {
        "network": 42161,
        "address": "0x123...",
        "deployed": true
      }
    ]
  },
  "token": "jwt-token-123"
}

Last updated