The Issuer-Agent is a backend service that enables the creation, issuance, and on-chain anchoring of Verifiable Credentials (VCs) using the CORD blockchain. It follows the W3C Verifiable Credentials standards to ensure security, interoperability, and decentralization. This service is built using Node.js and exposes a set of APIs to interact with credentials and registries.
- Credential Issuance: Issue cryptographically signed Verifiable Credentials compliant with W3C standards.
- Blockchain Anchoring: Anchor credential hashes on the CORD blockchain for tamper-evidence.
- Decentralized Identity Support: Built-in DID management and integration with the CORD identity layer.
- Swagger Docs: Explore and test API endpoints via an interactive Swagger UI.
Make sure the following are installed on your system:
- Node.js (v18+ recommended)
- Yarn
- Docker
- Docker Compose
git clone https://github.com/dhiway/issuer-agent.git
cd issuer-agentyarn installyarn create:stash-accountThis will generate a stash account with a mnemonic phrase. Save the phrase securely and add it to your environment variables.
Create a .env file in the root directory:
STASH_ACC_MNEMONIC="your twelve word mnemonic phrase"Ensure your stash account is funded. You can contact Dhiway for testnet funds if needed.
- Build the Docker image
docker build . -t dhiway/issuer-agent:latest -f Dockerfile- Start the service
docker compose up -dyarn devAccess interactive documentation at:
https://dhiway.github.io/dhiway-api-docs/issuer-agent
Import the postman_collection.json file provided in the repo to quickly test APIs with pre-configured requests.
POST /profile→ Create and link a profilePOST /registry→ Anchor the credential hash and schema to the blockchainPOST /credential/issue→ Issue a Verifiable Credential
Note: There is no standalone schema creation API. Schemas are passed as part of the registry creation or credential issuance payload.
- Create Profile: Register an entity (person/org) to issue credentials.
- Create Registry: Define and anchor the credential structure and metadata to the blockchain.
- Issue Credential: Generate a VC using the created profile and registry.
- Verify: Use public chain data and cryptographic signatures to validate.
For advanced use cases or integrating directly with the blockchain:
-
GitHub: [https://github.com/dhiway/cord.js]
-
Features:
- DID management
- Credential creation & verification
- On-chain registry access
- Signing utilities
┌──────────────┐ ┌───────────────┐ ┌────────────────────┐
│ Client App ├────>│ Issuer-Agent ├────>│ CORD Blockchain │
└──────────────┘ └───────────────┘ └────────────────────┘
│
▼
┌───────────────┐
│ VC Storage │
└───────────────┘
We welcome contributions to the Issuer-Agent! Follow these steps:
- Fork the repo
- Create a new feature branch
- Commit and push your changes
- Submit a pull request with a clear description
For technical support or help funding your stash account:
- Website: https://dhiway.com
- GitHub: https://github.com/dhiway