Authentication

Sign up and manage API keys through our APIs to seamlessly manage your stake with us!

API URL

For ETH, please follow a separate authentication guide here


Sign up

POST /user/signup

Create an account for your organization with Luganodes. Please contact [email protected] in order to approve your organisation and receive an API key once you've signed up using this endpoint.

Request Body

{
  "email": "[email protected]",
  "password": "TestPass123",
  "org": "Test Organization",
  "scope": {
    "sui": {
      "validator_addresses": ["0x7e254f0f55e24b8a6995567241618f750d0d94f2cf49b36703869779d2ee4327"],
      "delegator_addresses": ["0xfaiojf923h2i.....", "0x329hipnasfnweufaw....."]
    }
  }
}
Name
Type
Description

email*

String

Organization email

password*

String

Password for organization account

org*

String

Organization Name

scope*

Object

Object containing whitelisted addresses

Note: If you are not sure what needs to be added as a scope, apply with an empty scope object and get in touch with our team at [email protected]

{
    "message": "Registration request received and is pending approval."
}

Sample Request

curl --location '{{URL}}/user/signup' \
--header 'Content-Type: application/json' \
--data-raw '{
  "email": "[email protected]",
  "password": "TestPass123",
  "org": "Test Organization",
  "scope": {
    "ethereum": {
      "validator_addresses": ["0x7e254f0f55e24b8a6995567241618f750d0d94f2cf49b36703869779d2ee4327"],
      "delegator_addresses": ["0xfaiojf923h2i.....", "0x329hipnasfnweufaw....."]
    }
  }
}'

Create API key

POST /user/api-keys

Send a request to generate a new API key.

Headers

Name
Type
Description

Authorization*

Basic Auth

Base64 encoded email:password

Request Body

{
  "label": "Test API Key"
}
Name
Type
Description

label*

String

API Key Label

{
    "keyId": "68c0f941ac35dcc2130a00aX",
    "label": "Test API Key",
    "apiKey": "luga-f1cd0029-a256-b234-c9e1-41233a260ea7"
}

Sample Request

curl --location '{{URL}}/user/api-keys' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic dGVzdHVzZXXAXuhbXBsZS5jb206GGVzdFBhc3MxMjM=' \
--data '{
  "label": "Test API Key"
}'

List API keys

GET /user/api-keys

List all currently active API Keys.

Headers

Name
Type
Description

Authorization*

Basic Auth

Base64 encoded email:password

{
    "keys": [
        {
            "keyId": "68c0f9413c35d9c2140a00a7",
            "label": "Test API Key",
            "createdAt": "2024-09-10T04:06:25.693Z"
        },
        {
            "keyId": "68c0fa9c3c48d9x2140a00ad",
            "label": "Test API Key 1",
            "createdAt": "2024-08-12T04:12:12.131Z"
        },
        {
            "keyId": "68c0fbed3c98d7y2140x00bb",
            "label": "Test API Key 2",
            "createdAt": "2025-01-01T04:17:49.258Z"
        },
        {
            "keyId": "68c0fbfa3c35d9c2140a00c5",
            "label": "Test API Key 3",
            "createdAt": "2025-05-04T04:18:02.692Z"
        },
        {
            "keyId": "68c0fc073c35d9c2140a00d1",
            "label": "Test API Key 4",
            "createdAt": "2025-09-10T04:18:15.306Z"
        }
    ]
}

Sample Request

curl --location '{{URL}}/user/api-keys' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic dGVzdHVzZXXAXuhbXBsZS5jb206GGVzdFBhc3MxMjM='

Revoke API key

DEL /user/api-keys/{{keyId}}

Revoke an API Key

Headers

Name
Type
Description

Authorization*

Basic Auth

Base64 encoded email:password

If you receive a 204 No Content status, it means that the key has successfully been revoked.

Sample Request

curl --location '{{URL}}/user/api-keys/{{keyId}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic dGVzdHVzZXXAXuhbXBsZS5jb206GGVzdFBhc3MxMjM='

Last updated