SDK throughput and test results, August 2026
Engineering 4 min read

SDK throughput and test results, August 2026

We ran the public integration suite and a local throughput benchmark. Here are the numbers, the one failure, and how to reproduce both.

Marketing pages talk about speed. Engineers ask for a command, a date, and a host. On 28 August 2026 we ran npm test in the AffixIO demo integration repo and a separate 100-proof offline benchmark on this server. The results are below.

Offline throughput

Using @affix-io/sdk-light on Node 20, circuit simple_yesno, mode offline:

MetricValue
Proofs in run100
Total time991 ms
Per proof9.9 ms
Throughput~101 proofs/sec

That is HMAC prove on local Node crypto. No network, no ML-DSA attestation on the path. It is the number you care about when the gate sits on a LAN host or kiosk.

Online round trip

A single mode: "online" prove to api.affix-io.com on the same host measured 78 ms end to end, including server-side attestation. Your latency budget will differ by region and payload size. Treat 78 ms as a same-datacentre reference, not a SLA.

Integration suite (28 August 2026)

npm test in the demo repo executed 19 tests in about 94 seconds:

  • 18 passed
  • 1 failed: online proveFromCheckAndVerify returned rate_limited

The failure is honest. The public demo key is capped at 4 requests per second. Earlier tests in the same run had already consumed quota. Offline prove, Merkle batch, data-check across 16 store adapters, and the huge regression batch all passed.

Huge batch regression

The slowest test, huge batch: all databases × codes × pass/fail controls, ran for 93.8 seconds with seed 42:

CountValue
Total scenarios267
Expected pass161
Expected fail97
Errors1 (injected API failure)
False positives0
Store adapters exercised16

Zero false positives matters more than the headline throughput figure. A wrong yes is worse than a slow yes.

How to reproduce

Clone the AffixIO demo repo, install dependencies, set AFFIX_API_KEY if you have a non-demo key, then:

npm test
node -e "
import { AffixLightSDK } from '@affix-io/sdk-light';
const sdk = new AffixLightSDK({ apiKey: process.env.AFFIX_API_KEY, autoFlush: false });
const t0 = performance.now();
for (let i = 0; i < 100; i++) {
  await sdk.prove({ mode: 'offline', circuitId: 'simple_yesno',
    credential: { claim_value: 'approved' },
    context: { secret: '0xbench', context_id: '0x'+i, required_claim_hash: 'approved' } });
}
console.log({ ms: Math.round(performance.now()-t0), perSec: (100/((performance.now()-t0)/1000)).toFixed(1) });
sdk.dispose();
"

Full tables and live API counts sit on the platform metrics page.

On your host

The prove step

Where AffixIO fits in your benchmark path

Throughput numbers only matter on your hardware, your circuit, and your network path. Hub gives you 100 proofs to run the same tests against your stack.

It sits at the moment your system says eligible or not eligible. Offline prove runs on Node crypto. Online prove adds ML-DSA attestation on api.affix-io.com. Measure both before you freeze architecture.

Run 100 proofs on your stack

Hub sign-up is free. 100 SDK proof credits for 30 days after email confirmation. No card.

Free Hub trial

100 proofs. No card. Yours in minutes.

Sign up free, confirm your email, and redeem 100 SDK proof credits for 30 days. Run real eligibility checks on your stack before you commit to a licence.

  • Free sign-up at Hub
  • 100 proofs after email confirmation
  • 30-day window to use them
  • No overage on trial

Questions we hear often

Short answers for teams evaluating eligibility checks, audits, and privacy posture.

What throughput should I expect offline?

On Node 20 with @affix-io/sdk-light and circuit simple_yesno we measured about 101 proofs per second in a sequential loop. Your CPU and circuit choice will differ.

Why did one integration test fail?

The public demo API key is rate limited to 4 requests per second. An online verify call at the end of the test run returned rate_limited after earlier tests consumed quota.

How do I get more than the demo rate limit?

Sign up at Hub for a trial licence with 100 proof credits, or contact us for a production key.