---
title: "Setup"
description: "Learn how to install and run the open-source version of the walt.id issuer API."
stack: "Community Stack (open source) — version 0.21.0"
stack_version: "0.21.0"
stack_comparison: https://docs.walt.id/community-vs-enterprise.md
canonical_url: https://docs.walt.id/community-stack/issuer/setup
generated: 2026-07-20
---
# Setup

## Installation & Running the Project

Make sure you have Docker installed on your machine.

### Option 1: Using Docker Pull

**1. Cloning The Identity-Repo**

First, clone the repository to your local machine:

```bash
git clone https://github.com/walt-id/waltid-identity.git && cd waltid-identity
```

**2. Pulling the Docker Image**

To quickly get started, you can pull the pre-built Docker image from Docker Hub:

```bash
docker pull waltid/issuer-api
```
**2. Running the Docker Image**

Once the image is pulled, you can run it using the following command:

```bash
docker run -p 7002:7002 \
  -itv $(pwd)/waltid-services/waltid-issuer-api/config:/waltid-issuer-api/config \
  -t waltid/issuer-api
```

### Option 2: Building the Image Yourself

**1. Cloning The Identity-Repo**

First, clone the repository to your local machine:

```bash
git clone https://github.com/walt-id/waltid-identity.git && cd waltid-identity
```

**2. Building the Docker Image**
If you prefer to build the Docker image yourself, use the Gradle Ktor/Jib tasks:

```bash
# Development (local Docker daemon, single-arch)
./gradlew :waltid-services:waltid-issuer-api:publishImageToLocalRegistry
# image: waltid/issuer-api:<version>
```

```bash
# Production (multi-arch push to your registry)
export DOCKER_USERNAME=<your-dockerhub-namespace>
export DOCKER_PASSWORD=<your-dockerhub-token>
./gradlew :waltid-services:waltid-issuer-api:publishImage
# image: docker.io/<DOCKER_USERNAME>/issuer-api:<version>
```

Note: multi-arch images require a registry push. Local tar output is single-arch only.

**3. Running the Docker Image**
After building the image, run it using (adjust the image name if you pushed to your registry):

```bash
docker run -p 7002:7002 \
  -itv $(pwd)/waltid-services/waltid-issuer-api/config:/waltid-issuer-api/config \
  -t waltid/issuer-api
```

## Start Issuing Credentials

Now that the issuer api is running, you can start issuing credentials.

- [How to Issue W3C Verifiable Credentials (JWT / SD-JWT) via OID4VCI](https://docs.walt.id/community-stack/issuer/credential-issuance/vc-oid4vc.md)
- [How to Issue SD-JWT-based Verifiable Credentials (IETF | SD-JWT VC) via OID4VCI](https://docs.walt.id/community-stack/issuer/credential-issuance/sd-jwt-vc-oid4vc.md)
- [How to Issue Mobile Driver’s Licenses (ISO/IEC 18013-5 MDLs) via OID4VCI](https://docs.walt.id/community-stack/issuer/credential-issuance/mdl-oid4vc.md)
- [Full API Reference](https://issuer.demo.walt.id/swagger/index.html)
