Your plan credit and balance are used up, or the workflow includes a check the Free plan credit cannot pay for. Find which one and stop the error recurring.

Short answer

Your plan credit for the month and your top-up balance cannot cover a check in the workflow. The Free plan's $10 a month runs out faster than expected when the workflow includes white label ($0.20), AML ($0.20), NFC ($0.15), or active liveness ($0.15). Open the workflow and look at what's enabled before topping up.

If a verification request fails with "You don't have enough credits to perform this request", or the API answers with the error code insufficient_credits when you create a session, your organization's balance can't cover a feature the workflow is trying to run. The same cause can also surface as an "out of credits" error (sometimes a 502), for example when the workflow includes phone verification or database validation, which the Free plan credit does not pay for.

#Check the workflow before you check the balance

The instinct is to look at your usage. Look at your workflow first, because every enabled module is paid from your $10 of monthly credit (Free plan) and then your balance, and some modules cost much more than the basic four (ID verification, passive liveness, face match 1:1 and device and IP analysis, $0.33 together). The usual culprits, in the order they actually turn up:

FeaturePriceWhy it surprises people
White label / custom branding$0.20 per verificationIt's a look-and-feel setting, so it doesn't feel like a "check"
AML screening$0.20Often added to a basic KYC template without noticing
NFC$0.15Billed separately from ID verification
Active liveness$0.15Switching from passive to active raises the price. In the workflow the active methods are 3D Flash and 3D Action & Flash; Passive Liveness is $0.10
Age estimation$0.10It is priced separately from ID verification
Questionnaire$0.10Feels like a form, not a check
Phone verificationfrom $0.03 + carrier feeCarrier fee varies by destination
Email verification$0.03
Proof of address$0.20
Database validationVaries by countryAlso needs a first top-up before it runs at all - the Free plan credit does not count. See database validation
Business verification (KYB)Varies by country and registry tier
Important

White label is the single most common cause. A workflow with custom branding enabled costs $0.20 per completed verification on top of the per-module prices - so a flow you set up as plain KYC costs about 60% more the moment you brand it. See customizing branding.

#Fixing it

  1. Open the workflow the failing session uses

    Not any workflow - the one whose ID the session was created with. In Workflows, check every enabled feature against the table above.

  2. Look for the hidden custom-style switch

    White label is a per-workflow setting called Include custom style, and it is not in the step list, which is why auditing the steps never finds it. In the workflow editor it is the small switch next to the colour-swatch icon in the header, and it only appears once you hover that icon, so a workflow can be branded without anyone remembering they did it. The same setting is also in the workflow's Settings sidebar, where it is always visible.

  3. Check your balance

    Settings → Billing and plan shows your current balance. If your credit for the month is used up and the balance is zero or negative, all billable work stops until it's back above zero.

  4. Either remove the paid feature or top up

    If you don't need the paid feature, turn it off and republish. If you do, add funds - the minimum top-up is $50. See top-ups, invoices and payment methods.

The billing page in the Didit console with the account balance and the Top up balance button
Check the balance, but check the workflow's paid features first.

#Other causes worth ruling out

  • A negative balance. Once the balance goes below zero and your monthly credit is used up, live checks stop. This is the case where the error genuinely isn't about a particular module.
  • The wrong application's key. Balance is per organization, but if you're calling with a key for an application whose workflow differs from the one you audited, you're looking at the wrong configuration. See organizations, applications and environments.
  • A standalone API call rather than a workflow session. Standalone calls are billed per call at list price and use the same credit and balance, so they can use it up faster than you expect.
  • Phone verification or database validation before any top-up. Both stay inactive until your organization has made a first real top-up; the Free plan credit doesn't unlock them. See top-ups, invoices and payment methods.
  • A sandbox that worked and a live application that doesn't. Sandbox never charges anything, so it can't reveal a paid feature. The first live session is where the workflow's real price shows up.
  • You genuinely used the month's $10. Check Analytics for the month's volume per feature, and Usage for what each check was charged, before assuming this one. The credit resets on the 1st.

#Stopping it happening again

  • Turn on auto top-up in Settings → Billing and plan so the balance tops up automatically below a threshold you choose.
  • Test in sandbox, where nothing is billed and the balance check is bypassed entirely. See testing in sandbox.
  • Separate your test and live applications, so an experiment can't drain the balance your production traffic depends on.

#Capping your spend

If you want a hard ceiling so an account can't go negative during testing, that's an account-level control rather than a workflow setting - ask support what's available for your organization. Meanwhile the practical version is: keep testing in a sandbox application, where there is nothing to spend.

#If top-ups aren't self-serve

Organizations on an annual plan can't buy credits through the self-serve top-up flow - contact your account manager instead. A self-serve attempt will tell you so rather than failing silently.

#If your balance looks wrong

If your balance, invoices, or verification history suddenly appear missing or incorrect, this is almost always a temporary platform issue rather than lost data. Contact support rather than trying to fix it yourself, and include your organization ID.

Still stuck? Talk to a human.

Include your organization ID if a balance or invoice looks wrong.

Contact support