Sub-account creation

A Sub-Account allows partners (businesses or financial institutions) to create and manage multiple downstream entities, clients, or subsidiaries under a single Verto Parent Account.

This feature is designed for companies offering embedded financial experiences or managing distinct client portfolios, providing full visibility and control across all connected accounts.

Key Benefits & Behavior

  • Embedded Experience: Offer a Verto-like experience (wallets and local accounts) directly to your users.
  • Oversight: Maintain complete control and visibility while extending transactional capabilities downstream.
  • Compliance: Each sub-account operates safely under the parent company's compliance framework.

Sub-Accounts Structure

Parent Account
│
├── Sub-Account
│   ├── NGN Wallet
│   │   └── Local Account
│   ├── KES Wallet
│   │   └── Local Account
    ├── USD Wallet
│   │   └── Local Account
│   │   └── Global Account
└── Sub-Account
    ├── KES Wallet
    │   └── Local Account
    ├── NGN Wallet
        └── Local Account

Quick Start Overview: How to Create Sub-Accounts

The sub account creation process happens in two simple steps:

  • Step 1 — Shell Creation: Create the sub-account record using basic business identifiers. This process is outlined in this guide.
  • Step 2 — Compliance Data: Upload business details, ultimate beneficial owners (UBOs), addresses, and KYC documents for review. This process is outlined in the Sub Account Onboarding Guide.

    Kindly note that ALL operational activity (creating wallets, FX trades, payouts etc) is restricted for the specific sub account until this data is submitted, reviewed, and approved.

Pre-Requisites Checklist

Before you begin any sub account creation or onboarding, ensure you have met the following conditions:

  • Parent Account Status: Your parent account must already be fully onboarded and/or KYB-approved.
  • Feature Enablement: Your parent account must be enabled for the applicable Atlas model type and its corresponding sub-account type ( SUB_CLIENT for Fintech or PARTNER_REFERRED for Platforms). Contact your account manager for this step.
  • Review the Restricted Industries list to ensure your downstream client’s industry classification is supported.
  • Order of Execution: Step 1 must be completed before Step 2. You cannot submit onboarding data for a non-existent sub-account.

There are two distinct ways to create sub accounts via Verto

Method 1: Through the Verto Dashboard (Non-Technical / Operations)

  1. Log in to your Parent Account.
  2. Navigate to Linked Accounts → Add Sub-Account.
  3. Fill in the required details: Legal Name, Industry Category, Registration Number, and External ID.
  4. Click Update. The sub-account will be created. You will be redirected to a new page to submit KYB/KYC info on your sub account. At this point, the sub-account will have a KYC PENDING status.
  5. Upload the required compliance documents (e.g., Certificate of Incorporation, UBO IDs, Proof of Address, etc) to initiate onboarding.

Method 2: Through the Verto API (Technical / Engineers)

Developers can programmatically provision sub-accounts through a dedicated API workflow. Each sub-account represents an entity (client or subsidiary) operating under the parent company’s compliance framework.

For the complete API specification and test console, visit this link

Endpoint

POST [https://api-company-sandbox.vertofx.com/sub-accounts]

This endpoint allows partners to create sub-accounts directly via API.

Headers

KeyValueDescription
AuthorizationBearer <token>JWT access token for authentication.
Content-Typeapplication/jsonRequired.
Acceptapplication/jsonRequired.

Required Body Parameters

FieldTypeRequiredDescription
namestringLegal name of the company (as registered).
countrystringCountry where the sub-account is registered (ISO Alpha-2 format).
subCategorystringCompany’s industry classification.
identificationNumberstringRegistration or incorporation number issued by the local authority.
taxIdOrEinstringTax identification number or equivalent (if applicable).
externalIdstringThe company reference ID in your system (for internal mapping).
accountTypestringDefines the sub account's relationship type, and is tied to the use-case: Use SUB_CLIENT (Fintech cases) or PARTNER_REFERRED (Platform cases).

[!IMPORTANT] Strict Validation on subCategory Ensure to validate subCategory before sending the request.

To avoid a 400 Bad Request (Invalid input Please provide a valid company sub-category)error, normalize your internal mapping to match Verto's exact casing and spacing before hitting the API.

Review the Supported Industries List: Supported industries

Supported Account Types

ValueDescription
PARTNER_REFERREDUsed when the end-client has a direct financial relationship with Verto.
SUB_CLIENTUsed when the end-client's relationship with Verto is through a licensed/regulated financial services provider. (Strictly only for Fintech use cases).

Example Request

{
  "name": "string",
  "country": "United Kingdom",
  "subCategory": "Agriculture and farming",
  "identificationNumber": "string",
  "taxIdOrEin": "string",
  "externalId": "string",
  "accountType": "PARTNER_REFERRED"
}

Example Response 201

{
  "id": "string",
  "externalId": "string",
  "parentCompanyId": "string",
  "name": "string",
  "country": null,
  "category": "string",
  "subCategory": "string",
  "identificationNumber": "string",
  "taxIdOrEin": "string",
  "accountType": "PARTNER_REFERRED",
  "companyReference": "string",
  "companyStatus": "CREATED",
  "linkedStatus": "PENDING",
  "linkedAt": "2025-11-12T15:58:37.175Z",
  "createdAt": "2025-11-12T15:58:37.175Z",
  "updatedAt": "2025-11-12T15:58:37.175Z"
}

Response Codes

CodeMeaningDescription
201 CreatedSub-account successfully created.
400 Bad RequestMissing or invalid fields in the request.
401 UnauthorizedInvalid or expired token.
403 ForbiddenInsufficient permissions.
404 Not FoundParent account not found.
500 Internal Server ErrorUnexpected system error

If you receive a 400 Bad Request for an invalid company sub-category, check that your submitted subCategory matches the supported industries list exactly, including spacing and capitalization.

NOTE: Store the returned id from the response, as you will need it for downstream onboarding, wallet setup, and scoped transactions.

Next Steps

Creating a sub-account is only the first step and does not mean the account is ready for immediate use.

Upon creation, its initial status is KYC PENDING. To activate the account, you must submit the required compliance information via the Add Onboarding Data endpoint. Refer to the Sub-account Onboarding guide .

The sub-account will remain unusable for wallets or downstream operations until it is officially reviewed and its status updated to approved by our onboarding team.


Did this page help you?