---
title: "Exchange Privy Token"
method: POST
path: "/v1/auth/privy/exchange"
tags: ["auth"]
---

# Exchange Privy Token

`POST /v1/auth/privy/exchange`

## Request

- Base URL: `https://alive-api.alphakek.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://alive-api.alphakek.ai/v1/auth/privy/exchange`
- Auth: none declared

Verify a Privy identity token and exchange it for an ALIVE session token.

## Request body

- PrivyExchangeRequest: Request payload for `POST /auth/privy/exchange`.
  - `privy_token` string, required: Privy identity token (JWT)

## Response `200`

Successful Response

- PrivyExchangeResponse: Response payload for `POST /auth/privy/exchange`.
  - `token` string, required: Backend session token (JWT)
  - `user` AuthUser, required: User payload returned to the frontend after authentication.
    - `id` string, required: Canonical ALIVE user identifier (wallet address)
    - `username` string, required: Display name (currently derived from wallet address)

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-16** `b6d96e7673dc`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/alphakek-ai/apis/aikek-api/changes/v1/auth/privy/exchange/post.md)

---

[API](https://skmtc.dev/alphakek-ai/apis/aikek-api.md) - [All operations](https://skmtc.dev/alphakek-ai/apis/aikek-api/llms.txt) - [OpenAPI document](https://skmtc.dev/alphakek-ai/apis/aikek-api/revisions/b6d96e7673dc?raw)
