Skip to main content

White-Label App

Overview

White-Label App is the fastest and easiest way for software companies to launch branded financial features, with one line of code. Companies can now offer customers a branded banking and lending experience, while reducing engineering lift and radically accelerating time to market.

White-Label App is a turnkey solution for companies to embed accounts, cards, payments, and lending, directly in their product. This for example, can be done through the addition of a banking tab within a client’s web app.

White-Label App is a fully-featured web app that encapsulates backend code, frontend UI/UX design, optimal user experience, security, and compliance.

In addition to a complete set of features, optimal user experiences are already built in, including initial account funding, card activation, activity filtering, and payment workflows – so you can easily activate and retain banking and lending customers.

Supported Use Cases

The current version of the White Label App supports banking for consumers & small business (including both sole props & incorporated businesses), and business lending.

Is the White Label App Right for me?

  • I have restricted resources (R&D, product, design etc.)
  • I want to test the market opportunity before investing my own resources
  • I'm looking for the fastest way to get market with an MVP
  • I see an opportunity to monetize an existing customer base by leveraging embedded finance

Requirements for V1

  • I have a prominent web-based product
  • I can provide a JWT to Unit (a token that tells Unit the unique identity of the user, and allows Unit to verify that they are currently logged into your app)

Supported Platforms

PlatformAvailability
Web (desktop & mobile)Available
React NativeQ2 '24
iOSQ3 '24
AndroidQ3 '24

Features

FeatureDetails
Onboarding (KYB / KYC) experienceIdentity verification, fraud screening, document verification (if applicable), manual reviews
Deposit AccountsMultiple deposit accounts with flexible terms (limits, clearing times, end customer fees, interest)
Account fundingACH debit (pull), Check deposits
Money InReceive ACH credit, Receive Wire, Cash deposits in Allpoint ATMs (using a physical card)
Money OutACH credit (same / next day), Book payments (between accounts on the Unit platform), cards, ATM
ActivityOverview of the customer's activity (transactions, card authorizations etc.)
CardsMultiple physical and/or virtual cards, both branded. Including ability to add cards to a mobile wallet.
First-time user experienceA a part of the onboarding flow, the White-label App includes a tutorial step to encourage the end-user to fund the account and activating the available card, as a call to action and engagement with the banking features

First-time user experience example

Embedding

Authentication Setup

White-label app requires a JWT token to be passed to it. This token is used to authenticate the end-user. The token is passed to the app via the jwt-token attribute.

Using Identity Providers

Unit supports JWT token generated by the following Identity Providers: Okta, Auth0, AWS Cognito, Stych. If you are using one of these providers, you should provide Unit with JWKs Path and JWT Issuer. Unit will use this information to validate the JWT token.

Custom JWT implementation

Unit can rely on a custom implementation of JWT token that adheres to the specifications outlined in RFC 7519. In this case you should provide Unit with a public key that will be used to validate the token. The token must be signed using the RS256 algorithm and must include the following claims:

  • sub: a unique identifier for the end-user.
  • exp: the expiration time of the token.
  • iss: the issuer of the token.

Implementation

info

White Label App is not enabled by default. In order to get the White-Label App ready for testing in Sandbox, we need a few things from your team:

  1. Sign up for a [Sandbox environment] (https://app.s.unit.sh/signup) if you haven’t already.
  2. Configure the application form. This can be found in the Unit Dashboard under Developer -> Org Settings -> Application Form.
  3. Configure the JWT settings. This can be found in the Unit Dashboard under Developer -> Org Settings -> JWT Settings. If you are using a custom JWT solution please reach out to your CSM.
  4. Configure Plaid credentials. This can be found in the Unit Dashboard under Developer -> Org Settings -> Integrations. This is required for the ACH debit flow only.
  5. Provide your CSM with your jwtIssuer.

Embedding the white-label app is accomplished by adding a script tag and a unit-elements-white-label-app tag to the page where you want it to appear.

<html>
<head>
<script async src="https://ui.s.unit.sh/release/latest/components.js"></script>
<!-- For production environment use `https://ui.unit.co/release/latest/components.js` as the script source.-->
</head>
<body>
<unit-elements-white-label-app jwt-token="{{JwtToken}}" theme="{{themeUrl}}" language="{{languageUrl}}"> </unit-elements-white-label-app>
</body>
</html>

You can choose to create unit-elements-white-label-app dynamically using JavaScript

<html>
<head>
<script async src="https://ui.unit.co/release/latest/components.js"></script>
</head>
<body>
<div id="unit-app-placeholder"></div>
<script>
const unit = document.createElement("unit-elements-white-label-app")
unit.setAttribute("theme", "{{themeUrl}}")
unit.setAttribute("jwt-token", "{{JwtToken}}")
unit.setAttribute("language", "{{languageUrl}}")
document.querySelector("#unit-app-placeholder").append(unit)
</script>
</body>
</html>
caution

White-label app will use 2 keys in local storage. unitCustomerToken and unitVerifiedCustomerToken. It's important to clean them up when the user logs out from the app.

localStorage.removeItem("unitCustomerToken")
localStorage.removeItem("unitVerifiedCustomerToken")

Prefilling the Application Form (KYB / KYC)

In order to pre-populate the Application Form (KYB) with data that the client already collected about their end-user, the client will need to implement an GET API endpoint which by request via JWT Token returns the Unit ApplicationFormPrefill resource. Please, contact Unit in order to configure the endpoint.

Request that Unit will send to the client's endpoint:

curl -X GET 'https://yourdomain.com/unit/application-form-prefill' \
-H "Authorization: Bearer ${JWT Token}"