Heka Identity Service is a reference implementation of a server-side Decentralized Identity application supporting Hiero / Hedera ledger that provides services for issuing and verifying credentials based on the Credo Framework JavaScript and DSR SSI Toolkit. It uses Hiero Ledger for storing DIDs, schemas and credential definitions. The solution is designed as a multi-tenant system, meaning that a single instance of Identity Service can serve multiple agents. When an agent requests access to the system, a unique wallet is created for that agent. This approach provides a scalable and efficient solution for managing multiple agents within the same system.
The service is configured via environment variables. The full reference (~30 variables across HTTP server, agent transports, persistence, JWT, ledger / DID methods, mDoc, logging, and health) lives in Setup — Environment Variables. The most commonly customized are:
JWT_SECRET,JWT_VERIFY_OPTIONS_ISSUER,JWT_VERIFY_OPTIONS_AUDIENCE— must align with the Heka Auth Service.HEDERA_OPERATOR_ID,HEDERA_OPERATOR_KEY,HEDERA_NETWORK— see Hedera Integration.MIKRO_ORM_HOST,MIKRO_ORM_PORT,MIKRO_ORM_USER,MIKRO_ORM_PASSWORD,MIKRO_ORM_DATABASE— application database connection.DID_METHODS— comma-separated list of enabled DID methods (defaultindy,key,hedera).
Getting Started
- Setup and Configuration — install, configure, and run the service locally or in Docker
- Concepts and Glossary — roles, multi-tenancy, core abstractions, credential formats
- Demo flow — end-to-end AnonCreds issuance and verification example
How-To Guides
- How to Issue an SD-JWT VC — Basic example flow for OID4VCI-based issuance with SD-JWT format
- Verification via the Digital Credentials API — browser-mediated OpenID4VP
dc_apiverification, same-device and cross-device - Local Configuration for Heka Wallet Integration — exposing a local instance to the mobile wallet
Integration
- Hedera Integration — operator credentials, network selection, what gets written on-chain
- Heka Identity Service API — REST API and webhook / WebSocket notifications
We recommend reading Setup and Configuration first to get a working instance, then Concepts and Glossary to orient yourself in the model. From there, Demo flow walks through a complete example, and the how-to guides cover format-specific issuance.