KYC / KYB Access

There are two ways to give your users access to KYC and KYB workflows: magic links and embedded widgets. Both use an access token provided by Rhizome during setup.

Magic Links

Magic links are simple URLs you send to your users to start onboarding. The access token is a random string unique to your account.

KYB (Business Onboarding)

Send users this link to start onboarding a business:

https://<your-rhizome-server.com>/a/<random-token>/start-kyb

You can optionally include a key parameter to associate the business with a unique ID from your system:

https://<your-rhizome-server.com>/a/<random-token>/start-kyb?key=<your-business-id>

There is also a "Return to" URL that can be set on the Rhizome side for all onboarding flows. When users complete onboarding they will be redirected to that URL. You can override it per-user with a return_to parameter:

https://<your-rhizome-server.com>/a/<random-token>/start-kyb?key=<business-id>&return_to=<encoded-url>

The return_to value must be URL-encoded. In JavaScript, use encodeURIComponent():

const url =
    "https://<your-rhizome-server.com>/a/<random-token>/start-kyb?"
    + "key=" + businessId + "&return_to=" +
    encodeURIComponent("https://yoursite.com/user-profile/abc123");

When onboarding a business, email addresses are requested for each UBO (Ultimate Beneficial Owner) or director. Rhizome then generates onboarding emails inviting each member to complete their KYC workflow.

KYC (Individual Onboarding)

Similar to KYB, send users this link to start individual KYC:

https://<your-rhizome-server.com>/a/<random-token>/start-kyc

The same key and return_to parameters are supported. If you do not provide a key, Rhizome will automatically generate a unique one.

https://<your-rhizome-server.com>/a/<random-token>/start-kyc?key=<your-user-id>&return_to=<encoded-url>

Embedded Widget

Embed the KYC or KYB workflow directly into your website using a script tag. The script injects an iframe that handles the full onboarding flow.

Place the following script tag on your page. Replace <random-token> with the access token provided by Rhizome:

<script
    src="https://<your-rhizome-server.com>/rhizome/assets/kyc-v1.js"
    data-program-id="<random-token>" defer ></script>

Supported Data Attributes

  • data-program-id (required) — Your Rhizome access token.
  • data-host (optional) — The Rhizome server URL. Defaults to https://rhizomecompliance.com.
  • data-frame-styles (optional) — CSS for the injected iframe. Defaults to fullscreen fixed positioning.
  • data-link-text (optional) — The clickable link text. Defaults to "Click Me to KYC...".
  • data-customer-key (optional) — A customer identifier passed to the workflow.

For KYB, use kyb-v1.js instead and note the additional attribute:

  • data-initial-step (optional) — The initial step shown in the iframe. Defaults to "Upload Documents".

KYB embedding example:

<script
    src="https://<your-rhizome-server.com>/rhizome/assets/kyb-v1.js"
    data-program-id="<random-token>"
    data-customer-key="<your-business-id>" data-initial-step="Upload
    Documents" defer ></script>

How It Works

On page load, the script renders a clickable link. When clicked, it creates a workflow step via the Rhizome API and injects a fullscreen iframe into your page. The iframe loads the KYC or KYB workflow and handles the entire onboarding experience, including document uploads, photo ID verification, liveness checks, and submission.

Feel free to request additional styling or parameters from the Rhizome team as needed.