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 tohttps://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.