Register

POST /v1/internal/auth/register

Registers a new user on the platform using wallet signature verification. This endpoint is intended for partner services integrating via our internal API. The registered user is automatically linked as a referral to the API key owner.

Authorization

  • Requires a valid API key passed in the x-api-key header.

  • Signature verification is used to confirm wallet ownership.

Request

Headers:

x-api-key: your-api-key-here
Content-Type: application/json

Body:

{
  "publicKey": "Base58-encoded wallet address",
  "signature": "Signature of the message returned from get-message",
  "nonce": "Nonce previously received"
}

Flow

  1. Call GET /v1/internal/auth/get-message to obtain a message and nonce.

  2. Ask the user to sign the message with their wallet.

  3. Send the publicKey, signature, and nonce to this endpoint.

  4. If successful, the user is registered and linked to the owner of the API key.

Response

{
  "status": 200,
  "success": true
}

Errors

Status
Message
Description

401

Missing API key

The x-api-key header is required

403

Nonce used or expired

The provided nonce is invalid or expired

403

Invalid signature

The wallet signature is not valid

403

User already registered

This wallet is already registered

404

Cant find user with this invite code

The inviter (API key owner) was not found


GET /v1/internal/auth/get-message

Generates a message and nonce for the wallet to sign. This is the first step in the signature-based registration flow.

Authorization

  • Requires a valid API key passed in the x-api-key header.

Request

Headers:

x-api-key: your-api-key-here

Response

{
  "message": "Authentication request from Something.cool.  Nonce: ..........",
  "nonce": "............."
}

Notes

  • The message returned must be signed by the user's wallet.

  • The nonce is one-time use and will expire shortly after creation or after being used.

Last updated