Passkey Account

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"
}

Generate authentication options

get

Generate authentication options for a user

Query parameters
usernamestringRequired

The username of the user

Responses
200
Authentication options generated successfully
application/json
get
GET /webauthn/authenticate/generate-options?username=text HTTP/1.1
Host: 
Accept: */*
{
  "passkeyAuthenticationOptions": {}
}

Verify authentication

post

Verify the authentication for a user

Query parameters
usernamestringRequired

The username of the user

Body
idstringOptional
rawIdstringOptional
authenticatorAttachmentstringOptional
clientExtensionResultsobjectOptional
typestringOptional
Responses
200
Authentication verified successfully
application/json
post
POST /webauthn/authenticate/verify?username=text HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 186

{
  "id": "text",
  "rawId": "text",
  "response": {
    "attestationObject": "text",
    "clientDataJSON": "text",
    "signature": "text"
  },
  "authenticatorAttachment": "text",
  "clientExtensionResults": {},
  "type": "text"
}
{
  "message": "text"
}

Generate transaction options for WebAuthn

post
Body
anyOptional
Responses
200
Transaction options generated successfully
post
POST /v3/webauthn/transaction/generate-options HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 158

{
  "username": "[email protected]",
  "transactionDetails": [
    {
      "encodedData": "0x...",
      "targetContractAddress": "0x...",
      "value": "1000000000000000000"
    }
  ],
  "network": "42161"
}

No content

Verify WebAuthn transaction

post
Query parameters
usernamestringRequired

The username of the user verifying the transaction

Body
objectOptional
Responses
200
Transaction verified successfully
post
POST /v3/webauthn/transaction/verify?username=text HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 2

{}

No content

Last updated