grid.sh  —  tty/04  ·  132 × 47  ·  utf‑8
online build 0xC0FFEE --:--:-- UTC
root@grid.sh:~$ cat /etc/motd
   __ ____ __ ___ ____    ____ __ __
  / ____\/  \/  /  _  \  / ___| _ |
 / /__ / /\  /\ / / | \  \___ \|_||
/ ____ \_/_/\__\\\_/  |_/ |____/(_)(_)
                                   v9.4

compute/by the second,
scripted.

grid.sh is infrastructure-as-a-shell-script. No console. No drag-and-drop dashboards. You write one file, you pipe it to one binary, and a fleet of machines wakes up exactly long enough to do what you asked — then bills you in seconds, not hours.

you@local:~$ echo "spin up 40 boxes in tokyo, terminate after the job exits" | grid up -
01

a session, transcribed.

/var/log/grid/sample.tty
you@local:~$ grid up ./batch.gridfile --region tyo,fra --hold-on-error ↳ parsing ./batch.gridfile … ok ↳ resolving regions [tyo, fra] … 2 reachable ↳ requesting 40 × cpu-medium across [tyo:24, fra:16] ↳ provisioning … [████████████████████] 100% in 4.8s fleet f.0x9c3a warm · 40/40 boxes ready
stdout, multiplexed:
[tyo-07] processing shard 18 of 240 …
[fra-02] processing shard 19 of 240 …
[tyo-12] processing shard 20 of 240 …
… 237 lines suppressed (use --tail to follow)
↳ job batch.gridfile finished in 2m 41s ↳ tearing down fleet f.0x9c3a … released $ billed: 6,440 box-seconds · $1.07 · receipt #2026‑05‑25/3018 # one file. one command. one bill. -- the way you wanted it.   you@local:~$
02

the manual, abbreviated.

$ man grid  ·  section 1
GRID(1)UP · spin

grid up

grid up <gridfile> [--region r,..] [--hold] [--tail]
nameLift a fleet from a single, declarative file.
descriptionReads a gridfile, requests boxes, runs your command across them, streams stdout to your terminal, then disappears. The fleet exists for as long as your job exists, no longer.
exits0 on clean teardown · 2 on partial failure · 17 if you forgot --region.
GRID(1)WATCH · stream

grid watch

grid watch <fleet-id> [--filter expr] [--since 1m]
nameTail a fleet without becoming its parent process.
descriptionMultiplexed stdout/stderr from every box, filterable by region, host, or arbitrary expressions. Survives your laptop closing. The fleet doesn't die when you leave.
see alsogrid attach(1), grid logs(1), tmux(1).
GRID(1)SCALE · resize

grid scale

grid scale <fleet-id> --to N [--in-region r]
nameGrow or shrink a running fleet without restarting the job.
descriptionAdds or releases boxes, redistributes work shards across the new shape, and keeps the global ordering of your output stream intact. Bills only the actual delta, by the second.
caveatShrinking past --min-quorum aborts in‑flight shards. Use --drain instead.
GRID(1)DOWN · release

grid down

grid down <fleet-id> [--force] [--receipt]
nameRelease a fleet, finalize the bill, mail you a receipt.
descriptionStops every box, persists final logs to /var/log/grid/<fleet-id>, and emits a signed receipt to your default address. Idempotent. Safe to retry.
noteFleets self‑terminate after their parent job exits. grid down is for when you panic.
03

pricing, as flags.

$ grid plans --help
--plan fleet shape · what you get
--plan=hobbyscratch · weekend
For tinkering, side projects, that one cron job that runs on Sundays.
  • up to 4 boxes per fleet, single region
  • shared cpu · 4 GiB · ephemeral disk
  • no SLA · best-effort scheduling
cold-start~ 1.2s
egress50 GiB/mo
supportdiscord
$0.0004per box-second
--plan=workshopteams · always-on
Shared fleets, audited gridfiles, a private rack if you'd like one.
  • unlimited fleet size · reserved capacity
  • gpu boxes (a100, h100) on request
  • 99.99% SLA · phone support · named engineer
cold-startwarm pool
egressby note
support+ phone
talkbilled monthly

All prices in USD. Boxes are billed in whole seconds, rounded up, with a 1‑second floor. No minute‑rounding, no “activation fees,” no surprise egress invoices — we hard‑cap and ask.

04

fleet status, right now.

/proc/grid/health · poll 14s
FRA · 03
198 ms
p50 · 412 ms p99 · load 41%
AMS · 07
204 ms
p50 · 380 ms p99 · load 28%
LHR · 02
212 ms
p50 · 488 ms p99 · load 57%
TYO · 04
311 ms
p50 · 902 ms p99 · maint. 03:00
SIN · 01
241 ms
p50 · 514 ms p99 · load 33%
SFO · 09
188 ms
p50 · 402 ms p99 · load 49%
GRU · 02
— —
offline · failover armed → SCL‑01
SYD · 03
221 ms
p50 · 510 ms p99 · load 31%
/usr/local/bin/grid — single static binary · 8.4 MiB · no deps

one binary.
one bill.
a fleet, on demand.

$ curl grid.sh | sh
macOS · linux · openbsd · wsl  ·  sha256 verified · signed by @grid-sh