{
    "openapi": "3.1.0",
    "info": {
        "title": "CryptGPU pricing API",
        "version": "1.0.0",
        "summary": "Monthly prices of CryptGPU dedicated GPU servers, with market references.",
        "description": "Public, read-only, no key. CryptGPU rents dedicated GPU servers (NVIDIA B300, B200, H200, H100, RTX PRO 6000, L40S, RTX 5090, RTX 4090, RTX 5080 and AMD MI355X) with 1 to 8 GPUs by the month, paid in Bitcoin, Ethereum, USDT, Monero or Litecoin, with no KYC. Prices are in US dollars per month, prepaid. Orders cannot be placed through the API: use https://cryptgpu.com/deploy/.",
        "contact": {
            "name": "CryptGPU",
            "url": "https://cryptgpu.com/contact/"
        }
    },
    "externalDocs": {
        "description": "API reference",
        "url": "https://cryptgpu.com/docs/api/"
    },
    "servers": [
        {
            "url": "https://cryptgpu.com/api/v1"
        }
    ],
    "paths": {
        "/gpus": {
            "get": {
                "operationId": "listGpus",
                "summary": "List every GPU with its monthly price",
                "description": "Every GPU model: specifications, server sizes, price per GPU per month, resources per GPU and the market reference (lowest, median and highest on-demand price found).",
                "responses": {
                    "200": {
                        "description": "Every GPU.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Gpu"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/gpus/{id}": {
            "get": {
                "operationId": "getGpu",
                "summary": "Get one GPU",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": ["b300", "b200", "mi355x", "h200", "h100", "rtx-pro-6000", "l40s", "rtx-5090", "rtx-4090", "rtx-5080"],
                            "example": "h200"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "One GPU.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/Gpu"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown GPU id; the error lists the valid ids.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/quote": {
            "get": {
                "operationId": "quoteServer",
                "summary": "Monthly price and resources of a server",
                "parameters": [
                    {
                        "name": "gpu",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": ["b300", "b200", "mi355x", "h200", "h100", "rtx-pro-6000", "l40s", "rtx-5090", "rtx-4090", "rtx-5080"],
                            "example": "h200"
                        }
                    },
                    {
                        "name": "n",
                        "in": "query",
                        "required": false,
                        "description": "Number of GPUs (GeForce cards: 1, 2 or 4).",
                        "schema": {
                            "type": "integer",
                            "enum": [1, 2, 4, 8],
                            "default": 1
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The quote.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "meta": {
                                            "$ref": "#/components/schemas/Meta"
                                        },
                                        "data": {
                                            "$ref": "#/components/schemas/Quote"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Missing gpu, or n is not a size of that GPU.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Unknown GPU id.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/market.csv": {
            "get": {
                "operationId": "marketCsv",
                "summary": "The market check as CSV",
                "description": "One row per GPU: lowest, median and highest public on-demand price per GPU (hourly and monthly), number of quotes, and the CryptGPU price.",
                "responses": {
                    "200": {
                        "description": "CSV with a header row.",
                        "content": {
                            "text/csv": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Rate limited.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "Meta": {
                "type": "object",
                "properties": {
                    "api_version": {
                        "type": "string"
                    },
                    "currency": {
                        "type": "string"
                    },
                    "prices": {
                        "type": "string"
                    },
                    "market_checked": {
                        "type": "string",
                        "format": "date"
                    }
                }
            },
            "Gpu": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "enum": ["b300", "b200", "mi355x", "h200", "h100", "rtx-pro-6000", "l40s", "rtx-5090", "rtx-4090", "rtx-5080"],
                        "example": "h200"
                    },
                    "name": {
                        "type": "string"
                    },
                    "vendor": {
                        "type": "string"
                    },
                    "architecture": {
                        "type": "string"
                    },
                    "family": {
                        "type": "string",
                        "enum": ["flagship", "pro", "consumer"]
                    },
                    "memory_gb": {
                        "type": "integer"
                    },
                    "memory_type": {
                        "type": "string"
                    },
                    "memory_bandwidth": {
                        "type": "string"
                    },
                    "interconnect": {
                        "type": "string"
                    },
                    "precisions": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "server_sizes": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        }
                    },
                    "price_per_gpu_month": {
                        "type": "integer",
                        "description": "USD per GPU per month. A server of n GPUs costs n times this price."
                    },
                    "resources_per_gpu": {
                        "type": "object",
                        "properties": {
                            "vcpu": {
                                "type": "integer"
                            },
                            "ram_gb": {
                                "type": "integer"
                            },
                            "nvme_tb": {
                                "type": "number"
                            }
                        }
                    },
                    "market": {
                        "type": "object",
                        "description": "Public on-demand list prices per GPU per month found in the market check.",
                        "properties": {
                            "median_per_gpu_month": {
                                "type": "integer"
                            },
                            "lowest_per_gpu_month": {
                                "type": "integer"
                            },
                            "highest_per_gpu_month": {
                                "type": "integer"
                            },
                            "quotes": {
                                "type": "integer"
                            },
                            "indicative": {
                                "type": "boolean"
                            }
                        }
                    },
                    "savings_vs_median_pct": {
                        "type": "integer"
                    },
                    "url": {
                        "type": "string",
                        "format": "uri"
                    }
                }
            },
            "Quote": {
                "type": "object",
                "properties": {
                    "gpu": {
                        "type": "string",
                        "enum": ["b300", "b200", "mi355x", "h200", "h100", "rtx-pro-6000", "l40s", "rtx-5090", "rtx-4090", "rtx-5080"],
                        "example": "h200"
                    },
                    "gpu_name": {
                        "type": "string"
                    },
                    "gpus": {
                        "type": "integer"
                    },
                    "currency": {
                        "type": "string"
                    },
                    "price_month": {
                        "type": "integer"
                    },
                    "price_per_gpu_month": {
                        "type": "integer"
                    },
                    "hourly_equivalent": {
                        "type": "number"
                    },
                    "market_median_month": {
                        "type": "integer"
                    },
                    "savings_month": {
                        "type": "integer"
                    },
                    "savings_year": {
                        "type": "integer"
                    },
                    "server": {
                        "type": "object",
                        "properties": {
                            "gpu_memory_gb": {
                                "type": "integer"
                            },
                            "vcpu": {
                                "type": "integer"
                            },
                            "ram_gb": {
                                "type": "integer"
                            },
                            "nvme_tb": {
                                "type": "number"
                            },
                            "interconnect": {
                                "type": ["string", "null"]
                            }
                        }
                    },
                    "billing": {
                        "type": "string"
                    },
                    "configure_url": {
                        "type": "string",
                        "format": "uri"
                    }
                }
            },
            "Error": {
                "type": "object",
                "properties": {
                    "error": {
                        "type": "object",
                        "properties": {
                            "status": {
                                "type": "integer"
                            },
                            "code": {
                                "type": "string"
                            },
                            "message": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        }
    }
}
