Skip to main content
KYB (Know Your Business) is a legal identity and compliance verification process required before a business customer can send or receive funds through SpherePay. It is mandated by anti-money laundering (AML) and regulatory requirements and must be completed once per business. KYB includes not only verifying the business entity itself, but also verifying the individuals who ultimately own or control it.

Required information

SpherePay requires the following information to verify a business customer. Fields marked API are submitted via request body; fields marked Document are uploaded as files.
EEA+ businesses must also provide a company registration number and complete KYC for directors, signers, and control persons, not only 25%+ owners. See EEA+ businesses.
In certain circumstances SpherePay may request additional documentation — for example, for businesses in regulated or high-risk industries, those with complex ownership structures, or those operating in higher-risk jurisdictions. SpherePay will contact you directly when this applies.

KYB flow overview

The flow below shows the required steps for business KYB. The only step that differs between onboarding models is TOS and MSA acceptance.
  1. Create business customer with full businessInformation and addresses
  2. Generate TOS/MSA link → redirect business representative to accept
  3. Upload business documents (incorporation certificate, shareholder registry, proof of address)
  4. Register associated persons (UBOs with ≥ 25% ownership; EEA+ businesses also require directors, control persons, and signers)
  5. Upload identity documents for each UBO
  6. Complete face liveness verification for each UBO (Sumsub SDK, in-flow)
  7. Poll GET /v2/customer/{id} until status reaches approved

Integration methods

KYB via API

Full control over each step. Use this for a custom onboarding UX embedded in your product.

KYB via hosted link

Fastest integration. SpherePay hosts the entire verification experience.

KYB via API

Use this guide to onboard a business customer step by step via the SpherePay API. The example below uses the Sphere-Managed model (default). Before you begin, ensure you have:
  • A SpherePay API key
  • The business’s legal details (name, entity type, address, identification number)
  • Business documents ready for upload (incorporation certificate, shareholder registry, proof of address)
  • UBO information and identity documents for each qualifying individual
1

Create a business customer

Call POST /v2/customer with type: "business". Include the full businessInformation object and both address types in addresses.
The businessInformation.identificationNumberType accepted values vary by country — for example, ein for the United States, uen for Singapore, or crn for the United Kingdom.EEA+ businesses must also provide registrationNumber and registrationNumberType. These are separate from the tax identification number. See EEA+ businesses.
2

Accept Terms of Service and MSA

Generate a TOS link and redirect the business representative to accept the Terms and Conditions and the Master Service Agreement.
This step can be done in parallel with uploading business documents.
This step applies to the Sphere-Managed model only. In Platform-Managed, TOS and MSA acceptance must be embedded in your platform’s own terms prior to onboarding.
3

Upload business documents

Upload the required business documents. Use target="customer" for all business entity documents.
Repeat for shareholder_registry and proof_of_address document types.
4

Register business representatives

A UBO (Ultimate Beneficial Owner) is any individual who owns 25% or more of the company. Register each qualifying individual via POST /v2/business-representative. Repeat this step for every UBO.You can also register directors, control persons, and authorized signers. representationDetails.roles accepts ubo and director (up to two distinct roles). ownershipPercentage accepts any integer from 0 to 100; if the ubo role is present, ownership must still be ≥ 25.
All individuals who meet the 25% ownership threshold must be registered and verified. If more than one individual qualifies, repeat this step for each one. EEA+ businesses have additional associated-person requirements — see EEA+ businesses.
5

Upload UBO identity documents

Upload identity documents for each UBO. Use target="business-representative" — these documents belong to the individual, not the business entity.
6

Complete UBO liveness verification

Each UBO requires liveness verification. Check the UBO’s required array via GET /v2/business-representative/{id}, then perform exactly one of the following:
  • liveness_check in required — Generate a face verification link for the UBO and redirect them to complete an interactive liveness check via the Sumsub SDK.
  • liveness_report_document in required — Upload a liveness report document for the UBO from your identity verification provider.
Repeat for each registered UBO.
7

Poll for verification result

Once all required steps are complete for both the business and its UBOs, SpherePay processes the verification automatically — no submit call is needed. Poll GET /v2/customer/{id} until status reaches approved.
When required is empty and status is approved, the business customer is fully onboarded and ready to transfer.
KYB review typically takes 2–7 business days after all required documents and data are submitted.

EEA+ businesses

Sphere enforces additional KYB fields and associated-person requirements for businesses incorporated in the EEA+ region, in line with MiCA. Businesses outside EEA+ are unaffected. accountPurpose was already required for all businesses — that does not change. EEA+ is the EEA plus the United Kingdom, Switzerland, Andorra, and several EU overseas territories (Åland Islands, French Guiana, Guadeloupe, Martinique, Mayotte, Réunion, Saint Martin). Scope is keyed off the business’s registered address country (country on the address with type: "registered"). Business representatives inherit EEA+ scope from the parent business. See EEA+ region for the full definition.

Registration number

EEA+ businesses must provide both of the following under businessInformation on POST /v2/customer: The registration number is stored and verified separately from the tax ID (identificationNumber). Do not submit a VAT or tax number as the registration number. registrationNumberType is validated against the registered-address country. Examples: Validation behavior:
  • An EEA+ business missing registrationNumber or registrationNumberType cannot be submitted for verification. Submitting returns 422.
  • A registrationNumberType that is not valid for the registered-address country returns 422 listing the allowed types.
  • Non-EEA businesses may continue to supply registrationNumber without a type. That behavior is unchanged.
The outstanding item surfaces as the registration_number requirement code on kyb_profile_a (EEA+ only). Sphere excludes this code for businesses outside EEA+. You can backfill existing EEA+ businesses with PATCH /v2/customer/{id}. Validation runs on the merged customer state.

Business representatives

EEA+ businesses have a broader associated-person scope than businesses outside EEA+. Director role. representationDetails.roles accepts director alongside ubo, with up to two distinct roles. Ownership percentage. ownershipPercentage accepts any integer from 0 to 100 (the previous minimum was 25). If the ubo role is present, ownership must still be ≥ 25. A representative without the ubo role — for example, director-only — may hold 0–24. Call POST /v2/business-representative with the new role values:
The example highlights the new role and ownership values. Include the other representative fields required at creation (customerId, type, email, phone, address, and personalInformation) as usual. Country of birth and nationality. For EEA+ businesses, each representative must provide countryOfBirth and nationality under personalInformation. Until they are supplied, they surface as country_of_birth and nationality on the representative’s ubo_kyc_profile_a profile. Sphere excludes these codes for representatives of businesses outside EEA+. You can backfill existing representatives with PATCH /v2/business-representative/{id}. Validation runs on the merged representative state.

Business-level requirement codes

These codes appear on the business customer’s kyb_profile_a profile for EEA+ businesses only. Sphere excludes them for businesses outside EEA+. For businesses outside EEA+, associated-person KYC scope is unchanged: only 25%+ owners.

What’s next

Once the business customer’s verification profile is approved, register their payment methods and initiate a transfer.

Bank accounts

Register a bank account so the business can send or receive funds via bank rail.

Wallets

Register a crypto wallet address to enable on-ramp and off-ramp transfers.

Transfers API

Create and manage transfers once the customer has registered their payment methods.

Verification profile

Understand verification statuses, criteria arrays, and what triggers state changes.
Last modified on August 24, 2026