Authbound gives your application a clean way to verify users with EU Digital Identity Wallet credentials and issue OpenID4VC credentials from your own business data. Use the SDKs for the fastest integration. Use the REST API when you need full control.

Verify users

Create wallet verification flows for age gates, identity checks, residency checks, and other policy-based access decisions.

Issue credentials

Define credential templates, map your records into claims, and create OpenID4VCI wallet offers.

Start building

Start with the quickstart hub. Choose identity verification or credential issuance, then open the guide for your stack.
1

Choose what you are building

Identity verification asks a wallet to prove claims. Credential issuance gives a wallet a credential.
2

Add one server-side integration point

Use your secret key from a server route, server action, worker, or backend service.
3

Render or return the wallet handoff

Verification flows show a QR code or mobile deep link. Issuance flows return an OpenID4VCI offer URI.
4

Persist the result

Use webhooks, signed results, or your own server-side records before changing user access.

Keys and environments

Authbound uses separate keys for browser and server code.
Never expose a secret key in browser code. Use a server route to create verifications and issuance offers.

What each call returns

Authbound has two main server flows. Their responses are easy to confuse, so this is the short version: Track the final outcome with webhooks for verification or by polling openId4Vc.issuance.get(id) for issuance.

Public API

All public API calls use:
Server-side SDKs use this origin by default. If you configure an override for local development, keep production pointed at https://api.authbound.io.

When something goes wrong

See Troubleshooting for the most common errors when wiring up Authbound for the first time, including invalid_key_format, credential_definition_not_found, and 409 Conflict on duplicate definitions.