← ClaudeAtlas

igrantio-holder-backendlisted

Build the backend for an EUDI Wallet / European Business Wallet HOLDER (the wallet side) against the iGrant.io Organisation Wallet Suite (OWS). A tenant-aware Node/TypeScript (Express) service that hides the organisation's API key behind a proxy scoped to holder endpoints - receive credential offers (OpenID4VCI wallet side, incl. transaction code, front-channel authorization code, and deferred issuance), manage held credentials, receive and answer verifier presentation requests (OpenID4VP + DCQL wallet side), holder configuration, wallet-unit status - and relays the holder notifications SSE stream. Use when an application must act as the wallet, receiving, holding, and presenting verifiable credentials.
L3-iGrant/skills · ★ 1 · API & Backend · score 75
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._