Card snapshot
fastgpu.co
·
2026-10-26 18:46:45 UTC
·
7a4286943515140cb71e7381233947f65097f3a45f6f4da7b6a4686e0a5abe39
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"protocolVersion": "0.3.0",
"name": "FastGPU",
"description": "Live GPU cloud price comparison across the whole market, as a REST API and MCP server. FastGPU brokers GPU capacity: describe the cluster you need and get competing quotes from capacity holders, each shown next to live prices from RunPod, Vast.ai, Lambda, the hyperscalers and more. Free for buyers, no sales calls.",
"url": "https://fastgpu.co",
"version": "1.0.0",
"provider": {
"organization": "FastGPU",
"url": "https://fastgpu.co"
},
"documentationUrl": "https://fastgpu.co/docs",
"capabilities": {
"streaming": false,
"pushNotifications": false,
"stateTransitionHistory": false
},
"defaultInputModes": [
"application/json",
"text/plain"
],
"defaultOutputModes": [
"application/json"
],
"skills": [
{
"id": "list_gpu_prices",
"name": "List cheapest GPU prices",
"description": "One entry per GPU model with its cheapest live on-demand cloud rental price in USD per GPU-hour, the provider offering it, and how many providers rent it, from FastGPU's live price feed across marketplaces, neoclouds and hyperscalers (RunPod, Vast.ai, Lambda, AWS and more). Use it to compare GPU rental prices or to find where a named GPU is cheapest to rent. Each price is the provider's own per-GPU rate: cheapest_min_gpu_count says when it is only sold as a multi-GPU instance, and cheapest_billed_separately names what the provider bills on top of it (CPU, memory, storage), null when the rate includes CPU and memory. page_url links to the GPU's live price page with every offer. Rental prices only: it does not rent, reserve or launch GPUs. No key required.",
"tags": [
"mcp",
"public"
],
"restPath": "/api/v1/gpus",
"requiresApiKey": false,
"availableViaMcp": true
},
{
"id": "match_workload",
"name": "Match a workload to the cheapest GPU",
"description": "Ranks up to eight GPU configurations that can run a job at the lowest live price. Describe the job in query (an open-weight model to serve or fine-tune, a model size, or a GPU need) or with the structured fields. Each match gives the GPU count, the USD per hour for the whole configuration and a one-line reason; the answer also states the VRAM the job needs and how much cheaper the top match is than a hyperscaler running the same job. Use it to decide where to run a workload; use list_gpu_prices for the price of a named GPU. Open-weight models only: an API-only model such as GPT-4 returns no matches and a note. Between otherwise equal offers, a small disclosed tie-break favors providers that pay FastGPU a referral (each match reports partner). Hard limits (budget_usd_hr, max_total_usd with duration_hours, max_quote_age_minutes) drop every configuration that breaks them; limits reports what was dropped. Read-only: it does not rent or launch GPUs. No key required.",
"tags": [
"mcp",
"public"
],
"restPath": "/api/v1/match",
"requiresApiKey": false,
"availableViaMcp": true
},
{
"id": "list_gpu_fixings",
"name": "List daily GPU price fixings",
"description": "The frozen daily record of GPU rental prices: one row per GPU model per UTC day, taken at 07:00 UTC from the live price snapshot and never revised. Each row carries the floor (the cheapest posted on-demand price outside the hyperscalers) and the provider that set it, the on-demand median across providers, the spot floor, the hyperscaler median, the provider count behind each figure, and the in-stock share as a numerator and a denominator. Prices are posted list prices in USD per GPU-hour, not transaction prices. Newest day first; filter by date or GPU and page with limit and offset. The method is published at /methodology/fixings. No key required.",
"tags": [
"rest",
"public"
],
"restPath": "/api/v1/fixings",
"requiresApiKey": false,
"availableViaMcp": false
},
{
"id": "list_gpu_availability",
"name": "List the GPU Availability Index",
"description": "How often each GPU could actually be rented: one frozen row per GPU model per completed UTC day, computed from FastGPU's recorded stock history (each provider's own stock tier or rentable host count, on-demand and community offers only) and never revised. Each row gives the providers listing the GPU, the providers that exposed a stock signal, the providers that had it rentable at least once that day, the signalled and rentable stock checks, the rentable share (rentable / signalled; offers without a signal never count as in stock or sold out) and the marketplace host depth. Newest day first. The method is published at /gpu-availability#method. No key required.",
"tags": [
"rest",
"public"
],
"restPath": "/api/v1/availability",
"requiresApiKey": false,
"availableViaMcp": false
},
{
"id": "get_gpu_price_risk",
"name": "Get GPU price volatility and spread",
"description": "Price-risk statistics per GPU from FastGPU's own record of posted rental prices: realized volatility of the recorded daily floor (standard deviation of daily log changes, per day and annualized with the square root of 365, with the number of changes behind it) over the last 30 days and the full history, the largest one-day move, drawdown and run-up, the spread across providers right now (P10, median and P90 of each non-hyperscaler provider's lowest buyable price), which provider set the daily fixing's floor and how persistently, the basis between the on-demand median and the floor and between the hyperscaler median and the on-demand median, and confirmed list-price changes over 60 days. Posted prices, not transactions, and not a settlement reference. No key required.",
"tags": [
"rest",
"public"
],
"restPath": "/api/v1/price-risk",
"requiresApiKey": false,
"availableViaMcp": false
},
{
"id": "list_aws_capacity_blocks",
"name": "List AWS Capacity Block offers",
"description": "What AWS answers, every 6 hours, to \"when can I start N GPUs and for how much\": the latest run of read-only EC2 DescribeCapacityBlockOfferings calls across its GPU instance types (H100, H200, B200, B300, A100), default-enabled Regions and four shapes (1 instance for 1 day or 1 week, 8 instances for 2 or 13 weeks). Each row gives how many offers AWS returned, the earliest start with its upfront fee, and the lowest price per GPU-hour with its start; status 'error' rows carry AWS's error code. AWS prices Capacity Blocks by supply and demand and shows them only to signed-in accounts. Fees are USD for Linux. The response carries the method. No key required.",
"tags": [
"rest",
"public"
],
"restPath": "/api/v1/aws-capacity-blocks",
"requiresApiKey": false,
"availableViaMcp": false
},
{
"id": "list_price_changes",
"name": "List GPU price changes",
"description": "FastGPU's price-change log: every list-price change its own record of posted prices confirms (a move between two prices that each held for two complete UTC days, at least a cent apart, on-demand and reserved, for providers that publish their own per-GPU rate) plus changes providers announce on their own pages, newest first. Each entry gives the provider, GPU, old and new price per GPU-hour, the change in percent, the day (or window) of the change and, for an announced change, the provider's page and wording. No key required.",
"tags": [
"rest",
"public"
],
"restPath": "/api/v1/price-changes",
"requiresApiKey": false,
"availableViaMcp": false
},
{
"id": "get_gpu_offers",
"name": "Get every live offer (full feed)",
"description": "Every normalized live offer (provider, GPU, offer type, region, per-GPU price, availability), for building tools or dashboards on the raw feed. Requires an API key. Filter by gpu, provider, type, limit.",
"tags": [
"rest",
"api-key"
],
"restPath": "/api/v1/prices",
"requiresApiKey": true,
"availableViaMcp": false
},
{
"id": "router_launch",
"name": "Launch a GPU (route + provision)",
"description": "Route a described job to the best in-stock connected provider (RunPod, Vast.ai, Hyperstack) and PROVISION a real GPU, billed by the second to your prepaid FastGPU wallet. Returns the instance; poll GET /api/v1/router/instances/{id} for the connection URL once it is running. Requires an API key with wallet balance.",
"tags": [
"rest",
"api-key"
],
"restPath": "/api/v1/router/launch",
"requiresApiKey": true,
"availableViaMcp": false
},
{
"id": "router_list_instances",
"name": "List your GPU instances + balance",
"description": "List your router GPU instances (status, connection, billed rate) and your wallet balance. Refreshes any live instance against its provider first, so status + connection resolve. Requires an API key.",
"tags": [
"rest",
"api-key"
],
"restPath": "/api/v1/router/instances",
"requiresApiKey": true,
"availableViaMcp": false
},
{
"id": "router_get_instance",
"name": "Get one GPU instance",
"description": "Get one instance's live status + connection URL. Poll this after launching until status is \"running\". Requires an API key.",
"tags": [
"rest",
"api-key"
],
"restPath": "/api/v1/router/instances/{id}",
"requiresApiKey": true,
"availableViaMcp": false
},
{
"id": "router_terminate",
"name": "Terminate a GPU instance",
"description": "Terminate one instance: destroys the GPU on the provider and settles your wallet to the actual elapsed cost. Requires an API key.",
"tags": [
"rest",
"api-key"
],
"restPath": "/api/v1/router/instances/{id}",
"requiresApiKey": true,
"availableViaMcp": false
}
],
"interfaces": {
"mcp": "https://fastgpu.co/api/mcp",
"openapi": "https://fastgpu.co/openapi.json",
"rest": "https://fastgpu.co/api/v1",
"llmsTxt": "https://fastgpu.co/llms.txt",
"agentSkills": "https://fastgpu.co/.well-known/agent-skills/index.json"
},
"securitySchemes": {
"apiKey": {
"type": "http",
"scheme": "bearer",
"description": "Bearer FastGPU API key (fgpu_live_...). Only the full-feed endpoint (/api/v1/prices) requires it; comparison and matching are public."
}
}
}