> ## Documentation Index
> Fetch the complete documentation index at: https://etherspot.fyi/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

<Card title="Skandha Bundler" icon="github" href="https://github.com/etherspot/skandha">
  Checkout Skandha bundler code on GitHub
</Card>

## Run from Source Code

Run with one-liner:

```bash theme={null}
curl -fsSL https://skandha.run | bash
```

Or follow steps below:

```bash theme={null}
git clone https://github.com/etherspot/skandha && cd skandha
yarn build && yarn bootstrap
cp config.json.default config.json
edit config.json
(optional) run local geth-node from test/geth-dev
./skandha standalone
```

Skandha will run for chain specified in config.json

The bundler will be available at [http://localhost:14337/rpc](http://localhost:14337/rpc)

## How to run (a Docker image)

```bash theme={null}
cp config.json.default config.json

edit config.json

docker build -t etherspot/skandha .

docker run --mount type=bind,source="$(pwd)"/config.json,target=/usr/app/config.json,readonly -dp 14337:14337 etherspot/skandha standalone
```

## Additional features

**Unsafe mode** - bypass opcode & stake validation

**Redirect RPC** - Redirect ETH rpc calls to the underlying execution client. This is needed if you use UserOp.js

***CLI Options***

**--unsafeMode** - enables unsafeMode

**--redirectRpc** - enables redirecting eth rpc calls

**--executor.bundlingMode manual|auto** - sets bundling mode to manual or auto on start. Default value is auto

**--api.ws true|false** - enables / disables websocket server. Default is true

**--api.wsPort number** - sets websocket service port. Default is the same as api.port
