A branded card in weeks, with onboarding your compliance team runs
Virtual cards tokenized to Apple Pay and Google Pay on day one, KYC flows configured per programme, Fraud AI on every tap, and disposable cards for subscriptions and privacy.
Steps
Checks & rules
Accepted document types
Issuing countries
On ambiguous evidence
Live preview · hosted widget
Step 2 of 3
Scan your passport
MRZ read · chip check next
Draft → preview in the real widget → publish · Named flows per programme · Cases pin their version
The checks live inside the issuing platform, so passing KYC or KYB and getting a card is one motion. No second vendor, no state machine to keep in sync, no applicant data leaving the stack.
Passports, national ID cards, residence permits and driving licences from every issuing country except sanctioned jurisdictions. MRZ read and document intelligence in about two seconds.
ePassport NFC passive authentication from your own app proves the document is genuine, not just well photographed.
Passive liveness on the hosted capture path and a face match against the document photo. No head-turning gymnastics for the applicant.
OFAC, UN, EU and UK sanctions lists plus politically exposed persons, their relatives and close associates, at onboarding and on an ongoing basis. A new hit on an existing holder opens a case for your team.
Company registry lookups, ultimate beneficial owner graphs and director verification for corporate, expense and B2B card programmes, with each linked person run through the same KYC flow.
Name and date-of-birth consistency across document and details, plus the rules you set: minimum age and accepted nationalities.
Referrals land in a queue with the evidence per signal. Approve, reject or request a recapture, with four-eyes approval and a decision history.
The flow is the policy. Once published, it decides, refers, gates issuance and notifies your systems without anyone watching a dashboard.
When the policy has what it needs, the case settles on its own: passed or failed, with reason codes and the evidence behind each signal.
Ambiguous evidence goes to a human instead of a hard no. Where the photo was the problem, one click asks the applicant for a recapture.
A card only issues once the cardholder is kyc_complete. No glue code between your verification vendor and your processor, because they are the same system.
kyc.check.started, kyc.check.completed and kyc.check.expired reach you as signed webhooks, so onboarding status is never a poll.
Give each card product its own named flow: default, premium, uk. Edit as a draft, watch the real capture widget render it, and publish when it is right. Branding hangs off the flow, so every product looks like itself.
Technical teams get the same thing through the API and can read back the composed policy as JSON. The console and the API are visibly one system.
Everything an examiner asks for is already on the record: what was checked, under which policy, by whom, and who looked at the data since.
Per-signal findings in production order: which check produced which finding, under which engine version, with what score and reason codes.
Publishing creates a new version; nothing is edited in place. Cases pin the version they started under, so an audit reads exactly what applied.
Every read of applicant data or a document image is reported to the PII audit pipeline. Retention limits and crypto-erasure are part of the policy.
Verified a holder out of band? A console admin can attest it. No API client can, so an integration can never self-approve.
The same platform, used differently by different teams. Each card names the segment, the outcome, and the products that carry it.
Virtual cards tokenized to Apple Pay and Google Pay on day one, KYC flows configured per programme, Fraud AI on every tap, and disposable cards for subscriptions and privacy.
Just-in-time funding from a wallet or protocol balance, one FX conversion at authorization, on-chain and card in one ledger, and USDC or EURC settlement seven days a week.
Virtual cards locked to a supplier, capped at the contract, expiring with the project, with KYB on the customer and a ledger that already knows what each charge was for.
We build it as a flow during the call, preview it in the widget, and show you the case it produces.