Credit System
Understanding VeriPlus credit-based billing, pricing, credit consumption, and how to manage your credit balance.
Credit System
VeriPlus uses a credit-based billing model where each compliance check consumes credits from your organisation's balance.
How Credits Work
Credit Basics
- Credits consumed only when checks are performed
- No credits consumed for API calls, list operations, or status checks
- Credits never expire (purchased credits)
- Subscription credits reset monthly
Credit Sources
| Source | Description | Priority |
|---|---|---|
| Subscription Credits | Monthly allowance from your plan | 1 (used first) |
| Purchased Credits | One-time credit purchases | 2 (used second) |
| Bonus Credits | Promotional or loyalty credits | 3 (used last) |
Consumption Order: Subscription → Purchased → Bonus
Credit Costs
Always Current
These credit costs are automatically pulled from our database. When pricing changes, this documentation updates automatically.
Identity Verification
| Verification Type | Credits |
|---|---|
| Document Verification | 1 |
| Identity Verification (Standard) | 1 |
| Identity Verification (Enhanced) | 2 |
| Biometric Verification | 3 |
AML Screening
| AML Check Type | Credits |
|---|---|
| Sanctions Check | 1 |
| PEP Screening | 2 |
| Adverse Media Check | 3 |
| Basic AML Check | 1 |
| Enhanced AML Check | 2 |
| Monitoring (per month) | 1 |
Deepfake Detection
| Media Type | Credits |
|---|---|
| Image Analysis | 2 |
| Video Analysis | 5 |
| Audio Analysis | 3 |
| Document Analysis | 4 |
KYT Crypto
| KYT Operation | Credits |
|---|---|
| Wallet Check | 2 |
| Monitoring (per month) | 1 |
Other Operations
| Operation | Credits |
|---|---|
| Export to PDF | 1 Credit |
| Export to Excel | 1 Credit |
| Bulk applicant import | 0 |
| API calls (GET requests) | 0 |
| Webhook delivery | 0 |
Subscription Plans
Current Pricing
These plans and prices are automatically pulled from our database. Visit our pricing page for full details.
| Plan | Monthly Price | Credits/Month | API Access | Max Users |
|---|---|---|---|---|
| Free | Free/mo | 100 | ✗ | 1 |
| Basic | £99/mo | 1,000 | ✗ | 3 |
| Professional | £299/mo | 5,000 | ✓ | 10 |
| Enterprise | £999/mo | Unlimited | ✓ | Unlimited |
Plan Features Comparison
Free
Free/mo
100 credits/month
Perfect for getting started with basic compliance needs
Basic
£99/mo
1,000 credits/month
Ideal for small teams with regular compliance requirements
Professional
£299/mo
5,000 credits/month
Comprehensive solution for growing businesses
Enterprise
£999/mo
Unlimited credits/month
Unlimited solution for large organizations
Purchasing Additional Credits
Credit Packs
Buy credits as needed when subscription allowance runs out:
| Package | Credits | Price | Per Credit | Savings |
|---|---|---|---|---|
| Starter Pack | 500 | £49 | £0.1 | - |
| Growth Pack | 1,000 | £89 | £0.09 | 10% off |
| Professional Pack | 5,000 | £399 | £0.08 | 20% off |
Never Expire: Purchased credits remain in your balance until used.
Auto-Recharge
Set up automatic credit purchases to avoid interruptions:
Configuration:
{
"enabled": true,
"threshold": 100, // Trigger when credits fall below 100
"amount": 500, // Purchase 500 credits
"paymentMethod": "card_xyz123"
}Example:
- Balance reaches 95 credits
- Auto-recharge triggers
- Credits purchased automatically
- Service continues uninterrupted
Credit Balance
Checking Balance
const response = await fetch('https://api.veriplus.co.uk/api/v3/credits/balance', {
headers: {
'Authorization': `Bearer ${apiKey}`
}
});
const data = await response.json();
console.log('Available credits:', data.data.available);
console.log('Subscription credits:', data.data.subscriptionCredits);
console.log('Purchased credits:', data.data.purchasedCredits);Response:
{
"success": true,
"data": {
"subscriptionCredits": 250,
"purchasedCredits": 100,
"bonusCredits": 50,
"usedCredits": 150,
"available": 400,
"nextRenewal": "2024-02-01T00:00:00Z"
}
}Low Balance Alerts
Enable webhook notifications when credits run low:
POST /api/v3/webhooks
{
"url": "https://yourdomain.com/webhooks/veriplus",
"events": ["credits.low_balance", "credits.depleted"]
}Webhook Payload:
{
"event": "credits.low_balance",
"timestamp": "2024-01-15T10:00:00Z",
"data": {
"currentBalance": 50,
"threshold": 100,
"message": "Your credit balance is running low"
}
}Credit Usage Tracking
View Transactions
Track credit consumption:
GET /api/v3/credits/transactions?limit=50Response:
{
"success": true,
"data": [
{
"transactionId": "txn_abc123",
"type": "DEBIT",
"amount": 2,
"operation": "verification.standard",
"resourceId": "verif_xyz789",
"timestamp": "2024-01-15T10:30:00Z"
},
{
"transactionId": "txn_def456",
"type": "CREDIT",
"amount": 500,
"operation": "credit.purchase",
"timestamp": "2024-01-15T09:00:00Z"
}
]
}Usage Analytics
Dashboard provides:
- Daily/weekly/monthly credit usage
- Credits by operation type (verification, AML, deepfake, KYT)
- Cost per customer
- Forecast (projected usage)
Insufficient Credits
When balance is zero:
Error Response:
{
"success": false,
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "Not enough credits to perform this operation",
"details": {
"required": 2,
"available": 0
}
}
}HTTP Status: 402 Payment Required
Solution:
- Purchase additional credits
- Upgrade subscription plan
- Enable auto-recharge
Credit Refunds
Credits refunded in these cases:
| Scenario | Refund | Notes |
|---|---|---|
| Technical failure | Full refund | If verification/screening failed due to system error |
| Duplicate operation | Full refund | If same operation executed twice due to error |
| Canceled verification | Full refund | If verification canceled before processing |
| Poor quality document | No refund | Document processed but low quality |
| False positive (AML) | No refund | Screening completed successfully |
Request Refund: Contact support with transaction ID
Cost Optimization Tips
1. Use Appropriate Verification Profiles
// ❌ Expensive - ENHANCED for all customers
profileType: 'ENHANCED' // 3 credits
// ✅ Cost-effective - STANDARD for low-risk
profileType: 'STANDARD' // 2 credits2. Batch Operations
Process multiple applicants together to reduce overhead.
3. Cache Results
Don't re-verify the same person multiple times:
// Check if applicant already verified
const applicant = await getApplicant(email);
if (applicant.lastVerifiedAt && isWithin30Days(applicant.lastVerifiedAt)) {
// Use existing verification (0 credits)
} else {
// Create new verification
}4. Use Webhooks
Don't poll for status (makes unnecessary API calls).
5. Enable Auto-Recharge
Get volume discounts on bulk purchases.
6. Monitor Usage
Set up alerts to detect unusual credit consumption.
Billing Cycle
Subscription Credits:
- Renew on the 1st of each month
- Unused credits do not roll over
- Downgrading mid-month: Credits adjusted immediately
Purchased Credits:
- Available immediately after purchase
- Never expire
- Roll over indefinitely
FAQ
Q: Do credits expire? A: Subscription credits expire monthly. Purchased credits never expire.
Q: Can I transfer credits between organisations? A: No, credits are organisation-specific.
Q: What happens if I downgrade my plan? A: Subscription credits adjust immediately. Purchased credits remain.
Q: Do I get refunds for unused subscription credits? A: No, subscription credits are non-refundable.
Q: Can I gift credits to another user? A: No, but you can invite them to your organisation.
Next Steps
Ready to get started?
Start with our free plan. No credit card required.