ClearCheck is ClearBox’s identity layer. It verifies who a user is — KYC, AML, and KYB — before they can hold a wallet or transact. ClearCheck runs on Persona, surfaced to users through Crossmint Auth, and produces a verified identity that the rest of ClearBox depends on.Documentation Index
Fetch the complete documentation index at: https://docs.clear-box.io/llms.txt
Use this file to discover all available pages before exploring further.
Persona’s core object is the inquiry: a single instance of a verification flow. You configure what to check in an inquiry template, create an inquiry for the user, and read the result once the inquiry reaches a terminal status.
Flow at a glance
Bank linked, profile cross-referenced
The user has completed the Quiltt bank link and ClearBox has matched the profile to the bank metadata.
Create an inquiry
ClearBox creates a Persona inquiry from your KYC inquiry template, tagged with the user’s reference ID.
User completes verification
The user completes the inquiry UI — typically capturing a government ID and a selfie.
Receive the result
Persona transitions the inquiry to a terminal status and fires a webhook. ClearBox reads the result.
1. Create an inquiry
On the ClearBox backend, create a Persona inquiry from your published KYC template. Pass a stable reference ID so repeat inquiries from the same user link to the same Persona account — ClearBox uses theidentity_id for this.
inquiry object with an id (for example inq_9d4f...) in status created.
2. Present the verification flow
Use the inquiry to launch verification for the user. ClearBox surfaces this through Crossmint Auth, which embeds the Persona flow. You can integrate the flow three ways:| Method | What it is | Best for |
|---|---|---|
| Hosted | Redirect to a Persona-hosted page | Fastest setup |
| Embedded | Persona UI in an iframe/modal on your page | Seamless web UX |
| Mobile SDK | Native iOS/Android/React Native | Mobile apps, best device signals |
3. Read the inquiry result
An inquiry moves through a lifecycle and emits an event at each transition. The terminal statuses that carry a usable result are:| Status | Meaning |
|---|---|
approved | The user passed all required checks. |
declined | The user failed one or more required checks. |
needs_review | The inquiry requires manual review before a decision. |
inquiry.approved or inquiry.declined to your endpoint. Verify the signature, then act on it.
4. Issue the verified identity
When the inquiry isapproved, mark the ClearBox identity verified. This is the gate that unlocks wallet provisioning.
needs_review, hold the user in a pending state and resolve through your review process. For declined, follow your program’s decline handling.
Next: Create a wallet
Provision a non-custodial wallet for the verified identity.
Compliance notes
ClearCheck enforces the AML and KYC requirements your program is licensed for, including Genius Act transaction limits. Verification is required before a wallet can transact, and the verified identity is bound to every wallet and card the user holds. See ClearCheck KYC/AML for the compliance model.Reference
- Persona Inquiries — docs.withpersona.com/inquiries
- Inquiry lifecycle — docs.withpersona.com/model-lifecycle
- Persona Webhooks — docs.withpersona.com/webhooks
itmpl_ClearCheckKYC is a placeholder template ID. Replace it with your program’s actual Persona inquiry template ID, and replace the /v1/identities base URL with your ClearBox program’s value.