Skip to main content
An Account represents a person or business in Whop. Each account has its own profile, wallet, and settings, so you can create one for every customer, creator, merchant, or seller your integration supports. Create an account when someone needs to hold funds, receive payments, send money, or use account-scoped API features. Save the returned id and wallet details, and use metadata to store your own stable identifier, like a user ID from your system.

Endpoints

EndpointRequest
Create AccountPOST /accounts
Update AccountPATCH /accounts/{account_id}
Retrieve AccountGET /accounts/{account_id}
Retrieve Requesting AccountGET /accounts/me
List AccountsGET /accounts

Attributes

balances
object[]
required
Account holdings, each with USD value. Empty when total_usd is null.

Properties

balance
string
required
Total amount held in native units, as a decimal string.
breakdown
object
required
Balance split into available, pending, and reserve amounts, as native-unit decimal strings. On-chain crypto is entirely available; good_funds and fiat cash can have pending or reserve portions.
icon_url
string | null
required
Holding icon URL.
name
string
required
The holding’s display name
price_usd
number | null
required
USD price per unit, or null when no exchange rate is available.
symbol
string
required
Holding display symbol, such as USDT, cbBTC, or EUR.
value_usd
string | null
required
Holding USD value, or null when no exchange rate is available.
banner_image_url
string | null
required
Account banner image URL.
business_address
object | null
required
Account business address used to calculate tax, with line1, line2, city, state, postal_code, and country. null when no address is set.
business_type
string | null
required
High-level business category for the account.
capabilities
object | null
required
Payment rails enabled for this account, each active, inactive, or pending (onboarding or review in progress). Computed only on retrieve and me for callers with company:balance:read scope; null otherwise.
country
string | null
required
Country where the account is located.
created_at
string
required
When the account was created, as an ISO 8601 timestamp.
description
string | null
required
Account promotional description.
email
string | null
required
Account owner email address.
home_preferences
string[]
required
Public account home page preferences.
id
string
required
Account ID, prefixed biz_.
industry_group
string | null
required
Account industry group.
industry_type
string | null
required
Specific industry vertical for the account.
invoice_prefix
string | null
required
Prefix used for account invoices.
logo_url
string | null
required
Account logo image URL.
metadata
object
required
Arbitrary key/value metadata supplied at account creation.
onboarding_type
string | null
required
Type of onboarding the account has completed.
opengraph_image_url
string | null
required
Account Open Graph image URL.
opengraph_image_variant
string | null
required
Account Open Graph image variant.
other_business_description
string | null
required
Business type details when business_type is other.
other_industry_description
string | null
required
Industry details when industry_type is other.
parent_account_id
string | null
required
Parent account ID for connected accounts.
product_tax_code
object | null
required
Tax classification code applied by default to the account’s products, with id, name, and product_type. null when no default is set.
Optional actions that unlock capabilities or grow the account, same shape as required_actions. Computed only on retrieve and me; null otherwise.

Properties

action
string
required
The recommendation; new values may be added, so handle unknown actions gracefullyAvailable options: apply_for_financing, migrate_from_stripe, accept_first_payment, join_whop_university
blocked_capabilities
string[]
required
Capabilities this would unlock, or empty
cta
string
required
The URL the call-to-action links to
cta_label
string
required
Button label
description
string
required
Supporting copy, or empty
icon_url
string | null
required
Illustration icon URL, or null
status
string
required
Always optional — never blockingAvailable options: optional
title
string
required
Headline for the recommendation
require_2fa
boolean
required
Whether authorized users must enable two-factor authentication.
required_actions
object[] | null
required
Actions the account owner must take to unblock capabilities like payouts and card spend, ordered by display priority. Computed only on retrieve and me for callers with company:balance:read scope; null otherwise.

Properties

action
string
required
What the holder must do; new values may be added, so handle unknown actions gracefullyAvailable options: deposit_funds, submit_information_request, verify_identity, connect_fulfillment_tracker
blocked_capabilities
string[]
required
Capabilities gated until this is resolved
cta
string | null
required
The URL the call-to-action links to, or null when there is no button
cta_label
string
required
Button label, or empty when there is no button
description
string
required
Supporting copy, or empty
icon_url
string | null
required
The URL of the action’s illustration icon, or null if it has none
status
string
required
required (act now) or pending (under review)Available options: required, pending
title
string
required
Headline for the action
route
string
required
Account public route identifier.
send_customer_emails
boolean
required
Whether Whop sends transactional emails to customers on behalf of this account.
show_joined_whops
boolean
required
Whether the account appears in joined whops on other accounts.
show_reviews_dtc
boolean
required
Whether reviews are displayed on direct-to-consumer product pages.
show_user_directory
boolean
required
Whether the account shows users in the user directory.
Account social links.

Properties

id
string
required
The ID of the social link
title
string | null
required
The optional display title for the social link
url
string
required
The social link URL
website
string
required
The social platform for this linkAvailable options: x, instagram, facebook, tiktok, youtube, linkedin, twitch, website, custom
status
string | null
required
Whether the account can operate on Whop: active or suspended. Computed only on retrieve and me; null otherwise.
store_page_config
object
required
Account store page display configuration.
target_audience
string | null
required
Target audience for this account.
tax_identifiers
object[]
required
Account tax/VAT registrations, each with id, tax_id_type, and tax_id_value. Empty when none are set.
tax_remitted_by
string | null
required
Who calculates and remits tax for the account: whop (Whop calculates and remits), self (Whop calculates; the account collects and remits), or none (neither; the account is responsible). null until the account enrolls in the Whop tax service.
title
string
required
Account display name.
total_earned_usd
number | null
required
Account lifetime sales, normalized to USD. Computed only on retrieve and me for callers with stats:read scope; null otherwise.
total_usd
string | null
required
Total USD value across balances with known exchange rates. Computed only on single-account reads (retrieve and me); null on list responses, writes, missing balance-read permission, or unavailable balance source.
use_logo_as_opengraph_image_fallback
boolean
required
Whether the account uses its logo as the fallback Open Graph image.
verification
object
required
Account identity verification status for the individual (KYC) and business (KYB) profiles. Each is null until created, otherwise a status of not_started, pending, approved, or rejected.
wallet
object | null
required
Account primary crypto wallet, or null if none has been provisioned.
Account
{
	"balances": [
		{
			"balance": "1250.5",
			"breakdown": {
				"available": "1250.5",
				"pending": "0",
				"reserve": "0"
			},
			"icon_url": "https://cdn.whop.com/tokens/usdt.png",
			"name": "Tether USD",
			"price_usd": 1,
			"symbol": "USDT",
			"value_usd": "1250.50"
		},
		{
			"balance": "45.00",
			"breakdown": {
				"available": "40.00",
				"pending": "5.00",
				"reserve": "0"
			},
			"icon_url": null,
			"name": "EUR",
			"price_usd": 1.11,
			"symbol": "EUR",
			"value_usd": "50.00"
		}
	],
	"banner_image_url": "https://cdn.whop.com/banner.png",
	"business_type": "flower_delivery",
	"country": "US",
	"created_at": "2026-06-01T12:00:00Z",
	"description": "Petal Post delivers fresh bouquets.",
	"email": "hello@petalpost.example",
	"home_preferences": ["storefront"],
	"id": "biz_petalpost123",
	"industry_group": "commerce",
	"industry_type": "flower_delivery",
	"invoice_prefix": "PETAL",
	"logo_url": "https://cdn.whop.com/logo.png",
	"metadata": {
		"external_merchant_id": "merchant_123"
	},
	"onboarding_type": "standard",
	"opengraph_image_url": "https://cdn.whop.com/og.png",
	"opengraph_image_variant": "banner",
	"other_business_description": "Local flower delivery",
	"other_industry_description": "Same-day floral gifts",
	"parent_account_id": "biz_platform123",
	"require_2fa": true,
	"capabilities": {
		"accept_card_payments": "active",
		"accept_bank_payments": "active",
		"accept_bnpl_payments": "inactive",
		"standard_payout": "inactive",
		"instant_payout": "inactive",
		"crypto_payout": "inactive",
		"transfer": "inactive",
		"bank_deposit": "active",
		"crypto_deposit": "active",
		"card_deposit": "active",
		"card_issuing": "inactive"
	},
	"required_actions": [
		{
			"action": "verify_identity",
			"status": "required",
			"title": "Identity verification required",
			"description": "Complete verification before your total earnings exceed $5k to continue accepting payments.",
			"cta_label": "Verify now",
			"cta": "https://whop.com/dashboard/biz_petalpost123/balance/?verify=true",
			"icon_url": null,
			"blocked_capabilities": [
				"accept_card_payments",
				"accept_bank_payments",
				"standard_payout",
				"instant_payout",
				"crypto_payout",
				"transfer",
				"bank_deposit",
				"card_issuing"
			]
		}
	],
	"recommended_actions": [
		{
			"action": "migrate_from_stripe",
			"status": "optional",
			"title": "Migrate your business from Stripe.",
			"description": "",
			"cta_label": "Get started",
			"cta": "https://whop.com/dashboard/biz_petalpost123/settings/stripe-migrations/",
			"icon_url": "https://whop.com/illustrations/orange/crane.svg",
			"blocked_capabilities": []
		},
		{
			"action": "accept_first_payment",
			"status": "optional",
			"title": "Accept your first payment.",
			"description": "",
			"cta_label": "Create payment link",
			"cta": "https://whop.com/dashboard/biz_petalpost123/links/checkout/create/",
			"icon_url": "https://whop.com/illustrations/orange/card.svg",
			"blocked_capabilities": []
		},
		{
			"action": "join_whop_university",
			"status": "optional",
			"title": "Grow your business faster.",
			"description": "",
			"cta_label": "Join Whop University",
			"cta": "https://whop.com/whop/",
			"icon_url": "https://whop.com/illustrations/orange/grad-cap.svg",
			"blocked_capabilities": []
		},
		{
			"action": "apply_for_financing",
			"status": "optional",
			"title": "Offer financing at checkout",
			"description": "Let customers pay over time with buy now, pay later.",
			"cta_label": "Apply",
			"cta": "https://whop.com/dashboard/biz_petalpost123/settings/payments/",
			"icon_url": "https://whop.com/illustrations/orange/piggy-bank.svg",
			"blocked_capabilities": ["accept_bnpl_payments"]
		}
	],
	"route": "petal-post",
	"send_customer_emails": true,
	"show_joined_whops": false,
	"show_reviews_dtc": true,
	"show_user_directory": false,
	"status": "active",
	"total_earned_usd": 3450,
	"social_links": [
		{
			"id": "social_petalpost123",
			"title": "Petal Post",
			"url": "https://petalpost.example",
			"website": "website"
		}
	],
	"store_page_config": {
		"theme": "floral"
	},
	"target_audience": "Customers sending flowers locally",
	"tax_remitted_by": "whop",
	"product_tax_code": {
		"id": "ptc_CzLNn2Z058xEC1",
		"name": "Digital Group Chat",
		"product_type": "digital"
	},
	"business_address": {
		"line1": "123 Garden Way",
		"line2": null,
		"city": "Austin",
		"state": "TX",
		"postal_code": "78701",
		"country": "US"
	},
	"tax_identifiers": [
		{
			"id": "taxid_petalpost123",
			"tax_id_type": "us_ein",
			"tax_id_value": "12-3456789"
		}
	],
	"title": "Petal Post",
	"total_usd": "1300.50",
	"use_logo_as_opengraph_image_fallback": true,
	"verification": {
		"business": null,
		"individual": {
			"status": "approved"
		}
	},
	"wallet": {
		"address": "So11111111111111111111111111111111111111112",
		"id": "wallet_petalpost123",
		"network": "solana"
	}
}