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

# Hosting Web Wallet

![](/files/-M4MV0IVTia9YTPtGw_Q)

The Qwertycoin web wallet does everything client-side to give the best privacy to users. The API servers are currently only used to optimize the communication with the daemon and compress the blockchain.

## Install prerequisites

* You will need to install node.js and NPM (node's package manager) to compile the web wallet. For Linux (Ubuntu) enter the code below:

```
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
```

## Compilation

* Clone the repository:

```
git clone https://github.com/qwertycoin-org/webwallet-js.git
```

* Enter `webwallet-js` and run the following commands:

```
npm install
nodejs ./node_modules/typescript/bin/tsc --project tsconfig.json
nodejs build.js
```

The first line installs the required dependancies (typescript) and the second compiles the typescript code.

## Deployment

You can host the web wallet using Apache or Nginx. For this tutorial I will be using Apache.

* Install Apache

```
sudo apt-get update

sudo apt-get install apache2

sudo ufw allow 'Apache Full'
```

* Copy everything in the `src` directory to the html directory.

```
sudo cp -rf api.html config.ts lib/ service-worker-raw.js api.js d/ manifest.json service-worker-raw.ts api.ts index.html model/ translations/ assets/ index.js pages/ utils/ config.js index.ts providers/ workers/ /var/www/html
```

## Edit configuration

You will have to edit the file `src/config.ts` in order to change the API endpoint (point it to your daemon). Once that is complete you should now see the web wallet at your address like so:


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.qwertycoin.org/developer/hosting-web-wallet.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
