---
title: "Setup"
description: "Learn how to install and run the open-source version of the walt.id wallet 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/wallet/setup
generated: 2026-07-08
---
# 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/wallet-api
```
**2. Running the Docker Image**

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

```bash
docker run \
  -p 7001:7001 \
  -itv $(pwd)/waltid-services/waltid-wallet-api/config:/waltid-wallet-api/config \
  -itv $(pwd)/waltid-services/waltid-wallet-api/data:/waltid-wallet-api/data \
  -t waltid/wallet-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-wallet-api:publishImageToLocalRegistry
# image: waltid/wallet-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-wallet-api:publishImage
# image: docker.io/<DOCKER_USERNAME>/wallet-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 7001:7001 \
  -itv $(pwd)/waltid-services/waltid-wallet-api/config:/waltid-wallet-api/config \
  -itv $(pwd)/waltid-services/waltid-wallet-api/data:/waltid-wallet-api/data \
  -t waltid/wallet-api
```

## Create and Manage Wallets From Your Users

The wallet-api is up and running, start creating user wallets and to receive and present
credentials.

- [Onboard Users](https://docs.walt.id/community-stack/wallet/authentication/overview.md)
- [Receive Credentials](https://docs.walt.id/community-stack/wallet/credential-exchange/guides/accept-w3c-vc-oid4vci.md)
- [Present Credentials](https://docs.walt.id/community-stack/wallet/credential-exchange/guides/present-digital-credentials-oid4vp.md)
