Install
Mount your first element
loadWhop() injects the same hosted script and resolves the global constructor:
Global configuration
Everything you pass at construction applies to every element group created from that instance (a handle’s own options can override per group):Appearance
Visual customization for every element —
theme (light/dark + palettes), variables (CSS custom properties), and classes (per-part style declarations). The color scheme is applied before an element’s first paint, so dark pages never flash light. See Appearance."en" | "es" | "zh" | "nl" | "pt" | "de" | "it" | "fr" | "ja" | "pl" | "tr"
Locale for element UI text — one of the app’s built locales; any other value falls back to the default locale. Defaults to
"en"."production" | "sandbox"
Which Whop API environment the elements talk to —
"sandbox" targets the sandbox API (test data; no real money moves). The sandbox environment is not yet generally available. Defaults to "production".<WhopElements appearance={…} locale={…}>.
Next
- Appearance — theming, CSS variables, and per-part restyling
- Wallet — Funds a Whop account. Mint it with the account id, mount the deposit element, and the payer gets that account’s live funding rails — a crypto deposit address per network and the bank wire fields per settlement currency — resolved with no credentials. Rails you settle yourself (a saved card, a platform balance) are opt-in props whose choices come back as events on the element.

