Pryzr Verify

PRYZR VERIFY · DEVELOPER QUICKSTART

Launch your first verification in minutes.

Create a test verification, redirect the player, and receive the result. Your Pryzr API key stays on your server throughout the process.

Start in sandboxUse test players and test documents while you integrate.Create separate production credentials after your sandbox tests pass.
01

Install and configure the server SDK

Keep this API key in your server’s secret manager. Never expose it in the browser.

Shell
npm install @pryzr/verify@0.3.1
Environment
PRYZR_API_KEY=<YOUR_SANDBOX_API_KEY>
02

Launch a verification

One method creates the player record and a short-lived verification link.

TypeScript
import { PryzrVerifyClient } from "@pryzr/verify";

const pryzr = new PryzrVerifyClient({
  apiKey: process.env.PRYZR_API_KEY!,
});

const { playerUrl, verification } = await pryzr.startVerification({
  playerReference: "player-1042",
  caseReference: "signup-1042",
  jurisdiction: "US-NJ",
  minimumAge: 21,
  returnUrl: "https://<YOUR_PLAYER_SITE>/verification/complete",
  identityHash: true,
  declaredName: { given: "<GIVEN_NAME_ON_FILE>", family: "<FAMILY_NAME_ON_FILE>" },
});

// Save verification.id, then redirect this player to playerUrl.

Send playerUrl only to the intended player through your signed-in product flow. Do not log it or send it to analytics.

03

Receive the result

Use signed webhooks for live updates. Each event includes your case reference so you can update the correct player in your system.

TypeScript
const endpoint = await pryzr.createWebhookEndpoint(
  {
    url: "https://api.yourcasino.com/webhooks/pryzr",
    event_types: [
      "verification_case.approved",
      "verification_case.declined",
      "verification_case.review_required",
    ],
  },
  crypto.randomUUID(),
);

// Save endpoint.signing_secret.secret immediately; it is shown only once.

You can also call getVerificationCase(verification.id) when you need a one-time status check.

04

Add PlayPrint behavioral signals

PlayPrint sends privacy-safe interaction summaries after you record player consent. It does not send typed text, form values, or raw mouse coordinates.

Shell
npm install @pryzr/playprint-browser@0.3.1
TypeScript
import { startPlayPrint } from "@pryzr/playprint-browser";

const playPrint = startPlayPrint({
  configVersion: "operator-policy-v1",
  subjectRef: playerReference,
  sessionRef: sessionReference,
  deviceRef: pseudonymousDeviceReference,
  consentReceiptRef,
});

Add one authenticated server route at /api/pryzr/playprint-token. It uses your server-side API key to request a five-minute browser token from https://verify.pryzr.tech/api/v1/telemetry/browser-tokens.

  • Add your exact HTTPS player origin to the workspace PlayPrint settings.
  • Use references that do not contain names, email addresses, or payment details.
  • Call playPrint.revokeConsent() if consent is withdrawn.
  • Use the SDK README for custom signals, sampling, and page categories.
05

Test the complete flow

  • Run approved, declined, manual-review, resubmission, and cancellation tests.
  • Confirm webhook signatures and match every result to the correct player.
  • Submit test transaction events and consented PlayPrint summaries.
  • Repeat the checklist with separate production credentials before launch.