# compute.pangle.online — the spot market for idle GPUs > Live GPU rental prices aggregated across marketplaces and clouds (Vast.ai, > RunPod, Verda (ex-DataCrunch), Akash, Cudo Compute, io.net, Hyperstack, > Novita, Prime Intellect, Shadeform, Scaleway, OVHcloud), normalized into one offer table, > ranked cheapest-first > by price per GPU per hour. Zero platform fees (fee_bps=0). No key, no > signup, no scraping required. Built for AI agents as much as for humans. ## For agents (MCP) - Endpoint: https://compute.pangle.online/mcp/ (MCP streamable HTTP, stateless) - VERIFY US IN ONE COMMAND: curl -sO https://compute.pangle.online/verify.py && python3 verify.py Stdlib only, imports nothing from us, re-derives every published root from the published files and exits non-zero on any mismatch. It is also a worked example of the reproduce steps in each day's manifest. - SEND A User-Agent. The edge blocks the default `Python-urllib/x.y` and returns 403 with no explanation — that string is a known scanner signature and the block is not ours to lift. Measured 2026-08-25, the exemption covers exactly two things: /api/* and this file. EVERYTHING ELSE 403s for that UA, including /mcp/, every page, /wire.rss, /sidecar/keyholder.py, and the whole of /data/ — roots.jsonl, the sealed days, the manifests and the .ots proofs. So if you are reproducing our Merkle roots or downloading the keyholder from a Python script, you will be refused every file you need unless you set a header: urllib.request.Request(url, headers={"User-Agent": "my-agent/1.0"}) Any value works, including one you invent. `python-requests`, curl and browsers are unaffected. We would rather say this plainly than have you conclude the artifacts are missing. - Tools: search_offers, get_offer, market_stats, price_history, idle_history, best_value, provider_reliability, price_position, spot_spread, create_watch, watch_status, delete_watch, register_account, account_usage, rent_offer, rent_best, rental_status, destroy_rental - rent_offer / rent_best place a rental on YOUR provider key (Vast.ai or RunPod) — dry-run by default, live only with confirm=true; the key passes through one call and is never stored. auto_destroy_budget_usd arms a budget cap that destroys the rental when estimated spend reaches it. That guard lives in THIS station's process memory, so our restart drops it while your rental keeps billing — the receipt says so, and it is a backstop, not the thing to rely on. The durable cap is BUDGET_USD in your own keyholder (/sidecar/keyholder.py): it holds your key, writes its clock to disk, and nothing we do to this station can lift it. Use both. rental_status polls state + spend of a placed instance. - Integration guide: https://compute.pangle.online/agents/ ## REST API (JSON, no auth) - https://compute.pangle.online/api/offers — ranked live offers; filters: gpu, country (ISO-2, comma list, or EU), region, offer_class (on_demand|interruptible), provider, max_price, min_vram, min_gpu_count, per_model (8 = full nodes), limit - https://compute.pangle.online/api/gpus — GPU models with offer counts and floors - https://compute.pangle.online/badge.svg?gpu=H100 — hotlinkable live price badge (SVG, 5-min cache; any model) - https://compute.pangle.online/compare/ — side-by-side GPU comparison (deep-linkable: ?a=RTX+4090&b=H100+SXM) - https://compute.pangle.online/calc/ — job cost calculator: hours×GPUs or a TFLOPS-hours budget against the live floor of every model - https://compute.pangle.online/spot/ — the compute spot index: chained 10-model basket, methodology published (/api/index) - https://compute.pangle.online/wire/ — notable daily price moves off the tape (RSS at /wire.rss) - https://compute.pangle.online/receipts/ — the broker's own execution tape (house rentals, published) - https://compute.pangle.online/status/ — live feed health (same data as /api/stats) - https://compute.pangle.online/faq/ — fair questions, answered straight (FAQPage JSON-LD) - https://compute.pangle.online/api/specs — dense FP16 spec TFLOPS per model (the workload lens; ceilings, not benchmarks; absent model = unrated) - https://compute.pangle.online/api/stats — market snapshot: totals, idle share, provider health - https://compute.pangle.online/api/history?gpu=RTX%204090 — price history per provider (min/median per GPU-hour) - https://compute.pangle.online/api/idle-history — the idle-capacity index series - POST https://compute.pangle.online/api/watches — accountless price alerts (RSS feed + optional webhook; watches expire 30 days after creation) - https://compute.pangle.online/api/value — perf-per-dollar: FP16 spec TFLOPS per dollar-hour at each model's best live price (basis disclosed) - https://compute.pangle.online/api/reliability — provider feed dependability - https://compute.pangle.online/api/timing?gpu=RTX%204090 — where today's best price sits in its trailing 7/30-day range (descriptive, not a forecast) - https://compute.pangle.online/api/spread — on-demand vs interruptible discount per model (gpu= adds its history) - POST https://compute.pangle.online/api/rentals — BYO-key rental execution on Vast.ai or RunPod (dry_run default; re-quoted live before money moves; idempotency_key + auto_destroy_budget_usd + account_token supported); POST /api/rentals/best is the one-shot search+place; POST /api/rentals/{provider}/{id}/status polls state and spend; DELETE /api/rentals/{provider}/{id} tears it down - POST https://compute.pangle.online/api/account — optional metering account (bearer token, shown once); GET /api/account/usage is your ledger - POST https://compute.pangle.online/api/orders — LIMIT ORDERS: standing "rent when price <= line" intents. The station cuts an HMAC-signed fill ticket when the line is crossed (webhook and/or long-poll POST /api/orders/{id}/ ticket) and NEVER holds your provider key — execution happens wherever the key lives: the open-source keyholder sidecar (repo sidecar/), your own agent, or POST /api/orders/{id}/fill with {order_secret, api_key, confirm:true}. Fills re-quote live, refuse above the line, and are idempotent per order. Guide: https://compute.pangle.online/agents/#sidecar - https://compute.pangle.online/api/openapi.json — full OpenAPI 3 spec of every endpoint above (machine-readable, no key) ## Pages - https://compute.pangle.online/ — the market, live, with price-history charts - https://compute.pangle.online/idle/ — the idle-capacity index - https://compute.pangle.online/agents/ — agent integration guide - https://compute.pangle.online/eco/ — the environmental case (utilization, honest) - https://compute.pangle.online/biz/ — enterprise: procurement price discovery ## Honesty notes - Every number on the site comes from the live API; providers that stop answering are flagged stale, never silently reused. - Prices are USD per hour; price_per_gpu_hr is the comparable unit across multi-GPU offers. class=interruptible rows are idle capacity (spot/bid). - Outbound provider links may carry referral tags; the renter's price is unchanged. Platform fee is currently zero (the fee_bps field states it).