<!-- https://zunderlabs.com/docs/start/go-live · Markdown version of the page -->

# From paper to mainnet

Verify your Guard, activate your plan, then explicitly enable mainnet on a supported host.

## 1. Prove the route in paper and testnet

[Install Guard](https://zunderlabs.com/connect#guard), point your bot at it and complete the [paper quickstart](https://zunderlabs.com/docs/start/quickstart). Inspect both an allowed decision and a refusal, confirm your limits and check the kill switch. Testnet lets you verify exchange execution and resting stops with test funds.

AWS launches install in **paper mode**. Open the stack's `ConsoleShell` output and use `PairPaper` to create your bot key and browser pairing code privately, then restart as instructed. A successful CloudFormation stack means the service health check passed; it does not mean your bot is connected or mainnet is active.

## 2. Prepare the plan you chose

### Pay per order

Guard charges a **0.02% builder fee on the value of mainnet orders it sends**. Your main wallet approves that fee once on the [fee approval page](https://zunderlabs.com/approve). Read the network, builder and rate before signing. Paper and testnet remain free.

An approval on testnet does not approve a mainnet fee. If mainnet is unavailable on the approval page, the live pay-per-order route is not ready there. The design preview uses testnet payments and approval only; use the released production site for a real mainnet approval.

Without a valid flat licence or the required fee approval, Guard refuses new mainnet entries; closing orders remain available.

### Pro or Fund

[Buy for your public account addresses](https://zunderlabs.com/licence) and keep the signed key ready. Complete any network reconfiguration below **before** [installing the key in Guard](https://zunderlabs.com/docs/start/licence): guided setup with `--force` replaces the config and can remove a previously activated licence.

Your licence changes Guard's fee, not the network or your risk limits. Venue fees still apply.

## 3. Use a host that supports your mainnet setup

For an automatically restarting mainnet service, use **Linux with systemd 250 or newer and `systemd-creds`**, such as the AWS Ubuntu host or a suitable server you access over SSH. The installer requires encrypted credentials for this path.

**Native Windows supports paper and testnet.** For a bot on Windows or macOS, use a supported Linux host for the managed mainnet Guard and connect over a private, authenticated route. Guard's loopback address is local to its host; another computer cannot reach it without that connection. See [deployment options](https://zunderlabs.com/docs/deploy).

## 4. Activate deliberately on your host

Stop your bot before changing modes. If replacing an existing paper installation, follow the installer’s reconfiguration instructions: it replaces client pairings, so reconnect your bot with the newly issued client key. Preserve the state directory and journals.

For an AWS bootstrap installation, the stack's `NextStep` output gives the versioned installer and its checksum, followed by the explicit command to stop Guard and reconfigure it. Read its replacement warning first. If setup fails, the service stays stopped.

In guided setup, enter `mainnet` in full, confirm the public account and provide the API wallet key privately on the host. On first setup, when no mainnet journal exists, the installer leaves the service stopped and prints the account-specific journal and start instructions. **With an existing mainnet journal, reconfiguration can restart the service immediately.** Keep your bot stopped until all checks below are complete. Do not reset an existing journal to clear a risk halt.

## 5. Verify the plan, then start your bot

For Pro or Fund, install or reinstall the emailed licence in the final config, restart as described in the [activation guide](https://zunderlabs.com/docs/start/licence), and inspect the `fee` object in `/guard/status`: `"mode":"fee_free"` confirms activation. A payment receipt or healthy process alone does not. For pay per order, verify your fee approval on the actual mainnet account.

Verify the configured network, account, limits, fee mode and service status before starting your bot. Mainnet uses real funds and its own journal. Guard never promotes paper or testnet to mainnet automatically.

[Network and journal details](https://zunderlabs.com/docs/concepts/networks) · [Licence activation](https://zunderlabs.com/docs/start/licence) · [Return to setup](https://zunderlabs.com/connect#guard)
