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.- Sphere-Managed (default)
- Platform-Managed (opt-in)
- Create business customer with full
businessInformationandaddresses - Generate TOS/MSA link → redirect business representative to accept
- Upload business documents (incorporation certificate, shareholder registry, proof of address)
- Register associated persons (UBOs with ≥ 25% ownership; EEA+ businesses also require directors, control persons, and signers)
- Upload identity documents for each UBO
- Complete face liveness verification for each UBO (Sumsub SDK, in-flow)
- Poll
GET /v2/customer/{id}untilstatusreachesapproved
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 The
POST /v2/customer with type: "business". Include the full businessInformation object and both address types in addresses.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 Repeat for
target="customer" for all business entity documents.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_checkin required — Generate a face verification link for the UBO and redirect them to complete an interactive liveness check via the Sumsub SDK.liveness_report_documentin required — Upload a liveness report document for the UBO from your identity verification provider.
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 When
GET /v2/customer/{id} until status reaches approved.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 underbusinessInformation 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
registrationNumberorregistrationNumberTypecannot be submitted for verification. Submitting returns 422. - A
registrationNumberTypethat is not valid for the registered-address country returns 422 listing the allowed types. - Non-EEA businesses may continue to supply
registrationNumberwithout a type. That behavior is unchanged.
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:
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’skyb_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 isapproved, 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.