Requirements
You do not need a GPU. You need a workstation to run the CLI, a Phala Cloud account for the confidential VM, a provider key for video generation, and a testnet hotkey the operator can verify.
#Accounts and keys
| You need | Why | Notes |
|---|---|---|
| Signed invitation from the operator | Binds your miner ID, hotkey, approved release and Phala request | Issued only after hotkey ownership is verified. Expires; renewal keeps everything except dates. |
| Miner token | Bearer credential for the coordinator | Delivered separately from the invitation, over a secure channel. ≥ 32 characters. |
| Phala Cloud account + API key | Hosts the tdx.small confidential VM | Fund it. Hosting bills hourly while the VM exists. |
Fal key (FAL_KEY) | Pays for the renders you serve | All 37 model contracts are Fal-hosted. Your key never leaves the enclave once activated. |
| Scoped registry credentials | Pull the private worker image from GHCR | Ask the operator. The reviewed boot script uses username pan196; never share an owner or admin token. |
| Testnet hotkey on subnet 566 | Reward recipient | Coldkey must differ from the subnet owner; see Testnet & wallets. |
#Local machine
- Linux or macOS. Windows file-permission semantics are not supported in this release.
- Node.js 22.13+ (22.x) and npm.
- A private directory for CLI state (
~/.config/everycliby default, mode 700). State is permission-protected, not encrypted at rest — use an encrypted disk or a restricted user account. - No
NODE_OPTIONS,NODE_EXTRA_CA_CERTS,NODE_TLS_REJECT_UNAUTHORIZED,DEBUGorPHALA_CLOUD_API_PREFIXin the environment; the CLI refuses to run with any of them set.
#The confidential VM
The invitation pins the exact Phala request, and the CLI refuses anything else:
| Setting | Value |
|---|---|
| Instance | tdx.small — Intel TDX, 1 vCPU, 2 GiB RAM |
| Disk | 20 GB |
| Guest OS | dstack-0.5.9 (hash-pinned; not a dev image, no GPU) |
| KMS | Phala |
| Worker image | ghcr.io/pan196/everyframe-subnet-worker@sha256:6313da5d… (release pilot-models-20260915-37) |
| Container | 768 MB, 1 CPU, read-only root, all capabilities dropped, 64 pids, only /var/run/dstack.sock mounted |
| Network | No published ports, no gateway, private logs and sysinfo, public TCB info |
Observed rate for tdx.small is about $0.058 per compute-hour plus storage. deploy and start require --max-hourly-usd and abort if the live rate is above it — the flag is a ceiling on the compute rate, not a spending cap.
#Credentials file
Create it with your editor, set mode 600, and keep it outside any source repository:
MINER_TOKEN=YOUR_OPERATOR_ISSUED_MINER_TOKEN
PHALA_CLOUD_API_KEY=YOUR_PHALA_KEY
FAL_KEY=YOUR_FAL_KEY
DSTACK_DOCKER_USERNAME=pan196
DSTACK_DOCKER_PASSWORD=SCOPED_READ_ONLY_REGISTRY_TOKEN#Budget expectations
- Hosting continues while you wait for admission review. There is no automatic shutdown.
- Each accepted job charges your Fal account at the provider's price. Reward targets are set to the Fal reference for the three live models today, so the serving fee target equals your provider cost before hosting and overhead — it is not profit. See Models & reward targets.
- The coordinator enforces a daily committed-spend cap on its side; a job above the cap is never admitted.