Sample App: Corporate Account Opening (Kaycee Bank)
Kaycee Bank is a complete, clonable corporate account-opening web app that runs a full KYB journey against the Know Your Customer Public API, from company search through beneficial ownership and AML screening to an onboarding decision. It is the kind of account-opening flow a bank’s own developers would build, dressed in a fictitious “Kaycee Bank” demo brand. Read it, run it on day one, and adapt it.
What it demonstrates
Kaycee Bank shows how the individual API calls fit together into one end-to-end onboarding flow:
- Company search against the live registries, so an applicant can pick their exact company.
- Case creation from the chosen registry result.
- Asynchronous processing, with polling to readiness and realistic per-jurisdiction latency.
- Entity and ownership data, including the recursive beneficial-ownership org-chart across multiple levels.
- AML screening of the entity and its associated individuals.
- An onboarding decision (approve or reject) recorded against the case.
- A downloadable KYB report for the audit file.
A built-in developer and debug view streams the raw API calls, so you can see exactly what each screen sends and receives.
How it maps to the API
Each step of the Kaycee Bank flow maps to one or more Public API calls. Read the full detail in the API Reference.
| Step | What Kaycee Bank does | API call |
|---|---|---|
| Search | Find the applicant’s company in the registry | POST /v2/Companies/search |
| Create | Open a KYB case for the chosen company | POST /v2/Companies |
| Poll | Wait for the case to build, with backoff | GET /v2/Companies/{caseCommonId} |
| Read | Read the verified entity data and status | GET /v2/Companies/{caseCommonId} |
| UBO | Walk the recursive beneficial-ownership tree | GET /v2/Companies/{caseCommonId}/org-chart |
| Screen | Review AML, sanctions, PEP, and adverse-media hits | GET /v2/Companies/{caseCommonId}/amlchecks |
| Decision | Record the approve or reject outcome | PATCH /v2/Companies/{caseCommonId}/status |
| Report | Download the KYB report PDF | GET /v2/Companies/{caseCommonId}/report |
Screenshots
Account opening starts with a company search against the live registries.
The applicant picks their company from the registry result.
Verification runs while the built-in debug view streams the raw API calls.
The verified entity, its ownership, and the screening result come together on the case detail.
Clone and run
Kaycee Bank is open source (MIT) and built with Next.js, with the full source on GitHub at github.com/knowyourcustomer-dev/kaycee. It runs against the free public sandbox at https://api.knowyourcustomer.dev with your issued sandbox credential: connect once, and the full journey runs on your own tenant, alongside the cases you create through the API and the Workspace.
git clone https://github.com/knowyourcustomer-dev/kaycee.git
cd kaycee
npm install
npm run dev
# Open http://localhost:3000
# Kaycee needs your sandbox credential (there is no anonymous demo tenant).
# Either paste your client_id and client_secret into the
# "Connect your sandbox" screen in the app, or copy the env file and set them:
cp .env.example .env
# SANDBOX_BASE_URL=https://api.knowyourcustomer.dev
# SANDBOX_CLIENT_ID=your-sandbox-client-id
# SANDBOX_CLIENT_SECRET=your-sandbox-client-secret
# SANDBOX_SCOPE=PublicApiDo not have sandbox credentials yet? Request access: submit your details, sign the Sandbox Testing Agreement, and once our team approves your request we will email your credentials. The repository is public, so you can read the code before you request access.
See your cases and try the flows
- Browse the cases you create in the operator console, a reduced developer copy of the KYC Workspace your internal compliance users would see.
- Pick starter companies and identity scenarios from the test cases to exercise specific flows and edge cases.
- Follow the step-by-step Quickstart to make the same calls by hand.
The sandbox and the sample app are for evaluation only. Sandbox output, including reports, is not for production compliance use.
