Performance · 7 min read

8.6 Million Authentications Per Second:
Batch Processing at Scale

H33 batch authentication processes 1,000 users in 116µs, achieving high-throughput authentication. Learn how we scale to billions of users.

1.2M/s
Auth/sec
~50µs
Per Auth
96
CPU Cores
Graviton4
Platform

One thousand users authenticated in 116 microseconds. That's high-throughput authentication on a single node. This is the power of H33's batch authentication—enterprise-scale security that fits in your pocket.

Batch Authentication Numbers

1,000 users: 116µs (8.6M/sec)
Per-user overhead: 0.116µs
Efficiency gain: 1,900x vs sequential
Full cryptographic verification: Yes

The Scale Challenge

Modern applications face authentication demands that would have seemed impossible a decade ago:

Traditional authentication systems crumble under this load. H33's batch processing was designed from the ground up for this scale.

How Batch Processing Works

Instead of processing authentications one at a time, batch mode groups requests and processes them in parallel:

// Sequential (slow) - DON'T DO THIS
for (const user of thousandUsers) {
  await h33.auth.verify(user);  // 1.28ms each = 220ms total
}

// Batch (fast) - DO THIS
const results = await h33.auth.batchVerify({
  users: thousandUsers,
  mode: 'parallel'
});
// 116µs total for all 1,000 users

The key optimizations that enable this performance:

Scaling Visualization

10 users
12µs
100 users
45µs
1,000 users
116µs
10,000 users
890µs
100,000 users
7.2ms

Real-World Use Cases

Massive multiplayer games: Authenticate all players in a game server instance simultaneously when the match starts.

Workforce logins: Process morning login waves for entire enterprises in milliseconds.

IoT device fleets: Verify thousands of sensor readings in a single batch operation.

Event ticketing: Authenticate concert or sports event attendees as they arrive.

Implementation Patterns

// Pattern 1: Streaming batch
const batchProcessor = h33.createBatchProcessor({
  maxBatchSize: 1000,
  maxWaitMs: 10,  // Collect for up to 10ms
});

// Requests are automatically batched
app.post('/verify', async (req, res) => {
  const result = await batchProcessor.add(req.body);
  res.json(result);
});

// Pattern 2: Explicit batching
const pendingRequests = collectRequests(timeWindow);
const results = await h33.auth.batchVerify({
  users: pendingRequests,
  mode: 'parallel',
  continueOnError: true  // Don't fail batch on single error
});

// Pattern 3: Scheduled batch
cron.schedule('*/5 * * * * *', async () => {
  const queuedAuth = await getQueuedAuthRequests();
  if (queuedAuth.length > 0) {
    await h33.auth.batchVerify({ users: queuedAuth });
  }
});

Batch ZK Proofs

Batch processing extends to ZK proof generation as well:

Cost Efficiency

Batch processing doesn't just improve performance—it reduces costs:

Scale to 8.6M Auth/Second

Batch processing is available on all H33 plans. Start with 1,000 free auths.

Get Free API Key

Build With Post-Quantum Security

Enterprise-grade FHE, ZKP, and post-quantum cryptography. One API call. Sub-millisecond latency.

Get Free API Key → Read the Docs
Free tier · 10,000 API calls/month · No credit card required
Verify It Yourself