In the MVP API, orchestrated onboarding is the supported path for creating entities
and customers. The onboarding endpoint creates both resources in a single call and
optionally submits the customer for KYB review with
autoSubmit: true.KYB model: KYB in the initial release is manual. OpenFX submits business onboarding
data via
POST /onboardings. The banking infrastructure provider makes the approval decision.
There is no automated KYB decisioning — approval is an asynchronous, human-reviewed process.What is orchestrated onboarding?
The orchestrated onboarding endpoint (POST /onboardings) wraps entity creation and
customer enrollment into a single API call.
One request:
- Creates an entity (individual or business)
- Creates a customer linked to the new entity
- Optionally submits the customer for KYB review
Onboarding resource that you can poll or monitor via webhooks.
Onboarding lifecycle
| Status | Description |
|---|---|
pending | Onboarding request received, not yet processing. |
processing | Entity and customer creation in progress. |
completed | All resources created successfully. If autoSubmit was true, customer has been submitted for KYB review. |
failed | One or more steps could not be completed. Check the onboarding for details. |
Creating an orchestrated onboarding
Onboard an individual
Onboard a business
Key request fields
| Field | Type | Required | Description |
|---|---|---|---|
entityType | string | Yes | "individual" or "business" |
fullName | string | Conditional | Required when entityType is individual |
legalName | string | Conditional | Required when entityType is business |
jurisdiction | string | Conditional | Required when entityType is business |
autoSubmit | boolean | No | If true, automatically submits the customer for KYB review. Defaults to false. |
metadata | object | No | Custom key-value pairs passed to the customer resource. |
Progressive onboarding
“Progressive onboarding” means upgrading from an existing trade-platform KYB to banking KYB — not partial banking access. A customer who has already been KYB’d on the trade platform can upgrade to banking with incremental document collection, rather than starting from scratch.Under the hood,
POST /onboardings orchestrates a multi-step flow with the banking
provider: it creates a business applicant record (POST /business_applicants on the
provider side), then creates an onboarding tied to that applicant. OpenFX derives
kybStatus from the provider’s onboarding status. This orchestration is invisible to
the API consumer.Monitoring onboarding status
Webhook events
| Event | When it fires |
|---|---|
onboarding.created | Onboarding request is received |
onboarding.completed | All resources created successfully |
onboarding.failed | One or more steps could not be completed |
Polling
If you prefer polling over webhooks, useGET /onboardings/{onboardingId} to check status:
Listing onboardings
After the customer reaches
active status, you can create accounts
(POST /accounts), set up counterparties (POST /counterparties), and send payments
(POST /payments). The full platform is unlocked.Next steps
Customers & KYB
Deep dive into customer statuses, KYB tracking, progressive capabilities, and
webhook handling.
Accounts & Balances
Open fiat and crypto accounts once your customer is active.
Webhooks
Set up webhook subscriptions to receive real-time notifications for onboarding
and KYB events.
API reference
POST /onboardings— Create an orchestrated onboardingGET /onboardings— List onboardings with filteringGET /onboardings/{onboardingId}— Get onboarding status and details