This page documents
@whop/elements@1.0.0-beta.3 and @whop/elements-react@1.0.0-beta.3.Playground
Assemble the elements with example data. Drive the controls, add and arrange elements, and watch events fire live:Options
Pass these towhop.verifications.create({ … }), or as props on <Verifications> in React.
"individual" | "business"
Use
individual for KYC or business for KYB. The mounted element owns the matching intake form. Defaults to "individual".string
required
The account being verified: a company
biz_… tag or the viewer’s own user_… tag.(() => Promise<string>)
Called on your page before the element mounts. Return a fresh bearer credential with
identity:read and identity:write; omit it only for a same-origin Whop session.Appearance
Visual customization for this group’s elements. Overrides the global
WhopElements({ appearance }). Change it live with update({ appearance }).WhopElementsLocale
Locale for this group’s element UI text. Set it to one of the app’s built locales to override the global configuration. Any other value falls back to the default locale.
Events
Pass callbacks in the create options or React props.onLoadingChange
Runs when the grouped loading state changes. The value is true while any mounted element is still loading.
Signature: ((loading: boolean) => void)
Methods
Call these on the Verifications handle fromwhop.verifications.create({ … }) or useVerifications().
update
Merges new handle options into every mounted element. In React, change the namespace props instead.
Signature: (options: Partial<VerificationsOptions>) => void
destroy
Destroys every element and sub-controller this handle created, removes the controller frame, and releases its subscriptions. You can call it more than once, but a destroyed handle refuses any other call — create a new handle to start over. React removes the group automatically when the provider unmounts.
Signature: () => void
Types
Named types used throughout this page.ActionRequiredItem
Fields on ActionRequiredItem.
id
Signature: string
requirement
Signature: string
type
Signature: string
label
Signature: string
source
Signature: "identity" | "payout" | "audit" | "card_issuing" | "bank" | "ads" | "application" | undefined
optional
Signature: boolean | undefined
options
Signature: string[] | undefined
errors
Signature: { code: string; reason: string; }[] | undefined
Elements
The elements this group mounts. Each has its own page:KycElement
A complete identity-verification flow. It collects individual KYC or business KYB details, starts or resumes the hosted provider session, handles follow-up information and document requests, polls status, and renders the final result without requiring the host to build verification UI.
CapabilitiesElement
The account’s verification standing: whether individual and business verification are done, and which capabilities that unlocks. Read-only — pressing a verify button reports
verificationRequested and stays put, so the host mounts its own flow, such as this namespace’s kyc element. Both halves can be hidden, so a host that only wants the capability list, or only the two verification rows, can drop the other.RfiElement
Everything the account still owes compliance, and the forms to answer it. Each row is one group of requirements — grouped by the system that asked, because each relays to its provider once its own items are answered — and pressing it opens that group’s form in place. Rows already with a reviewer are shown but not answerable. Renders an all-clear once nothing is outstanding, so it can sit permanently in a settings page.

