Skip to content

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.

businessOnbarding sdk widget

๐Ÿ”Ž What it Doesยถ

When you embed the SDK in your application, hereโ€™s what happens for a business user:

  1. KYB Verification โ€“ Averer verifies the business applicant (director or authorized officer).
  2. Smart Contract Deployment โ€“ Once verified, a Business Identifier contract is automatically deployed on the Redbelly Network with the businessโ€™s details.
  3. 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.)