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
Call
GET /v1/internal/auth/get-message
to obtain a message and nonce.Ask the user to sign the message with their wallet.
Send the
publicKey
,signature
, andnonce
to this endpoint.If successful, the user is registered and linked to the owner of the API key.
Response
{
"status": 200,
"success": true
}
Errors
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