igrantio-holder-backendlisted
Install: claude install-skill L3-iGrant/skills
# iGrant.io holder backend (wallet side: receive, hold, present)
## When to use
Build or extend the server that a **holder** (wallet) frontend talks to - the
organisation is the wallet that receives and presents credentials, e.g. a
European Business Wallet. It composes `igrantio-backend-proxy` (holder
allow-list) + the `igrantio-holder-notifications` SSE relay. For the other two
roles use `igrantio-issuer-backend` / `igrantio-verifier-backend`. Read
`igrantio-ows-overview` first; the exact holder endpoint contract lives in
[`references/holder-api-reference.md`](./references/holder-api-reference.md).
## Prerequisites
- An **iGrant.io Organisation Wallet Suite (OWS) API key**. Get it from
[support@igrant.io](mailto:support@igrant.io). Keep it on the server, in
an environment variable or a secret manager. The browser never sees it.
- The **OWS environment** the key belongs to. The default is **demo**
(`https://demo-api.igrant.io`). Use **staging**
(`https://staging-api.igrant.io`) only when the integrator asks for it.
A key works only in its own environment.
## Ask the integrator first
Ask one question at a time. Wait for the answer. Give the recommended
default with each question. Look up facts in the project (framework,
environment variables, an existing backend) instead of asking for them.
Record the answers before you write code.
1. **Environment** - demo or staging? _Default demo
(`https://demo-api.igrant.io`); a switch later is a configuration
change._