Skip to content
OpenSmartRoute
Skillv1.0.0

vastai-install-auth

Install and configure Vast.ai CLI and REST API authentication. Use when setting up a new Vast.ai integration, configuring API keys, or initializing Vast.ai GPU cloud access in your project. Trigger wi

by jeremylongshore(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from jeremylongshore/tons-of-skills-marketplace (skills/.curated/vastai-install-auth/SKILL.md). Install upstream with npx skills add jeremylongshore/tons-of-skills-marketplace --skill vastai-install-auth. Copyright stays with the author (MIT).

Vast.ai Install & Auth

Overview

Set up the Vast.ai CLI and REST API access for renting GPU compute instances. Vast.ai is a marketplace where individual hosts and data centers list GPU machines at prices significantly below hyperscaler providers.

Prerequisites

Instructions

Step 1: Install the CLI

set -euo pipefail
pip install vastai
vastai --version

Step 2: Get Your API Key

  1. Log in at https://cloud.vast.ai
  2. Navigate to Account > API Keys (or visit https://cloud.vast.ai/cli/)
  3. Copy your API key (a long hexadecimal string)

Step 3: Configure Authentication

# Save API key to ~/.vast_api_key
vastai set api-key YOUR_API_KEY_HERE

# Verify authentication
vastai show user

For programmatic use, set the environment variable:

export VASTAI_API_KEY="your-api-key-here"
echo 'VASTAI_API_KEY=your-api-key' >> .env

Step 4: Verify with REST API

# Direct REST API call — base URL is cloud.vast.ai/api/v0
curl -s -H "Authorization: Bearer $VASTAI_API_KEY" \
  "https://cloud.vast.ai/api/v0/users/current" | jq '{id, username, balance}'

Step 5: Python Client Setup

# vastai_client.py
import os
import requests
from typing import Optional, Dict, Any, List

class VastClient:
    BASE_URL = "https://cloud.vast.ai/api/v0"

    def __init__(self, api_key: Optional[str] = None):
        self.api_key = api_key or os.environ.get("VASTAI_API_KEY")
        if not self.api_key:
            # Fall back to ~/.vast_api_key
            key_file = os.path.expanduser("~/.vast_api_key")
            if os.path.exists(key_file):
                self.api_key = open(key_file).read().strip()
        if not self.api_key:
            raise ValueError("No API key found. Run: vastai set api-key YOUR_KEY")

        self.session = requests.Session()
        self.session.headers.update({
            "Authorization": f"Bearer {self.api_key}",
            "Accept": "application/json",
        })

    def _request(self, method: str, endpoint: str, **kwargs) -> Dict[str, Any]:
        url = f"{self.BASE_URL}{endpoint}"
        resp = self.session.request(method, url, **kwargs)
        resp.raise_for_status()
        return resp.json()

    def search_offers(self, query: Dict[str, Any]) -> List[Dict]:
        return self._request("GET", "/bundles/", params={"q": str(query)})

    def create_instance(self, offer_id: int, image: str, disk_gb: float = 20,
                        onstart: str = "", env: Dict = None) -> Dict:
        body = {"client_id": "me", "image": image, "disk": disk_gb,
                "onstart": onstart, "env": env or {}}
        return self._request("PUT", f"/asks/{offer_id}/", json=body)

    def show_instances(self) -> List[Dict]:
        return self._request("GET", "/instances/")["instances"]

    def destroy_instance(self, instance_id: int) -> Dict:
        return self._request("DELETE", f"/instances/{instance_id}/")

# Quick verification
if __name__ == "__main__":
    client = VastClient()
    user = client._request("GET", "/users/current")
    print(f"Authenticated as: {user['username']}")
    print(f"Balance: ${user.get('balance', 0):.2f}")

Step 6: Verify Connection

# CLI verification
vastai show user
vastai search offers 'num_gpus=1 gpu_name=RTX_4090' --limit 3

# Python verification
python vastai_client.py

Output

  • vastai CLI installed and authenticated
  • API key saved to ~/.vast_api_key and/or environment variable
  • Python client wrapper with search, create, show, destroy methods
  • Successful authentication verification

Error Handling

Error Cause Solution
Invalid API key Wrong or expired key Regenerate at cloud.vast.ai/cli/
403 Forbidden Insufficient balance Add credits at cloud.vast.ai
Connection refused Firewall blocking HTTPS Allow outbound 443 to cloud.vast.ai
Module not found: vastai pip install failed Run pip install --upgrade vastai
~/.vast_api_key not found CLI not configured Run vastai set api-key YOUR_KEY

Resources

Next Steps

After successful auth, proceed to vastai-hello-world for your first GPU instance rental.

Examples

Quick CLI test: Run vastai search offers 'reliability > 0.99 num_gpus=1' --order 'dph_total' to find the cheapest reliable single-GPU offers. Verify your key works before writing any code.

REST API test: Use curl with your Bearer token to hit cloud.vast.ai/api/v0/users/current and confirm your username and balance are returned correctly.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/jeremylongshore-tons-of-skills-marketplace-vastai-install-auth/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

jeremylongshore-tons-of-skills-marketplace-vastai-install-auth.ocm.jsonjson
{
  "ocm": "1",
  "id": "jeremylongshore-tons-of-skills-marketplace-vastai-install-auth",
  "kind": "skill",
  "name": "vastai-install-auth",
  "description": "Install and configure Vast.ai CLI and REST API authentication. Use when setting up a new Vast.ai integration, configuring API keys, or initializing Vast.ai GPU cloud access in your project. Trigger with phrases like \"install vastai\", \"setup vastai\", \"vastai auth\", \"configure vastai API key\", \"vastai gpu setup\".",
  "publisher": "jeremylongshore",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "coding"
    ],
    "tags": [
      "skill-md",
      "saas",
      "vast-ai",
      "api",
      "authentication",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Install and configure Vast.ai CLI and REST API authentication. Use when setting up a new Vast.ai integration, configuring API keys, or initializing Vast.ai GPU cloud access in your project. Trigger with phrases like \"install vastai\", \"setup vastai\", \"vastai auth\", \"configure vastai API key\", \"vastai gpu setup\"."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/jeremylongshore/tons-of-skills-marketplace",
      "path": "skills/.curated/vastai-install-auth/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/jeremylongshore/tons-of-skills-marketplace/blob/HEAD/skills/.curated/vastai-install-auth/SKILL.md",
      "key": "jeremylongshore/tons-of-skills-marketplace/skills/.curated/vastai-install-auth/SKILL.md"
    },
    "compatibility": "Designed for Claude Code",
    "allowed_tools": [
      "Read,",
      "Write,",
      "Edit,",
      "Bash(pip:*),",
      "Bash(vastai:*),",
      "Bash(curl:*),",
      "Grep"
    ],
    "license": "MIT"
  },
  "instructions": "# Vast.ai Install & Auth\n\n## Overview\n\nSet up the Vast.ai CLI and REST API access for renting GPU compute instances. Vast.ai is a marketplace where individual hosts and data centers list GPU machines at prices significantly below hyperscaler providers.\n\n## Prerequisites\n\n- Python 3.8+\n- Vast.ai account at https://cloud.vast.ai\n- Credit card or credits loaded for GPU rental\n\n## Instructions\n\n### Step 1: Install the CLI\n\n```bash\nset -euo pipefail\npip install vastai\nvastai --version\n```\n\n### Step 2: Get Your API Key\n\n1. Log in at https://cloud.vast.ai\n2. Navigate to **Account** > **API Keys** (or",
  "cost": {
    "context_tokens": 1236
  }
}

Fetch it by URL: GET /api/v1/registry/jeremylongshore-tons-of-skills-marketplace-vastai-install-auth/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.