# ArcBlast Launch CLI Integration Guide

`arcblast-launch` is the agent-facing ArcBlast launch CLI. It runs on Python 3.9+ with the standard library. Version `0.3.0` supports local unsigned transaction preparation for Arc Testnet and API preparation for Arc Mainnet.

## Safety boundary

- The CLI prepares unsigned transactions by default. It does not read keys, sign, or broadcast.
- Agents must show `to`, `data`, `value`, and every `risk` entry before handing transactions to a wallet or external signer.
- `tokens prepare --network testnet` requires no SIWE session.
- Mainnet preparation and media upload require a SIWE session.

## Install

```bash
curl -fsSLO https://boooooom.shop/cli/arcblast_launch_cli.py
python arcblast_launch_cli.py --version
```

Only `auth login` needs the optional `eth-account` package. All commands accept `--json` anywhere.

## Arc Testnet launch

Testnet constants: chain ID `5042002`, RPC `https://rpc.testnet.arc.io`, factory `0xae4592D1E85AE907354292346DD3e35f614F85d7`, and USDC `0x3600000000000000000000000000000000000000`.

```bash
python arcblast_launch_cli.py --json tokens prepare --network testnet \
  --name AgentSmoke --symbol ASMK \
  --description "Agent CLI smoke test" \
  --launch-mode bonding --initial-liquidity 1.25 \
  --user-salt 0x0000000000000000000000000000000000000000000000000000000000000001
```

For non-zero liquidity, send the returned transactions in order: first `approve` USDC to the factory, then `createToken`. With zero liquidity, only `createToken` is returned. The current Testnet factory uses the deployed legacy-compatible 10-argument ABI with selector `0x4ba21e19`.

## Mainnet preparation

```bash
python arcblast_launch_cli.py auth message --address 0x<address> --json
python arcblast_launch_cli.py auth verify --message "<exact message>" --signature 0x<signature>
python arcblast_launch_cli.py --json tokens prepare \
  --name "My Token" --symbol MTK --description "One-liner" \
  --launch-mode bonding --initial-liquidity 100
```

The Mainnet command only returns an unsigned transaction; the CLI does not broadcast it.

## Validation and vanity suffixes

Names are 1–64 characters, symbols are 1–12 ASCII alphanumeric characters, descriptions are 1–280 characters, and liquidity supports up to 6 decimal places. Testnet salts are 32-byte hex values. EVM addresses only contain `0-9a-f`; `b000000` is a valid seven-character target, but averages about 268 million salt attempts and is not searched automatically.

## JSON response

```json
{"ok":true,"schema":"arcblast.launch-cli/v1","version":"0.3.0","data":{}}
```

Errors exit with code `1` and return `ok: false`.
