Skip to main content
POST
/
api
/
v1
/
authorize
Authorize User
curl --request POST \
  --url https://api.ekiden.fi/api/v1/authorize \
  --header 'Content-Type: application/json' \
  --data '
{
  "nonce": "<string>",
  "public_key": "<string>",
  "signature": "<string>",
  "timestamp_ms": 123,
  "full_message": "<string>"
}
'
{
  "token": "<string>",
  "user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}

Body

application/json
nonce
string
required

Example: b7d1c2e8f5a94f3db2f8c6a9d1e4

public_key
string
required

Example: 0xa9d81da788977638194c857b918f12ff2233c7a86e82b44705761b2d02426f6d

signature
string
required

Example: 0xf5ec808e52d014f5193eccf680acf84c6256bdddb0159088e7cb18d74b9c590b92eb4381e10307fccc0868612993dfb9a542257aab22d7a3decfda33045fb905

timestamp_ms
integer<int64>
required

Example: 1731541800000

full_message
string | null

Optional Aptos Wallet Standard full message (APTOS-prefixed, newline-delimited). If provided, the backend will verify the signature against this exact string and also validate that it contains message: AUTHORIZE|{timestamp_ms}|{nonce} and a matching nonce:.

Example:

APTOS\nmessage: AUTHORIZE|1731541800000|b7d1c2e8f5a94f3db2f8c6a9d1e4\nnonce: b7d1c2e8f5a94f3db2f8c6a9d1e4

Response

200 - application/json

Successfully authorized and token generated

token
string
required
user_id
string<uuid>
required