Skip to main content
POST
/
v1
/
auth
/
verify
Verify SIWS signature and get JWT
curl --request POST \
  --url https://joyride.exchange/api/v1/auth/verify \
  --header 'Content-Type: application/json' \
  --data '
{
  "wallet": "GmQozSzrtMjXt5F1Bed8Vrt55zCbiga8vDZr47RX9wC8",
  "signature": "3xJ9...",
  "message": "Sign in to Joyride\n\nWallet: GmQozSzrtMjXt5F1Bed8Vrt55zCbiga8vDZr47RX9wC8\nNonce: a1b2c3d4e5f67890a1b2c3d4e5f67890"
}
'
{
  "token": "eyJhbGciOiJIUzI1NiJ9..."
}

Documentation Index

Fetch the complete documentation index at: https://docs.joyride.exchange/llms.txt

Use this file to discover all available pages before exploring further.

Body

application/json
wallet
string
required

Solana wallet address (base58-encoded, 32 bytes)

Example:

"GmQozSzrtMjXt5F1Bed8Vrt55zCbiga8vDZr47RX9wC8"

signature
string
required

Base58-encoded ed25519 signature of the SIWS message

Example:

"3xJ9..."

message
string
required

Canonical SIWS message. Must match the format: Sign in to Joyride\n\nWallet: {wallet}\nNonce: {nonce}

Example:

"Sign in to Joyride\n\nWallet: GmQozSzrtMjXt5F1Bed8Vrt55zCbiga8vDZr47RX9wC8\nNonce: a1b2c3d4e5f67890a1b2c3d4e5f67890"

Response

Authentication successful

token
string
required

JWT session token (HS256, 24h expiry). Use as Authorization: Bearer <token> on subsequent requests.

Example:

"eyJhbGciOiJIUzI1NiJ9..."