Show-phase presentation (SDK)
After one-time precompute on the credential, each verifier challenge produces a fresh presentation proof. Pattern from the bundled SDK README (same types as the live package).
import { OpenAC, PredicateOp } from "openac-sdk";
const openac = await OpenAC.init({ assetsDir: "./assets" });
const keys = await openac.loadKeysFromUrl("https://cdn.example/keys", "1k");
const precomputed = await openac.precompute({
jwt: sdJwtToken,
disclosures: ["WyJzYWx0...", "..."],
issuerPublicKey: { kty: "EC", crv: "P-256", x: "...", y: "..." },
keys,
});
const proof = await openac.present({
precomputed,
verifierNonce: "challenge-123",
devicePrivateKey: "0xabcdef...",
keys,
showInputOptions: {
normalizedClaimValues: [890615n],
predicates: [{ claimRef: 0, op: PredicateOp.GE, compareValue: 18n }],
},
});
Standards engagement: ETSI TS 119 476-2 (contribution context), EUDI ARF, ICAO 9303 (ePassport) — see References.