Create a signing method

How to create signing methods for your users.

Signing methods are like passwords that grant user access to their wallets. Each user has their own signing method. The user can perform transactions, sign messages, and recover their PIN by providing their signing method. Users can have three types of signing methods: PIN, Emergency code, and Biometric.

📘

  • The first signing method for a user must always be a PIN which should be six digits. (You dont need to pass a signing method header when creating the first signing method)
  • If you're creating an additional signing method, then you need to pass a valid signing method in the header request as explained in the table below.
ParameterParam TypeValueDescriptionExample Value
Signing-MethodHeaderid:valueid: This is the ID of the signing method
value: This is the value of the signing method
756ae7a7-3713-43ee-9936-0dff50306488:123456

📘

Learn more about signing methods.

Request Endpoint: reference

POST /api/users/{userId}/signing-methods
ParameterParam TypeDescriptionData TypeMandatory
{userId}PathThe ID of the user for whom to create the signing method forString
typeBodyThe type of signing method to create for this user. Allowed values: PIN, BIOMETRIC, EMERGENCY_CODEString
valueBodyThe value of the signing method. For PIN, the value should be 6 digits. For EMERGENCY_CODE, the value should be 25 characters, or you can leave it blank to autogenerate the code with the correct entropy.String
physicalDeviceIdBodyA unique authentication ID, such as FaceID, TouchID, etc. This is to be set with the type: BIOMETRIC.String

Request Body:

{
  "type": "PIN",
  "value": "123456"
}

Response Body:

ParamDescription
result.idThis is the ID of the signing method.
{
    "success": true,
    "result": {
        "id": "f3371883-2024-469b-a122-ca22f58ba6b9",
        "type": "PIN",
        "incorrectAttempts": 0,
        "remainingAttempts": 10,
        "hasMasterSecret": true
    }
}