Overview
The BusinessOnboardingSdk is provided by Averer. It lets RWA issuer developers integrate business onboarding into their own apps without having to build KYB flows or smart contract logic.
๐ What it Doesยถ
When you embed the SDK in your application, hereโs what happens for a business user:
- KYB Verification โ Averer verifies the business applicant (director or authorized officer).
- Smart Contract Deployment โ Once verified, a Business Identifier contract is automatically deployed on the Redbelly Network with the businessโs details.
- Delegated Access โ That Business Identifier lets the company authorize external EOAs (wallets) to act on its behalf, without each account needing to go through KYB.
๐ฉโ๐ป Why this matters for you (RWA Issuer Developer)ยถ
- No need to build KYB โ The entire KYB flow is handled inside the SDK.
- No need to deploy contracts manually โ The Business Identifier contract is created automatically.
- Easy integration โ Drop the SDK into your app in minutes.
- On-chain trust โ Any address and business details can be checked later to confirm if itโs a verified business.
๐ฆ Quick Start โ Adding Business Onboardingยถ
To use the Business Onbarding SDK in your application, you need to wrap your root component with EligibilitySDKProvider and initialize wallet support via AppKitโs Wagmi adapter.
You can also refer to the example at: ๐ EligibilitySDKProvider
import { BusinessOnboardingSdk } from "@redbellynetwork/eligibility-sdk";
export default function BusinessOnboardingPage() {
return (
<BusinessOnboardingSdk
// optional: customize the text and branding
sdkOverride={{
welcome: {
heading: "Register your business",
description:
"Complete KYB and deploy your Business Identifier contract on the Redbelly Network.",
btnText: "Start Verification",
},
verificationPending: {
heading: "Weโre verifying your businessโฆ",
message: "This usually takes less than a minute.",
},
verificationFailed: {
heading: "Verification failed",
message: "Something went wrong. Please try again.",
},
verificationSuccess: {
heading: "โ
Business Verified!",
message:
"Your KYB is complete and your Business Identifier contract is now live on-chain.",
nextButton: <a href="/dashboard">Continue</a>,
},
}}
/>
);
}
๐ Thatโs it โ you now have a working business onboarding flow in your app.
๐ Checking Business Status with useBusinessDetailsยถ
After onboarding, youโll often want to know if a connected wallet belongs to a verified business and fetch its details.
Thatโs where the useBusinessDetails hook comes in.
import { useBusinessDetails } from "@redbellynetwork/eligibility-sdk";
// address: eth watllet address
function BusinessStatus({ address }: { address: string }) {
const { data, isLoading, error, refetchBusinessIdentifier } =
useBusinessDetails(address);
if (isLoading) return <p>Loadingโฆ</p>;
if (error) return <p>Error: {error.message}</p>;
if (!data?.isBusinessUser) {
return <p>{address} is not a verified business.</p>;
}
return (
<div>
<p>โ
{address} is a verified business</p>
<p>Contract: {data.businessContractAddress}</p>
<pre>{JSON.stringify(data.businessDetails, null, 2)}</pre>
<button onClick={refetchBusinessIdentifier}>Refresh</button>
</div>
);
}
What you get backยถ
- isBusinessUser โ true if the address is linked to a verified business
- businessContractAddress โ the deployed Business Identifier contract address
- businessDetails โ metadata (company name, incorporation details, identifier, type, incorporated name, is beneficial owner, company address.)