---
updatedAt: 2026-10-02T03:03:31.000Z
agentTools:
  projectIndex: https://docs.zerohash.com/llms.txt
---

# Participants

The Participants domain covers everything related to the individuals and entities your platform onboards onto zerohash. A participant is any end user or business you've registered with zerohash so they can hold balances and transact — and these endpoints are how you create, read, and manage those records programmatically.

For engineers, this domain is the backbone of most integrations. Before a participant can trade, settle, or move funds, they need to exist in zerohash, pass KYC, and be eligible for the jurisdiction they're in. These endpoints let you drive that lifecycle from your own systems — onboarding new participants, checking their status, reading their profile and limits, and (where enabled) retrieving their identity data and documents.

There are two ways to onboard participants:

* API integration — Onboard participants directly through these endpoints for a fully integrated solution, using your own frontends. You collect and submit the customer's data, giving you complete control over the onboarding experience.
* zerohash KYC SDK — Alternatively, use the <Anchor target="_blank" href="https://docs.zerohash.com/reference/sdk-modules-user-onboarding">zerohash KYC SDK</Anchor>. With this flow, zerohash performs KYC on the customer's data and provides status updates through the <Anchor target="_blank" href="https://docs.zerohash.com/reference/participant-onboarding-status-update">onboarding status notification</Anchor> system or via polling the <Anchor target="_blank" href="ref:get_participants">GET /participants</Anchor> REST API.

Refer to the flow diagram below to see how a platform integrates participant onboarding using these methods.

## Getting started

1. **Onboard or locate a participant** — create a participant (or look one up with the basic management endpoints).
2. **Confirm eligibility** — use the onboarding & eligibility endpoints to validate the participant's country/jurisdiction.
3. **Check KYC status** — confirm the participant has passed KYC before enabling product flows.
4. **Read profile, and (if enabled) KYC/PII data** as your application requires.

<Callout icon="📔" theme="warn">
  Basic management and eligibility endpoints are part of the standard integration surface. <br />The KYC/PII and document endpoints are gated behind a security review, and must be enabled by the zerohash support team.&#x20;
</Callout>

<br />

## Endpoint Groups

### [Query Participants](https://docs.zerohash.com/zerohash/reference/query-participants)

> Basic participant management.

Read-only lookups for the core participant records zerohash holds — resolve a participant by `participant_code` or `email`, list the participants under your platform, and read their profile details. This is typically the first thing you'll integrate, and the foundation for keeping your systems in sync with zerohash.

### [Participant Jurisdictions](https://docs.zerohash.com/zerohash/reference/participant-jurisdictions)

> Query countires, sub-divisions and confirm eligibility.

Reference and eligibility endpoints used before and during onboarding — list the supported countries and jurisdictions, and evaluate whether a prospective participant can be onboarded for a given location and product. Use these to drive form validation, gate onboarding flows, and fail fast on ineligible submissions.

### [Participant Details](https://docs.zerohash.com/zerohash/reference/participant-details)​

> KYC, PII & documents.

Endpoints for reading the sensitive identity data zerohash holds for a participant — KYC status, sanctions screening, full PII records, and uploaded verification documents. Because these return PII, they require enablement by the zerohash support team and are subject to a security review prior to enablement; access is granted on a least-privilege basis.

<br />

## Participant Onboarding + Account opening

> Use the generic onboarding and account-opening flows below as a reference for architecting your integration.

### Individual Onboarding SDK + Account Opening

![](https://files.readme.io/698e116e09acd19fd537d05bfb1aed04dde4301a9d28e1b98ba42ce780474955-image.png)

1. Request an onboarding token from the <Anchor target="_blank" href="ref:sdk-modules-user-onboarding">POST /participant/onboarding\_token</Anchor> endpoint.
   1. Load the KYCaaS SDK experience using the onboarding token.&#x20;
   2. Listen for webhook events for the participants <Anchor target="_blank" href="ref:participant-onboarding-status-update">Onboarding Status notifications.</Anchor>
2. When a participant has been approved in the zerohash system, you will receive a webhook notificaiton for <Anchor target="_blank" href="ref:participant-status-updates">participant status updates</Anchor>.
3. Once the participant has been approved, open the customer account using the <Anchor target="_blank" href="ref:post_accounts">POST /accounts</Anchor> endpoint.&#x20;
   1. Listen to <Anchor target="_blank" href="ref:participant-status-updates">customer account status updates</Anchor> to consume notifications in real-time.
   2. For more information on customer accounts at zerohash, check out our <Anchor target="_blank" href="doc:customer-accounts-guide">documentation here</Anchor>.&#x20;

<br />

### Individual Onboarding API + Account Opening

![](https://files.readme.io/1a035a960d5ce60fc433c51538f5b4ee2da1b40228b078d33537d876a6a9ba70-image.png)

* Send the customers PII data to the <Anchor target="_blank" href="ref:post_participants-customers-new">POST /participants/customers/new</Anchor> endpoint, for `participant_code` assignment by zerohash.
  1. Add the supporting documentation for the participant if applicable using the <Anchor target="_blank" href="ref:post_participants-documents">POST /participants/documents</Anchor> endpoint. &#x20;
  2. Listen for webhook events for the participants <Anchor target="_blank" href="ref:participant-status-updates">participant status updates.</Anchor>

* When a participant has been approved in the zerohash system, you will receive a webhook notificaiton for <Anchor target="_blank" href="ref:participant-status-updates">participant status updates</Anchor>.

* Once the participant has been approved, open the customer account using the <Anchor target="_blank" href="ref:post_accounts">POST /accounts</Anchor> endpoint.&#x20;
  * Listen to <Anchor target="_blank" href="ref:participant-status-updates">customer account status updates</Anchor> to consume notifications in real-time.
  * For more information on customer accounts at zerohash, check out our <Anchor target="_blank" href="ref:customer-accounts-guide">documentation here</Anchor>.&#x20;

<br />

### Entity Onboarding API + Account Opening

![](https://files.readme.io/1645748c357fddc3a7bf3a2752e318517b2526122cec52a635b4e3d32dc66d2d-image.png)

* Send the customers PII data to the <Anchor target="_blank" href="https://docs.zerohash.com/reference/post_participants-entity-new">POST /participants/entity/new</Anchor> endpoint, for `participant_code` assignment by zerohash.
  1. Add the supporting documentation for the participant if applicable using the <Anchor target="_blank" href="https://docs.zerohash.com/reference/post_participants-entity-documents">POST /entity/documents</Anchor> endpoint. &#x20;
  2. Listen for webhook events for the participants <Anchor target="_blank" href="ref:participant-status-updates">participant status updates.</Anchor>

* When a participant has been approved in the zerohash system, you will receive a webhook notificaiton for <Anchor target="_blank" href="ref:participant-status-updates">participant status updates</Anchor>.

* Once the participant has been approved, open the customer account using the <Anchor target="_blank" href="ref:post_accounts">POST /accounts</Anchor> endpoint.&#x20;
  * Listen to <Anchor target="_blank" href="ref:participant-status-updates">customer account status updates</Anchor> to consume notifications in real-time.
  * For more information on customer accounts at zerohash, check out our <Anchor target="_blank" href="doc:customer-accounts-guide">documentation here</Anchor>.&#x20;