Skip to content

PersonaBlocks Documentation

PersonaBlocks lets you verify customers against a sovereign, reusable identity credential instead of re-running KYC from scratch for every merchant. A customer verifies once, receives a Verifiable Identity Certificate (VIC) — an on-chain credential that anchors their verified attributes and status — and can then be recognized by any merchant on the network without repeating the full flow.

You integrate the same way whether a customer is brand new or already carries a VIC: mint a verification session, open it, and act on the result.

Every customer reaches PersonaBlocks through one of two rails, and both mint the same kind of VIC:

  • Wallet (sovereign) — the customer connects a crypto wallet and signs to prove control. They hold their own keys; PersonaBlocks never custodies them.
  • Phone (delegated) — the customer verifies with a phone number and one-time code, and a custodial key is managed on their behalf. This is the low-friction path for customers who don’t run a wallet.

You don’t have to choose for them. A session’s flows array (wallet, phone) offers the rails you support and the customer picks one.

Web SDK

Drop PersonaBlocks.create() into your frontend to open a hosted verification session — phone as an embedded iframe, wallet as a popup, with a redirect fallback. All capture UI loads from PersonaBlocks-controlled origins. See the Web SDK guide.

REST API

Mint and read sessions, list customers, and manage webhook endpoints over a versioned /api/v1 surface authenticated with a secret key. Browse the interactive API reference.

Webhooks

Receive signed, retried event deliveries — session completions and customer status changes — so your backend reacts to verification outcomes server-to-server. See Webhooks.

Every integration follows the same three moves, regardless of rail:

  1. Mint a verification session from your backend with a secret key.
  2. Open it in the customer’s browser with the returned client_token, using the Web SDK.
  3. Act on the outcome server-to-server — from a signed webhook, or by reading the session over the API. Decisioning data never rides the browser.

Sandbox keys are free at registration — you can drive a full verification against the simulator without any real documents, camera, or wallet.

Create a merchant account

Then follow the Quickstart to mint your first session and watch it resolve end to end, or read the session lifecycle and data minimization concepts first if you’d rather understand the model before writing code.