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

# Delegate a Licensed Mining Node

This page follows a delegation-first model:

* Your main wallet (holds AULT and licenses) stays offline from miner infrastructure
* A separate operator wallet runs the miner
* You delegate mining rights to that operator wallet
* Rewards still remain attributable to license holders
* You can undelegate at any time

## Prerequisites

* Fly.io account with `flyctl`
* Access to Ault testnet or mainnet
* One or more licenses in your main wallet
* `aultd` CLI for delegation transactions

## Quick Start (Fly.io)

### 1) Clone and launch

```bash theme={null}
git clone https://github.com/Ault-Blockchain/ault-mining-node.git
cd ault-mining-node
fly launch --no-deploy
```

### 2) Deploy

```bash theme={null}
fly deploy
```

The miner auto-generates an operator wallet and VRF key in auto mode.

### 3) Get operator address

```bash theme={null}
curl https://<your-app>.fly.dev/v1/operator
```

Copy `OperatorAddress` from the response.

### 4) Delegate licenses from your main wallet

```bash theme={null}
# Query your owned licenses
aultd q license owned-by <your-main-wallet-address> \
  --node https://test-rpc.cloud.aultblockchain.xyz

# Delegate licenses to operator
aultd tx miner delegate-mining <operator-address> <license-id-1> <license-id-2> ... \
  --from <your-main-wallet> \
  --node https://test-rpc.cloud.aultblockchain.xyz \
  --chain-id ault_10904-1 \
  --gas 200000 --gas-prices 10000000aault -y
```

### 5) Verify that mining has started

```bash theme={null}
fly logs
curl https://<your-app>.fly.dev/v1/status
```

After delegation, the miner detects licenses, registers VRF key, and starts mining.

## Undelegate if needed

```bash theme={null}
aultd tx miner undelegate-mining <operator-address> <license-id-1> <license-id-2> ... \
  --from <your-main-wallet> \
  --node https://test-rpc.cloud.aultblockchain.xyz \
  --chain-id ault_10904-1 -y
```

## Useful checks

```bash theme={null}
# Check delegated licenses for an operator
aultd q miner delegated-licenses <operator-address> \
  --node https://test-rpc.cloud.aultblockchain.xyz
```

## API endpoints (operator app)

* `GET /health`
* `GET /v1/operator`
* `GET /v1/status`
* `GET /v1/submissions`
* `GET /v1/rewards?license_id=X`

## Multi-replica note

Auto mode is single-replica only because keys are generated per volume. For multi-replica deployments, use shared operator/VRF keys via secrets so replicas mine for the same operator address.
