Skip to main content
Onboarding Widget
The onboarding component shows users marketing information about the embedded account and kicks off the KYC/KYB onboarding flow. It pulls in your logo, bank account name, and marketing text from Tesouro’s database — content that is defined collaboratively by you, Tesouro, and the bank, and must be bank-approved. After the user views the marketing information, the component transitions into the onboarding flow where business users submit their information for KYC/KYB validation. The flow collects information on three entities:
  • Business entity — Legal information about the business itself
  • Business controller — An individual with the power to direct or significantly influence the financial activities of the business (e.g. CEO, CFO, VP)
  • Beneficial owners — Any person who owns 25% or more of the company’s ownership interests

Authentication and application lifecycle

The component authenticates against a single bank account application using a short-lived application client secret, not a backend bearer token. Your backend creates the application server-to-server, receives the secret in the create response, and passes it to the component so the rest of the flow — edits, verification, submission — runs in the browser. If the applicant returns after the secret has expired, your backend re-issues one through the resume endpoint and the new secret reaches the applicant by email. For the full sequence — states, transitions, and which auth method is required at each step — see the application lifecycle guide.

Onboarding outcomes

React

Web components

Use setWidgetDefaults to set shared values like data-user-id and data-widget-token-refresh-url globally instead of repeating them on each component.

Pre-filling onboarding data

If you already store any of the following fields, pass them in to pre-fill the form and reduce friction for your users. Users can always edit pre-filled values. The workEmail field is required and must be passed via the personalDetailsForm prop:

data-personal-details-form fields (controller)

workEmail is required for onboarding.

data-business-details-form fields

You can pass either industryCode or naicsCode. industryCode is supported and translated to naicsCode internally.

data-additional-business-owners fields (beneficial owners array)

Each owner object includes: