Benchmarks
Reproducible performance data. Every number on this page is generated by an open benchmark script available at github.com/quantum-elixir-tech/benchmarks — clone it and run against your own sandbox org to confirm.
Last updated: 2026-05-01. Benchmarks regenerate quarterly.
Latency
p50 / p95 / p99 against sandbox in Jakarta (production has lower jitter):
Identity
| Endpoint | p50 | p95 | p99 |
|---|---|---|---|
POST /api/identity/document/ktp/challenge | 18 ms | 41 ms | 78 ms |
POST /api/identity/document/ktp/capture | 612 ms | 1180 ms | 1890 ms |
POST /api/identity/face/flash-challenge | 14 ms | 35 ms | 64 ms |
POST /api/identity/face/liveness | 481 ms | 920 ms | 1410 ms |
POST /api/identity/face/match (pool, 5 refs) | 92 ms | 174 ms | 286 ms |
POST /api/identity/auth/step-up (combined) | 587 ms | 1080 ms | 1640 ms |
AML
| Endpoint | p50 | p95 | p99 |
|---|---|---|---|
POST /api/screenings (single subject) | 124 ms | 245 ms | 384 ms |
POST /api/screenings (batch of 100) | 1284 ms | 2110 ms | 3104 ms |
POST /api/transactions/evaluate | 48 ms | 92 ms | 168 ms |
GET /api/alerts?status=open&limit=20 | 31 ms | 62 ms | 124 ms |
Anti-Fraud
| Endpoint | p50 | p95 | p99 |
|---|---|---|---|
POST /api/evaluate (transaction lane) | 41 ms | 82 ms | 154 ms |
POST /api/evaluate (onboarding lane) | 87 ms | 168 ms | 287 ms |
POST /api/device-session | 28 ms | 58 ms | 102 ms |
GET /api/sdk-config | 12 ms | 24 ms | 41 ms |
Document Intelligence
| Endpoint | p50 | p95 | p99 |
|---|---|---|---|
POST /api/documents/upload (multipart, 500 KB PDF) | 184 ms | 312 ms | 481 ms |
| Async extract — KTP | 2.1 s | 3.4 s | 5.2 s |
| Async extract — NPWP | 1.8 s | 2.9 s | 4.4 s |
| Async extract — Invoice (single page) | 2.4 s | 3.8 s | 5.7 s |
| Async extract — Contract (10 pages) | 8.2 s | 14.1 s | 21.4 s |
Bank Statement
| Operation | p50 | p95 | p99 |
|---|---|---|---|
| Upload (1 MB BCA statement) | 142 ms | 248 ms | 384 ms |
| Async parse — BCA native | 1.2 s | 2.1 s | 3.4 s |
| Async parse — Mandiri native | 1.1 s | 1.9 s | 3.1 s |
| Async parse — AI fallback (unsupported bank) | 4.8 s | 7.2 s | 11.4 s |
GET /api/consolidations/{id}/consolidated (5 statements) | 87 ms | 184 ms | 312 ms |
Orchestration / AI Automation
| Operation | p50 | p95 | p99 |
|---|---|---|---|
| Workflow execute (trigger to first step) | 124 ms | 234 ms | 384 ms |
Per service_call step overhead | 18 ms | 41 ms | 78 ms |
| LLM step (Quantum AI default, ~500 tokens) | 1.2 s | 2.4 s | 3.8 s |
| Cron schedule jitter | 12 s | 47 s | 58 s |
Throughput
Per-org throughput on the standard tier. Higher tiers scale linearly.
| Endpoint class | Standard | Premium | Enterprise |
|---|---|---|---|
Reads (GET) | 10,000 RPM | 30,000 RPM | 100,000 RPM |
Transaction evaluate (POST /api/transactions/evaluate + POST /api/evaluate) | 1,000 RPM | 5,000 RPM | 20,000 RPM |
| Screenings | 60 RPM | 600 RPM | 5,000 RPM |
| Document/statement uploads | 60 / 10min | 600 / 10min | unmetered |
Accuracy
Cross-validated against held-out test sets curated with Indonesian financial-services partners.
Bank Statement parsing
| Parser | Field accuracy (transactions) | Balance reconciliation | Bank detection accuracy |
|---|---|---|---|
| BCA native | 99.6% | 99.9% | 99.8% |
| Mandiri native | 99.4% | 99.8% | 99.7% |
| BRI native | 99.2% | 99.5% | 99.6% |
| BNI native | 99.3% | 99.7% | 99.6% |
| Permata native | 98.8% | 99.2% | 99.3% |
| Danamon native | 98.5% | 99.0% | 99.1% |
| BTN native | 98.4% | 98.7% | 98.9% |
| OCBC native | 98.6% | 99.1% | 99.0% |
| AI fallback | 95.8% | 97.3% | n/a |
KTP capture (Identity Platform)
| Check | True positive | False positive |
|---|---|---|
| Anti-spoof live vs print | 99.4% | 0.7% |
| Anti-spoof live vs digital screen | 98.9% | 1.2% |
| Anti-spoof live vs 3D mask (premium) | 97.2% | 1.8% |
| Tamper detection (modified NIK) | 99.8% | 0.2% |
| Face match (same person, KTP vs selfie) | 98.6% | 0.3% |
AML screening
| Metric | Value |
|---|---|
| True-positive rate at default thresholds | 98.7% |
| False-positive rate at default thresholds | 0.4% |
| OFAC SDN coverage (vs. official source) | 100% (hourly refresh) |
| Adverse-media corpus size | 12M+ Indonesian-language articles |
Methodology
All latency numbers:
- Measured from same-region client (id-jkt-1 → id-jkt-1).
- 10,000-request samples per endpoint, distributed over a one-hour window.
- Excludes connection establishment (assumes warm TLS).
- Includes auth, validation, business logic, and DB round-trips.
Accuracy numbers:
- Curated test sets (~5,000 examples per category) with human-labelled ground truth.
- 80/20 train/test split with the model never trained on the test partition.
- Re-validated quarterly against new examples.
Reproduce yourself:
git clone https://github.com/quantum-elixir-tech/benchmarks
cd benchmarks
export QE_API_KEY=qe_sk_sandbox_...
npm install
npm run bench:identity # or aml, anti-fraud, etc.Production numbers will look slightly better
Sandbox is shared infrastructure. Production runs on dedicated capacity with no noisy neighbours. Expect ~20% better p95 in production than the numbers above. Premium tier guarantees stricter SLAs.