igrantio-holder-frontendlisted
Install: claude install-skill L3-iGrant/skills
# iGrant.io holder frontend (wallet portal)
## When to use
Build the holder-side portal a customer's users see: the organisation's
wallet that receives, holds, and presents credentials. Ships the complete
flow logic and reference views so an integrator scaffolds a working portal
first and restyles it after. Depends on `igrantio-frontend-client` (vendored
at `src/lib/ows/`) and an `igrantio-holder-backend` deployment; the exact
endpoint contract is in `igrantio-api-holder` and
`igrantio-holder-backend/references/holder-api-reference.md`. Issuer and
verifier UIs are separate skills.
**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. (Webhooks: not needed - the holder runs on the notifications stream. Additionally ask: full `HolderPortal` scaffold or individual views, and default look (`igrantio-usecase-ui`) or the integrator's design system.)
## What it provides
- **`holderClient.ts`** - typed client for every holder endpoint (receive /
user-pin / exchange-code / receive-deferred / accept / configure /
reissuance / revocation-status / list / delete; v3 presentation
receive / read / send / list + v2 filter / delete; wallet-unit status).
- **`shareSelection.ts`** - the pure DCQL selection engine: pre-flight
validation ("Requested data is not present in holder"), required-first
step ordering, OPTION groups with "None", cl