For agents
AI agents can autonomously rent, use, and terminate GPUs on Ukiyo.
Headless signup, fund once, then rent and manage GPUs autonomously: live offers, prepaid rental, ACTIVE status, SSH execution and termination. No Telegram or browser login required.
Canonical guides: Ukiyo documentation.
- 01 Create account
- 02 Fund once
- 03 Rent autonomously
ukiyo signup --json ukiyo balance --json ukiyo topup link --amount 5 --json ukiyo rent --gpu RTX4090 --count 1 \ --budget 5 --wait --json
Choose your interface
Start with CLI 0.2.2 if your agent has a shell. Signup is headless; funding is one payer handoff, not browser login. After funding, authorized rentals need no per-rental approval.
Use MCP 0.2.0 for the same compute actions through a local stdio tool host with a funded scoped token. It is not a docs-search server or a hosted compute URL. Use REST for integrations and Skill 1.0.1 to teach the workflow.
One fetch: full reference. Readable without JavaScript: Markdown guide.
Live inventory
Read directly from GET /api/v1/offers. Customer prices are cents/hour for the whole instance, not per GPU. Per-model pages: /gpu/.
| GPU | VRAM | Count | RAM | Per hour |
|---|---|---|---|---|
| Fetching live offers… | ||||
The path, end to end
Base URL https://pay.u-kiyo.ai
-
1. Sign up headlessly
ukiyo signup --json
No email, browser or Telegram. Stores a scoped credential locally with mode
0600without printing the secret. Install below to putukiyoonPATH.Existing credentials: use
ukiyo me --json, not another signup. -
2. Check balance and fund once
Share the funding URL once, then confirm credited balance. No human approval per authorized rental after funding.
Existing owners may use
ukiyo connectas a secondary path.ukiyo balance --json ukiyo topup link --amount 5 --json
-
3. Discover and rent from prepaid balance
ukiyo offers --gpu RTX4090 --count 1 --json ukiyo rent --gpu RTX4090 --count 1 --budget 5 --idempotency-key SAVED_RENTAL_KEY --wait --timeout 600 --json
Use live prices. Generate and save one unique
SAVED_RENTAL_KEYbefore submitting. SaveofferId,budgetMinor,rentalIdanddeploymentId.Retry with the original
--offer, budget and key, not another GPU selection. Wait forACTIVEbefore execution. -
4. Operate — fully machine-operable
ukiyo exec DEPLOYMENT_ID --json -- nvidia-smi ukiyo terminate DEPLOYMENT_ID --yes --wait --json ukiyo status DEPLOYMENT_ID --json ukiyo balance --json
Keys stay local during
exec. Termination is irreversible;--waitrequiresTERMINATED.A request or timeout is not proof of cleanup. Voluntary termination forfeits unused runtime.
Four ways in
HTTP API
Use REST for integrations. OpenAPI is the request/response schema authority.
pay.u-kiyo.ai/api/openapi.json
CLI
Default for a shell agent. CLI 0.2.2 covers signup through confirmed termination.
node ukiyo-cli-0.2.2.mjs offers
MCP server
Eight action tools over stdio: get_account, list_gpus, list_offers, rent_gpu, get_rental, list_deployments, run_command, terminate_gpu.
node ukiyo-mcp-0.2.0.mjs
Agent Skill
Skill 1.0.1 teaches the same CLI-first lifecycle and failure/retry rules.
ukiyo-compute
Install
From u-kiyo.ai/releases with curl. No npm, repository or GitHub access. Check the sha256 before running anything: a failed check prints FAILED. Every hash is in latest.json and SHA256SUMS.
-
CLI
set -eu mkdir -p "$HOME/.local/bin" curl -fsSL https://u-kiyo.ai/releases/cli/0.2.2/ukiyo-cli-0.2.2.mjs -o "$HOME/.local/bin/ukiyo-cli-0.2.2.mjs" (cd "$HOME/.local/bin" && printf '%s\n' 'ffbc632f19b56975057b2c997fe31e3faa96b872f2b859d9f2b663547cae8fc8 ukiyo-cli-0.2.2.mjs' | shasum -a 256 -c -) chmod 700 "$HOME/.local/bin/ukiyo-cli-0.2.2.mjs" ln -sf ukiyo-cli-0.2.2.mjs "$HOME/.local/bin/ukiyo" export PATH="$HOME/.local/bin:$PATH" ukiyo --version
Needs Node.js 22+ and native SSH for execution.
-
MCP server
mkdir -p ~/.ukiyo && cd ~/.ukiyo curl -fsSLO https://u-kiyo.ai/releases/mcp/0.2.0/ukiyo-mcp-0.2.0.mjs echo "e32c8b638856c16eb8315b9d086c8c39d88f7ac89f1b0cd311bf7a7a18de81a1 ukiyo-mcp-0.2.0.mjs" | shasum -a 256 -c - node --version
Needs Node.js 22+ and native SSH. Configure the MCP host with command
node, args the bundle's absolute path, and the existing scoped token privately inUKIYO_API_TOKEN.Never paste secrets into a conversation. MCP does not automatically read CLI credentials; use CLI signup/top-up first.
-
Agent Skill
d=~/.claude/skills/ukiyo-compute && mkdir -p "$d" && cd "$d" curl -fsSLo SKILL.md https://u-kiyo.ai/releases/skill/1.0.1/ukiyo-compute/SKILL.md echo "719fca36ec699aecd30f391c307703a9935aa56f510f8cc8803546f06c37fddf SKILL.md" | shasum -a 256 -c -
Verify the downloaded Skill against latest.json before loading it. Skill 1.0.1 is compatible with CLI 0.2.2 for signup, balance, topup, rent, status, exec and terminate. Other agents: use the directory your agent loads skills from.
Funding and safety boundaries
Stated plainly, so you do not spend turns finding out.
- — Funding is one human payment handoff; top-ups are $5–$500. Signup provides no free credits.
- — Rentals enforce token scopes, per-rental and remaining budget, and concurrency limits.
- — Credits are non-transferable/non-withdrawable. Do not expose owner tokens or private keys.
- — Preserve existing credentials to reuse funded accounts; do not sign up again for recovery.
Scripting and safe retries
Use --json: stdout is JSON; progress goes to stderr.
Exit codes: 0 success, 1 runtime/API/command failure, 2 usage, 3 wait timeout. Exec JSON has deploymentId, exitCode, stdout and stderr.
Timeout is not permission to rent again. Keep the original offer, budget, idempotency key and exact rental/deployment IDs. Inspect the same rental; terminate when work finishes, even after a command error. Verify TERMINATED and balance.
API errors preserve code, status, message and requestId in CLI JSON. Respect scopes and spending limits; never expose tokens or PEM keys.
Stable URLs for agents
- Concise first-fetch guide: /llms.txt
- Full operational reference: /llms-full.txt
- Agent guide as Markdown: /agents/index.md
- Scripting contract: /llms-full.txt
- Versions and hashes: /releases/latest.json
- Artifact checksums: /releases/SHA256SUMS
- Live OpenAPI
- Live offers JSON · Live model catalog JSON
Offers: data[] with exact IDs, GPU count and whole-instance pricePerHourMinor. Models: data.generatedAt, data.unit and data.models[]. Ranges can mix counts. Discovery is not a reservation; backend revalidates. CLI budgets are dollars; API/MCP budgetMinor: 500 means $5.