PTXPthe Platinum Experience · cloud-first development
Your whole dev machine, in the cloud.Nothing else changes.
One sentence to your coding agent moves your agents, logins and repositories onto a Platinum box. Every new terminal opens on it, its ports are on your localhost, and one box or thirty share one home.
01Tell your coding agent
›Set me up on PTXP: follow https://platinum.dev/ptxp/migrate.md
Paste it into Claude Code, Codex, opencode or pi. Your agent installs ptxp, signs you in with one click in the browser, agrees with you which projects move, then moves them and checks each one runs on your box.
02Or, without an agent
$curl -fsSL https://platinum.dev/ptxp/install.sh | sh && ptxp
one plan, one Enter, everything overridable · macOS and Linux · one static binary
Demoa recording of the flow
One command. Then every window is on your box.
Onboard, open a new window and land on the box, start a dev server and open it on localhost, then fork five more boxes on the same home.
~ — zshlocal
~ $
home · volume
~/.claude/
~/.claude.json
~/.codex/
~/.config/gh/
~/.gitconfig
~/.aws/
~/.zsh_history
ptxp
localhost:3000 is on main
forwarded from your box · click to open
http://localhost:3000
HMR connected
home
main
main-1
main-2
main-3
main-4
main-5
How it worksvolumes are the truth · compute is disposable
One home. N boxes. Your localhost.
Your identity lives on a home volume every box mounts. Each box’s whole disk is a volume too, so it survives anything and forks in seconds. The box is just compute.
┌──────────home───────────┐
│.claude.codex.config…│
└──┬──────┬──────┬──────┬───┘
┌─┴──┐┌─┴──┐┌─┴──┐┌─┴──┐
│main││-1││-2││…│
└────┘└────┘└────┘└────┘
/workoneach·forksdiverge
01
One home across every box
Your $HOME is one volume, mounted on every box: the same agent sessions, memory, logins, settings and Desktop. Log in once, on any box, and every box is logged in. Code lives on each box’s own fast disk, which a fork carries.
anewwindow
⌘N─▶zsh─▶ptxpattach
│
└─▶main/work›
everylineinyourscrollback
truecolor·OSC52·resize
02
Every terminal on your box
A shell hook opens each new window on the box, in the folder you were in, on a held shell whose every byte reaches your terminal: your own scrollback and search, no Esc delay, extended keys, truecolor, clipboard. A dropped connection comes back to the same shell, at the byte it lost.
boxmainthiscomputer
:3000══════▶localhost:3000
:5173══════▶localhost:5173
:8787══════▶localhost:8787
Hostkept·WebSocket·HMR
cookies·OAuthcallbacks
03
Ports on your localhost
Like VS Code Remote: whatever listens on the box is on localhost at the same port, with a notification. http://localhost:3000 printed on the box is clickable and opens the real app, hot reload included.
main›ptxplocalcpmac:~/x.
main›ghauthlogin
└─▶yourbrowser
main›ptxplocalcopy<out
└─▶yourclipboard
main›ptxplocalnotifydone
04
Your computer, from the box
The box reaches back over the same link: files you allowed, links that open in your local browser (gh auth login just works), the clipboard and notifications. No extra setup.
Identity
the home volume
Agent sessions, memory, logins, settings, skills, shell history, Desktop. Shared live by every box.
Machine
each box’s root volume
The OS, every dependency you install, /work. Forked for new boxes, saved as a versioned reference.
Compute
a microVM
Disposable. Stop commits every volume; start or fork on any host. Resize keeps your files and home.
What movesevery kind found moves · e or a flag holds one back
Your agents and your logins, working on day one.
ptxp scans this computer and shows one plan of everything it found; one Enter moves it. Agent memory comes too, re-keyed to the new paths, so claude --continue picks up where you left off. Claude Code, Codex, opencode, pi, gh, aws, node, bun, python, uv, git, tmux and zsh are already on the box.
●Desktopthe files on your Desktop (copied; yours stays)
Sessions arrive inside a history window (30 days by default). Repositories land on /work with the same HEAD and the same git status.
Numbersmeasured, not modelled
Measured from the client, on production.
Every ptxp operation records a timed event, and a benchmark runs the whole flow against the live platform. These are the latest run’s numbers, as measured.
p90 59 ms, p99 74 ms over 200 keys; the region’s RTT is 58 ms
9.0s
Onboarding to a working box
home volume, box key, home move, boot, setup; repos not included
0.6s
New window → prompt
on a running box, cached; 0.7 s for the first
6.2s
Scale to 3, in parallel
three boxes from main, every one running
› The whole run, phase by phase
Phase
Time
Detail
Onboarding total
9.0 s
boot 3.4 · setup 2.3 · home 2.2; no repos
Move suna
83.8 s
2,056 branches, 2,836 local-only commits; same HEAD and git status
Move platinum
14.7 s
Keystroke echo
57 ms
p50 · p90 59 ms · p99 74 ms · n = 200
New window → prompt
0.6 s
cached · 0.7 s the first
Fork one box
9.1 s
commit 4.5 s + boot 3.7 s
Scale 3
6.2 s
per box 3.9–5.3 s
Resize 4c/8g → 8c/16g
8.4 s
stop, resize, start
Start a stopped box
3.9 s
cold boot of its root volume
Home write → visible on another box
0.5 s
private mounts; 0.4–5.2 s over three runs
One run of verify/experience/bench.ts (ptxp 0.1.0, the Rust binary) against production, from Belgrade (region RTT 58 ms). Node share off: boxes see each other’s home after a sync.
Securityone plan · one yes
Your secrets go where you say, and nowhere else.
Moving a development machine means moving its keys. ptxp treats them as the most sensitive thing it touches.
Credentials in-process
Values are read by ptxp itself and uploaded through the volume files API. Never a command argument, a log line, a commit or a report.
A private home volume
Your home belongs to your organization. The link rides a token-gated private preview; the box gets its own scoped key, revoked by ptxp logout --everywhere.
One plan, one yes
Onboarding shows one plan: every kind it found and every repository secret by class, production-grade ones marked. One Enter approves it; e edits it, and every choice has a flag (--skip-prod keeps production secrets here).
A link policy you set
Which folders the box may read or write, whether it may open links or use the clipboard. Running commands on your computer is off by default. Every request carries a per-link secret.
#~/.config/platinum/link.json
#thedefault;ptxplinkchangesit
{"files":["~"],"write":true,
"write_files":["~/Desktop",
"~/Downloads"],
"open":true,"clipboard":true,
"exec":false}
FAQ
Common questions.
What is PTXP?›
The Platinum Experience: your development machine, on Platinum. One command moves your coding agents, logins and repositories onto a box. From then on every new terminal window opens on the box, its ports are on your localhost, and one box or thirty share one home.
Do I have to change how I work?›
No. A small block in ~/.zshrc opens each new interactive window on your box and falls back to a local shell on any failure. It stays out of SSH sessions, VS Code, Cursor and JetBrains terminals, tmux and agent subshells. PT_LOCAL=1 gives you a local shell any time.
Who guides the onboarding?›
Your own coding agent, if you have one: paste "Set me up on PTXP: follow https://platinum.dev/ptxp/migrate.md" into Claude Code, Codex, opencode or pi. It shows you one plan and does it on your yes. Without an agent, ptxp shows the same plan in the terminal: one Enter, and every choice can be changed with e or a flag.
What happens to my credentials?›
The plan lists every kind it found, and every repository secret by class (production-grade ones marked; --skip-prod keeps them here). Your one Enter approves them. ptxp reads the values in-process, never into a command argument, a log or a report, and uploads them through the volume files API to your home volume, which is private to your organization. The boxes get a key of their own, renewed every 30 days; ptxp logout --everywhere revokes it.
Can the box reach my computer?›
As far as ~/.config/platinum/link.json says: by default it reads your home, writes only to Desktop and Downloads, opens links in your browser, and shares the clipboard and notifications. Your Platinum login, ssh keys and anything that runs on its own (shell startup files, login items, git hooks) are never reachable, whatever the policy says. Running commands on your computer is off unless you turn it on. Every request carries a per-link secret.
What survives a crash?›
Everything. The box’s whole disk is a volume: stop and start, a lost host and a fork all keep every package you installed. Your home is its own volume, mounted on every box. ptxp save keeps the machine as a versioned reference that new boxes start from.
How many boxes can I run?›
ptxp scale N forks main N times, up to 30 and more, all on the same home. Your plan sets the ceiling: 30 boxes of 4 vCPU and 8 GB need tier 2 or above.
What does it cost?›
Platinum’s per-second prices while a box runs: $0.0324 per vCPU-hour and $0.0108 per GB of RAM-hour, so a 4 vCPU / 8 GB box is $0.216 per running hour. A stopped box costs only its disk.
What runs ptxp?›
One static binary for macOS (Apple silicon and Intel) and Linux (x86_64 and arm64). It needs no Node. The box runs the same binary.
Move inone plan · one Enter · everything overridable
Open a new window. It’s on your box.
Paste one sentence into your coding agent, or install ptxp and run it.
›Set me up on PTXP: follow https://platinum.dev/ptxp/migrate.md
$curl -fsSL https://platinum.dev/ptxp/install.sh | sh && ptxp