Screen every signup for a dime.

Face match, ID reading and a face fingerprint to dedupe your own users, over one REST API.

See pricing
POST /v1/kyc/session200
$ curl https://api.firstpass.cloud/v1/kyc/session \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"level": "A"}'

{ "session_id": "…", "url": "https://firstpass.cloud/kyc.html?session=…", "status": "pending" }
# send the applicant there: live face scan; selfie uploads are disabled. Then poll:

$ curl https://api.firstpass.cloud/v1/kyc/session/SESSION_ID \
  -H "Authorization: Bearer $KEY"
{
  "status": "done",
  "result": {
    "outcome": "verified",
    "face_match": { "verdict": "match", "similarity": 0.67 },
    "document": { "doc_type": "パスポート", "expiry_date": "2031-05-14" },
    "face_embedding": […128-d fingerprint, store it to dedupe your own users…]
  }
}

Run one check on yourself, free

Level A is the standard check: a live face scan, an ID document and basic details. Level B adds proof of residence and source of funds. The demo runs face match and document reading and shows the face verdict here. It does not validate your name, email or phone or run Level B cross-checks; its face scan is only checked in your browser. The hosted check your signups use adds server-side liveness and returns verified, review or rejected; your own team decides the review cases. The demo keeps no photos, only your email, IP address and the result.

Face scan
ID document
+81

Face match and ID reading demo. No account needed.

What one KYC check costs today

Public list prices for entry plans, August 2026. Most providers also charge a monthly minimum whether you verify anyone or not.

Sumsub
$1.35
plus $149/mo minimum
iDenfy
$1.35
per approved verification
Shufti
$0.50+
quote-based, setup fees apply
FirstPass
$0.10
Level A per billable session · Level B $0.20. Prepaid.

Sources: sumsub.com/pricing, beverified.org, hyperverge.co. Check current prices before you decide.

Built for the signups that never fund

Brokers verify everyone at registration, but most accounts never deposit. Paying certified-KYC prices on all of them is the single biggest waste in your onboarding bill. Route every signup through FirstPass first, and send only the accounts that fund to your certified provider.

All signups
every registration
100% of volume
→
FirstPass
OCR + face match + face fingerprint
$0.10-0.20 per billable session
→
Funded accounts
the ones that matter
typically 5-20%
→
Certified provider
Sumsub, Veriff, etc.
$1.35+ each

Two calls. Create a session and poll for results.

Recommended: open a hosted session and send your user to the scan page. We run the live face scan (forced, no photo upload), read the ID and, for Level B, the residence and funds documents, then store the record. Liveness only runs in hosted sessions. Pick Level A or Level B per user. Copy the code:

Create a hosted session, then poll for the result. Tap to copy
Level A · live face scan + ID · 1 credit
curl -X POST https://api.firstpass.cloud/v1/kyc/session \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"level": "A", "applicant_ref": "user_123", "lang": "en"}'
Level B · + proof of residence + source of funds · 2 credits
curl -X POST https://api.firstpass.cloud/v1/kyc/session \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"level": "B", "applicant_ref": "user_123", "lang": "en"}'
# Send the user to the returned url, then poll the result
curl https://api.firstpass.cloud/v1/kyc/session/SESSION_ID \
  -H "Authorization: Bearer $KEY"
level: "A"

Level A · standard pre-screen

Live face scan, ID document reading and name / email / phone checks, plus a 128-d face fingerprint you can store to catch one person opening many accounts on your platform. We run no face search ourselves and never match faces across customers. 1 credit ($0.10) per billable session: the pass every signup goes through.

level: "B"

Level B · extended pre-screen

Everything in Level A, plus proof-of-residence and source-of-funds document reading, birth date and address cross-checks (the hosted B page requires all declared fields; direct API fields are optional), and declared occupation, PEP status, source and annual income (recorded, not verified). 2 credits ($0.20).

Composing your own flow instead? Call POST /v1/kyc/a (1 credit) or /v1/kyc/b (2 credits) with base64 images directly. These direct calls run no liveness check. The granular endpoints /v1/face/compare, /v1/face/embed, /v1/document/ocr, /v1/document/por and /v1/identity/basic cost 1 credit each.

Two levels, matched to how much a user matters

Run the cheap level on everyone at registration; run the full level when a user funds, withdraws, or crosses your risk threshold. You compose levels from the same API calls, so the split is entirely your policy.

LEVEL A

Standard · every registration

Create a hosted session for face match, ID reading and basic detail checks, then poll for the result. The standard pass every signup goes through.

Level A: 1 credit ($0.10) per billable session. Creation is free.
LEVEL B

Extended pre-screen · users that matter

Everything in Level A, plus proof-of-residence and source-of-funds documents, cross-checks of birth date against the ID and address against the proof of residence, and declared nationality, occupation, PEP status, source and annual income. Meant for accounts that fund or withdraw. The hosted B page requires both proofs and all declared fields; direct API fields are optional. Cross-checks run when the relevant data is available, the declared fields are recorded but not verified, and there is no sanctions or PEP screening.

Level B: 2 credits ($0.20) per billable session. Creation is free.

Every check, on one dashboard

Your team signs into the portal with email and password (API key login also works): monthly usage and cost, verdict breakdown, cases flagged for human review, and a quickstart for the next developer. The screenshot below shows the dashboard.

api.firstpass.cloud/portal
FirstPass portal dashboard: monthly checks, estimated cost, face match verdicts, daily usage chart and recent calls table

What FirstPass is not

We would rather lose a deal than blur this. FirstPass is a pre-screening tool that makes your human review fast and your certified-KYC bill small. It does not replace either.

Not certified eKYC
No iBeta-certified liveness, no chip reading, and not an identity verification method under Japan's Act on Prevention of Transfer of Criminal Proceeds (犯収法). If your regulator requires a certified vendor for an onboarding step, use one for that step.
Not AML screening
We do not check sanctions, PEP or watchlists. Keep your screening provider for the accounts that reach funding.
Not deepfake-grade
Face matching checks whether the two faces match. Hosted checks assess ID expiry. Duplicate-face detection requires you to implement a search using the returned fingerprint; FirstPass runs no face search. A determined attacker with production tooling needs the certified tier.
Not a shared face database
Your records stay inside your own workspace and we never match faces across customers. We run no face search; each check returns a face fingerprint you can store to dedupe your own users. Level A and B checks (hosted sessions and direct calls), face compare and ID reading are stored encrypted in your dashboard for your audit trail, with no automatic deletion period except for Level B proof-of-residence and source-of-funds images, which are encrypted separately for 90 days and accessible only to authorised FirstPass staff through logged access. Storage cannot be switched off. To have a record erased, email hello@firstpass.cloud. The free demo and the face fingerprint, identity check and proof-of-residence endpoints keep no photos and create no record; the demo keeps only your email, IP address and the result.

Ship your first pass this week.

Create a workspace, top up by card, and route today's signups through FirstPass. Your API key is shown after registration.