> For the complete documentation index, see [llms.txt](https://docs.zerowallet.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zerowallet.org/running-the-docker-service.md).

# Running the docker service

This is the Zerowallet backend service that is responsible of [How does Zerowallet work?](/how-does-zerowallet-work.md#authentication) and executing transactions on-chain.

### 1 - Clone this repo and cd into it

```
git clone https://github.com/questbook/zero-wallet-backend-service.git
cd zero-wallet-backend-service
```

### 2 - Fill in the config.sample.yaml file with your own config and rename it to config.yaml

Follow instructions [here](/configuring-the-yaml-file.md) in order to fill the `config.yaml` file.

### 3 - Build the docker image:

```
docker build . -t zero-wallet-backend-service
```

### 4 - Then run the container:

```
docker run --network=host zero-wallet-backend-service
```

### Server endpoints

This service exposes several API endpoints to be used in the frontend part, note that you should only change \<DOMAIN> to the domain where you're deploying the service.

```typescript
nonceProvider : http://<DOMAIN>/api/auth/getNonce
nonceRefresher : http://<DOMAIN>/api/auth/refreshNonce
authorizer : http://<DOMAIN>/api/auth/authorize
gasStation : http://<DOMAIN>/api/tx/send
transactionBuilder : http://<DOMAIN>/api/tx/build
scwDeployer : http://<DOMAIN>/api/tx/deploy
```
