For developers

Ship identity in
hours, not months.

A small, deterministic REST surface for wallet-based identity, age verification, and document signing. No SDK to wrestle with — just one endpoint and a webhook.

Quick start

Integrate in minutes

① Create a session

POST /v1/sessions
Authorization: Bearer YOUR_API_KEY

{
  "steps": [
    { "primitive": "identify", "params": { "blocks": ["first_name", "dob", "country"] } },
    { "primitive": "sign", "params": { "document_hash": "sha256:abc..." } }
  ]
}

Response:
{
  "id": "sess_abc123",
  "url": "https://uip.digital/s/sess_abc123",
  "status": "created",
  "expires": "2026-04-26T12:34:56Z"
}

② Receive a signed webhook on every step

POST https://your-app.com/uip-webhook
X-UIP-Event: step.completed
X-UIP-Signature: <hmac-sha256 of timestamp.body>

{
  "event": "step.completed",
  "data": {
    "session_id": "sess_abc123",
    "stage": 0,
    "primitive": "identify",
    "claims": { "first_name": "Jane", "country": "US" }
  }
}
Integration

Four steps to production

01

Create your business account

Sign up at uip.digital and grab your API keys from the dashboard.

02

Send users to the session

Create a session with the steps you need, then hand the user its hosted URL — as a link or QR. Their wallet completes it on-device.

03

Receive the result

Get a signed webhook on every step — the verified claims and signatures land as they happen, in order.

04

Go live

Switch from test mode to production. You only pay for successful verifications.

Coverage

Which wallets do what.

Every primitive, every wallet, per country. Live support is read straight from the API.

WalletIdentifyAge verifySignLight sign
Apple Wallet
Live · US
Google Wallet
Live · US

Support is read live from the API — a session offers only wallets that can complete its whole chain.

Live now

Start building today.,

Create an account, grab your API keys, and ship your first primitive in an afternoon. Every new account gets $20 in launch credit.