igrantio-verifier-frontendlisted
Install: claude install-skill L3-iGrant/skills
# iGrant.io verifier frontend (OpenID4VP + DCQL)
## When to use
Build the relying-party UI: request a verifiable presentation, let the user scan
a QR (or use the same-device wallet), and show the disclosed claims and the
`verified` decision the instant the wallet responds. Depends on
`igrantio-frontend-client` (vendored at `src/lib/ows/`) and an
`igrantio-verifier-backend` deployment. Issuer UI is a separate skill
(`igrantio-issuer-frontend`).
**Before you build**: run the integrator intake in `igrantio-ows-overview` - environment, API key, tenancy, backend host, webhooks, frontend - one question at a time, a recommended default with each.
## What it provides
- **`useVerification({ proxyBaseUrl, webhookBaseUrl })`** →
`{ status, qrUri, presentationExchangeId, result, error, requestPresentation, reset }`.
- `requestPresentation(payload)` - send a DCQL request; returns the full
`verificationHistory` (so you can also drive same-device DC API).
- `result`: `{ verified, claims, presentations }` once the wallet responds.
- `status`: `idle → waiting → verified | rejected` (or `error`).
- **`dcApi.ts`** - same-device Digital Credentials API helpers (`supportsDcApi`,
`invokeWallet`, `buildReceivePayload`).
- **`VerifierFlow`** - a minimal end-to-end demo component.
## Flow (what happens)
1. `POST …/verification/send` with `presentationDefinitionId` → read
`verificationHistory.presentationExchangeId` (SSE key) and
`verificationHistory.vpTokenQrCode` (QR URI). Op