---
title: "POST /v2/privy/check"
method: POST
path: "/v2/privy/check"
---

# POST /v2/privy/check

`POST /v2/privy/check`

Check if a user exists in Privy by email or wallet address

## Request body

- union
  - object
    - `email` string, email, required — Email address to check
    - `address` string — Ethereum wallet address to check
  - object
    - `email` string, email — Email address to check
    - `address` string, required — Ethereum wallet address to check

## Response `200`

Successfully checked user existence in Privy

- PrivyUserResponse
  - `exists` boolean, required — Whether the user exists in Privy
  - `user` object, nullable, required
    - `id` string
    - `createdAt` string, date-time
    - `isGuest` boolean
    - `customMetadata` object
    - `linkedAccounts` object[]
    - `email` object
      - `address` string, email
      - `verifiedAt` string, date-time
      - `firstVerifiedAt` string, date-time
      - `latestVerifiedAt` string, date-time
    - `wallet` object
      - `address` string
      - `chainType` string
      - `verifiedAt` string, date-time
      - `firstVerifiedAt` string, date-time
      - `latestVerifiedAt` string, date-time

## Other responses

- `400` — Missing required fields
- `500` — Server error

---

[API](https://skmtc.net/unlock-protocol/apis/unlock-locksmith.md) · [All operations](https://skmtc.net/unlock-protocol/apis/unlock-locksmith/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/unlock-protocol/unlock-locksmith/revisions/e003b998de45/schema)
