Users

User authentication and profile management

Request an authentication nonce

post

Returns a nonce for the given address. The caller must sign this nonce and submit it to POST /users/authenticate to obtain a JWT.

Body
addressstringRequired

A valid EVM (0x-prefixed hex) address.

Example: 0x1234567890abcdef1234567890abcdef12345678
Responses
chevron-right
200

Nonce generated

application/json
addressstringRequired

A valid EVM (0x-prefixed hex) address.

Example: 0x1234567890abcdef1234567890abcdef12345678
noncestringRequired

An arbitrary 0x-prefixed hex string.

Example: 0xdeadbeef
post
/users/nonce

Authenticate with a signed nonce

post

Verifies the EIP-191 signature of the nonce returned by POST /users/nonce and returns a JWT token.

Body
addressstringRequired

A valid EVM (0x-prefixed hex) address.

Example: 0x1234567890abcdef1234567890abcdef12345678
signaturestringRequired

A 65-byte hex-encoded ECDSA signature (130 hex chars + 0x prefix).

Example: 0xabc...def
Responses
chevron-right
200

Authentication successful

application/json
addressstringRequired

A valid EVM (0x-prefixed hex) address.

Example: 0x1234567890abcdef1234567890abcdef12345678
tokenstringRequired

JWT to pass in x-auth-token on subsequent requests

emailstring · emailOptional
post
/users/authenticate

Get the authenticated user's API key

get
Authorizations
x-auth-tokenstringRequired

JWT token obtained from POST /users/authenticate

Responses
chevron-right
200

API key

application/json
addressstringRequired

A valid EVM (0x-prefixed hex) address.

Example: 0x1234567890abcdef1234567890abcdef12345678
apiKeystringRequired
get
/users/api-key

Get token balances for the authenticated user

get
Authorizations
x-auth-tokenstringRequired

JWT token obtained from POST /users/authenticate

Responses
chevron-right
200

List of token balances across chains

application/json
chainIdintegerRequired

A supported chain ID.

Example: 1
addressstringRequired

A valid EVM (0x-prefixed hex) address.

Example: 0x1234567890abcdef1234567890abcdef12345678
symbolstringRequired
decimalsintegerRequired
balancestringRequired

A non-negative integer represented as a decimal string.

Example: 1000000000000000000
allowancestringRequired

A non-negative integer represented as a decimal string.

Example: 1000000000000000000
pricenumberRequired
logostring · uriRequired
get
/users/tokens

Get user profile data

get

Only the authenticated user may read their own profile.

Authorizations
x-auth-tokenstringRequired

JWT token obtained from POST /users/authenticate

Path parameters
addressstringRequired

A valid EVM (0x-prefixed hex) address.

Example: 0x1234567890abcdef1234567890abcdef12345678
Responses
chevron-right
200

User profile data

application/json
userAddressstringRequired

A valid EVM address (0x-prefixed, 20 bytes).

Example: 0x1234567890abcdef1234567890abcdef12345678
namestringRequired
intendedUsestring · max: 255Required
emailstring · email · nullableOptional
get
/users/{address}/data

Update user profile data

post

Only the authenticated user may update their own profile.

Authorizations
x-auth-tokenstringRequired

JWT token obtained from POST /users/authenticate

Path parameters
addressstringRequired

A valid EVM (0x-prefixed hex) address.

Example: 0x1234567890abcdef1234567890abcdef12345678
Body
namestringOptional
intendedUsestring · max: 255Optional
Responses
chevron-right
200

Updated user profile data

application/json
userAddressstringRequired

A valid EVM address (0x-prefixed, 20 bytes).

Example: 0x1234567890abcdef1234567890abcdef12345678
namestringRequired
intendedUsestring · max: 255Required
emailstring · email · nullableOptional
post
/users/{address}/data

Last updated