> For the complete documentation index, see [llms.txt](https://docs.fast.poker/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fast.poker/for-operators-dealer-service/quickstart.md).

# Quickstart

The minimum setup to run the packaged Dealer Service binary.

## Prerequisites

* The current Dealer Service binary from [github.com/FastPoker/dealer-service](https://github.com/FastPoker/dealer-service/releases).
* A funded dealer wallet for L1 transaction fees.
* Reliable Solana RPC access.
* Access to the configured MagicBlock / TEE endpoint.

## Install

Binaries for every platform are attached to each [release](https://github.com/FastPoker/dealer-service/releases): `dealer-linux-x64`, `dealer-linux-arm64`, `dealer-darwin-x64`, `dealer-darwin-arm64`, and `dealer-windows-x64.exe`.

Download it into its own folder, verify the published checksum, and make it executable (Linux x64 shown):

```bash
mkdir my-dealer && cd my-dealer
curl -L -o dealer https://github.com/FastPoker/dealer-service/releases/latest/download/dealer-linux-x64
curl -L -O https://github.com/FastPoker/dealer-service/releases/latest/download/SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS
chmod +x ./dealer
```

## Configure

Run the first-time setup wizard:

```bash
./dealer init
```

The wizard creates `.env` next to the binary and can generate or import the dealer wallet into `data/keypair.json`. Fund the printed wallet address with SOL for transaction fees.

Runtime files live beside the binary:

| File                        | Meaning                                                           |
| --------------------------- | ----------------------------------------------------------------- |
| `.env`                      | Dashboard host, dashboard login, RPC endpoints, and keypair path. |
| `data/keypair.json`         | Dealer wallet when generated or imported by `./dealer init`.      |
| `data/crank-config.json`    | Hot-reloadable crank configuration.                               |
| `data/crank-control.json`   | Stop and restart commands.                                        |
| `data/crank-heartbeat.json` | Liveness, table counts, and current runtime state.                |
| `data/crank-metrics.json`   | Aggregated transaction counts, fees, and label stats.             |

The crank creates `data/crank-config.json` with defaults on first start. You can edit it directly or use the dashboard configuration screen. A compact example:

```json
{
  "l1_rpc": "https://your-solana-rpc.example",
  "tee_rpc": "https://your-magicblock-tee-rpc.example",
  "table_filter_mode": "none",
  "sng_pool_filter_mode": "none",
  "crank_sng": true,
  "crank_cash": true,
  "process_cashouts": true,
  "timeout_enabled": true,
  "rake_sweep": false
}
```

Run `./dealer config-options` or see [Configuration](/for-operators-dealer-service/config.md) for the public configuration surface.

## Run

Start dashboard and crank together:

```bash
./dealer start
```

The dashboard listens on `http://127.0.0.1:3847` by default.

Other runtime modes:

```bash
./dealer ui      # dashboard only
./dealer run     # crank only
```

## Verify

Use the CLI:

```bash
./dealer status
./dealer earnings
```

Or inspect the runtime files:

| File                        | Meaning                                               |
| --------------------------- | ----------------------------------------------------- |
| `data/crank-heartbeat.json` | Liveness and table counts.                            |
| `data/crank-metrics.json`   | Aggregated transaction counts, fees, and label stats. |
| `data/.crank.pid`           | Current crank process ID.                             |

## Run as a service

The packaged binary can install itself as a managed service:

```bash
./dealer service install
./dealer service status
./dealer service logs
./dealer service restart
./dealer service stop
./dealer service uninstall
```

Linux uses systemd, macOS uses launchd, and Windows uses the Service Control Manager. Add `--system` for a system-wide service or `--name <name>` for a custom service name.

## Stop

For a foreground process, use the normal process signal. For a managed service, run `./dealer service stop`. The crank child is shut down before the parent process exits.

## Earn

Running the software is permissionless. Claiming dealer revenue requires a Dealer License.
