Skip to main content
A User represents a person on Whop. Users have a public profile and can buy products, join accounts, and access experiences. Use the Users API to search for users, retrieve or update profiles, and check whether a user has access to an account, product, or experience.

Endpoints

Attributes

string
required
User ID, prefixed user_.
object | null
required
The user’s balance: personal cash + crypto + in-flight treasury deposits, plus account balances for accounts they own. Computed only on the self view (retrieved with the reserved id me) for callers with balance-read scope; null otherwise, or when include_balance=false.

Properties

object[]
required
Account balances for accounts the user owns, highest balance first. Excludes accounts with no balance.

Properties

string
required
The account ID, which looks like biz_*************.
string
required
The account’s total balance in USD.
string | null
required
The account’s logo URL.
string | null
required
The account’s display name.
string
required
Combined USD balance across every account the user owns.
object[]
required
Per-currency fiat cash balances.

Properties

number
required
Available balance in the native currency.
number
required
Available balance converted to USD.
string
required
Lowercase ISO currency code, such as usd or eur.
number
required
Balance moving to the user’s own wallet or card, converted to USD.
number
required
Pending balance converted to USD.
number | null
required
USD price per native currency unit, or null when no exchange rate is available.
number
required
Reserved balance converted to USD.
number
required
Withdrawable amount in the native currency.
string
required
Fiat cash in USD, including pending, in-transit, and reserve.
object[]
required
Per-token crypto holdings in the ledger’s own wallet.

Properties

string
required
Amount held in native token units, as a decimal string.
object
required
Balance split into available, pending, in-transit, and reserve amounts, as native-unit decimal strings. Transfers between the user’s own wallet and card are reported in in_transit until they arrive.

Properties

string
required
Amount you can spend, send, or withdraw now, in native units, as a decimal string.
string
required
Amount moving between the account’s own destinations, such as a treasury sweep to its crypto wallet or a card top-up. In native units, as a decimal string.
string
required
Amount from recent payments still settling, in native units, as a decimal string.
object[]
required
When the pending amount is expected to settle, one entry per day, earliest first. Money with no scheduled settlement day, such as a transfer in flight, is left out — so these can sum to less than pending, never more.

Properties

string
required
Amount expected that day, in native units, as a decimal string.
string
required
The day this money is expected to finish settling, as an ISO 8601 date.
string
required
Amount held back, in native units, as a decimal string. Retrieve the account’s reserves for why it is held and when it unlocks.
string | null
required
Token icon URL.
string | null
required
The token’s display name.
number | null
required
USD price per token, or null when unknown.
string
required
Token display symbol, such as USDT, XAUT, or cbBTC.
number
required
Holding USD value.
string
required
Crypto holdings in USD.
string
required
Fiat pending and in-transit balances, plus in-flight treasury deposits, in USD.
string
required
The user’s personal balance in USD: cash (available + pending + in-transit + reserve) + crypto + in-flight treasury deposits. Excludes account balances (see businesses_total_usd).
string
required
Balance-to-wallet USDT0 payouts still in flight, in USD.
object | null
required
The user’s cumulative wallet balance over time (USD \{ t, v } points plus last/min/max), for the balance chart. Opt in with include_balance_history=true when retrieving yourself with the reserved id me; populated only for callers with balance-read scope and null otherwise. A user with no wallet activity returns an empty series.

Properties

object[]
required
Cumulative balance points over the requested window, oldest first.

Properties

integer
required
Point timestamp, in Unix seconds.
number
required
Cumulative wallet balance at this point, in USD.
number
required
Value of the most recent point, in USD.
number
required
Maximum value across the window, in USD.
number
required
Minimum value across the window, in USD.
object[]
required
The user’s personal holdings, each with its USD value and breakdown, in the same shape as an account’s balances. Empty when total_usd is null.

Properties

string
required
Total amount held in native units, as a decimal string.
object
required
Balance split into available, pending, and reserve amounts, as native-unit decimal strings, with the days the pending amount is expected to settle. On-chain crypto is entirely available; good_funds and fiat cash can have pending or reserve portions.

Properties

string
required
Amount you can spend, send, or withdraw now, in native units, as a decimal string.
string
required
Amount moving between the account’s own destinations, such as a treasury sweep to its crypto wallet or a card top-up. In native units, as a decimal string.
string
required
Amount from recent payments still settling, in native units, as a decimal string.
object[]
required
When the pending amount is expected to settle, one entry per day, earliest first. Money with no scheduled settlement day, such as a transfer in flight, is left out — so these can sum to less than pending, never more.

Properties

string
required
Amount expected that day, in native units, as a decimal string.
string
required
The day this money is expected to finish settling, as an ISO 8601 date.
string
required
Amount held back, in native units, as a decimal string. Retrieve the account’s reserves for why it is held and when it unlocks.
string | null
required
Holding icon URL.
string
required
The holding’s display name
number | null
required
USD price per unit, or null when no exchange rate is available.
string
required
Holding display symbol, such as USDT, cbBTC, or EUR.
string | null
required
Holding USD value, or null when no exchange rate is available.
object | null
required
The user’s profile banner wrapper. null when the user has no banner.

Properties

string
required
Profile banner image URL.
string | null
required
The user’s biography
object | null
required
Where the user’s personal card application stands. Populated only on the self view (retrieved with the reserved id me) for callers with balance-read scope; null otherwise, or when the user has never applied for a card.

Properties

string | null
required
Whether the card application verifies a business (business, KYB) or a person (individual, consumer identity). null when the application is not yet linked to a verification.Available options: individual, business
string
required
Where the card application stands. approved means cards can be issued. needs_verification means the applicant has not completed identity verification yet; needs_information means they did, but the documents were rejected for a fixable reason and must be resubmitted. pending and manual_review are in flight. denied, locked, and canceled are terminal.Available options: approved, pending, manual_review, denied, locked, canceled, needs_verification, needs_information
string
required
When the user was created, as an ISO 8601 timestamp
object | null
required
The user’s gross USD income over time, including a Partner commission breakdown. Populated only on single-user self reads for callers with balance-read scope; null otherwise.

Properties

string | null
required
The first time the user earned gross income, as an ISO 8601 timestamp.
object
required
Gross income from accounts the user owns or is owner-authorized on.

Properties

string
required
Gross income in USD over the last 24 hours.
string
required
Gross income in USD over the last 30 days.
string
required
Gross income in USD over the last 7 days.
string
required
All-time gross income in USD.
object
required
Partner commissions posted to the user’s wallet. Pending Partner payouts are excluded until they post; later reversals do not reduce gross income.

Properties

string
required
Gross income in USD over the last 24 hours.
string
required
Gross income in USD over the last 30 days.
string
required
Gross income in USD over the last 7 days.
string
required
All-time gross income in USD.
object
required
Gross income from the user’s personal wallet.

Properties

string
required
Gross income in USD over the last 24 hours.
string
required
Gross income in USD over the last 30 days.
string
required
Gross income in USD over the last 7 days.
string
required
All-time gross income in USD.
object
required
Gross income from the user’s personal wallet plus accounts they own or are owner-authorized on.

Properties

string
required
Gross income in USD over the last 24 hours.
string
required
Gross income in USD over the last 30 days.
string
required
Gross income in USD over the last 7 days.
string
required
All-time gross income in USD.
string | null
required
The user’s email address. Populated only on the self view (retrieved with the reserved id me) for callers with email-read scope; null otherwise, or while the account has no confirmed email yet.
object | null
required
The user’s Whop Levels progress, counted across every account they own. Populated only on the self view (retrieved with the reserved id me) for callers with balance-read scope; null otherwise, and when none of their accounts are in Whop Levels.

Properties

integer
required
Current level, from 0 before the first threshold up to 10.
integer
required
Points earned this month across every account the owner owns.
object
required
This month’s points, split by where they were earned.

Properties

integer
required
Points from charged Whop Ads spend: 10 for every whole dollar.
integer
required
Points from Whop Card spend: 10 for every whole dollar.
integer
required
Points from perpetual trading volume: 1 for every whole dollar traded.
integer | null
required
Points still needed this month to reach the next level, or null at level 10.
string
required
When this month’s points reset to zero, as an ISO 8601 timestamp.
string | null
required
The user’s display name
object
required
Avatar wrapper; its url is always present, using a generated placeholder when the user set no picture.

Properties

string
required
Avatar image URL. Always present — a generated placeholder when the user set no picture.
The social accounts and websites on the user’s public profile. Empty when the user has none.

Properties

string
required
The link’s URL.
string | null
required
The user’s handle on the platform, as entered or as reported by the connected account. null for links without a handle, such as a personal site.
boolean
required
Whether Whop verified that the user owns the account.
string
required
The platform the link points to. website is a personal site rather than a social platform.Available options: x, instagram, facebook, tiktok, youtube, linkedin, twitch, website
string | null
required
Total USD value of the user’s personal holdings in balances, across those with known exchange rates. Computed only on the self view (retrieved with the reserved id me) for callers with balance-read scope; null otherwise, when include_balance=false, or when the balance source is unavailable.
trading_account | null
required
The trading account address and its WebSocket subscriptions. Opt in with include_trading=true when retrieving me. null otherwise, without trading permission, or without an Ethereum wallet.

Properties

string
required
The Whop wallet ID backing this trading account, prefixed cwal_.
string | null
required
The account that owns this trading account, prefixed biz_. null when a user owns it.
object | null
required
Hyperliquid-specific state. Present when provider is hyperliquid, otherwise null.

Properties

string
required
Lowercase wallet address that holds the Hyperliquid account.
object[]
required
Subscriptions for live account updates. Send each message unchanged after connecting to websocket_url.

Properties

string
required
The live update stream this subscription opens.Available options: clearinghouse_state, open_orders, order_updates, user_fills, user_events
string
required
JSON subscription message to send unchanged over the Hyperliquid WebSocket.
string
required
Hyperliquid WebSocket URL to connect to directly for live updates.
string
required
string
required
Trading venue that holds the positions and orders.Available options: hyperliquid
string | null
required
The user who owns this trading account, prefixed user_. null when an account owns it.
string
required
The user’s unique username
object
required
Identity verification status for the user’s individual (KYC) and business (KYB) profiles. Each is null until created, otherwise a status of not_started, pending, approved, or rejected.
string | null
required
When the user became an enrolled Whop Partner, as an ISO 8601 timestamp. null if never enrolled.
integer | null
required
Number of accounts the user referred to Whop as a Whop Partner that have processed more than $1 in volume attributed to the user. Populated only when retrieving a single user who is a Verified Whop Partner; null otherwise.
string | null
required
When the user became a Verified Whop Partner, as an ISO 8601 timestamp. null for users who are not Verified Whop Partners, including partners who left the program and suspended users.
User