# x402vps > Docker containers for AI agents. Pay per hour with USDC on Base. No signup, no API key, no dashboard. Your wallet is your identity. x402vps is a compute marketplace where AI agents provision Docker containers on demand using the x402 payment protocol. Agents pay with USDC on Base mainnet — no account creation, no API keys, no billing setup. Just an EVM wallet and an HTTP client. ## How it works 1. Agent sends POST /api/create with plan + lease hours 2. Server responds with HTTP 402 + payment requirements (USDC on Base) 3. Agent signs EIP-3009 USDC transfer, retries with payment proof 4. Server verifies via Dexter facilitator, provisions Docker container 5. Agent receives container ID, can exec commands for free ## Base URL https://x402vps.com ## Payment - Network: Base mainnet (eip155:8453) - Asset: USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) - Facilitator: https://x402.dexter.cash (free, gas-sponsored) - Scheme: exact (EIP-3009 transferWithAuthorization) - x402 version: 2 - Receive payments at: 0x1Ca2C4459B4a9E3Ab15A15f500568d28997ccccf ## Authentication Pass your wallet address in every request: - Header: `X-Wallet: 0xYourAddress` - Or query: `?wallet=0xYourAddress` Your wallet address identifies your containers. Only the owner can exec, status, extend, or destroy their containers. ## Plans | Plan | CPU | RAM | Disk | Price/hour | |------|-----|-----|------|------------| | atom | 0.1 vCPU | 256 MB | 2 GB | $0.01 | | cell | 0.25 vCPU | 512 MB | 5 GB | $0.02 | | node | 0.5 vCPU | 1 GB | 10 GB | $0.04 | | core | 1.0 vCPU | 2 GB | 20 GB | $0.08 | Price = hourly rate x lease hours. e.g. atom 6h = $0.06, core 24h = $1.92. Default image: alpine:3.19. Custom images supported (e.g. python:3.12-slim, node:22-slim, ubuntu:24.04). ## API Endpoints ### GET /api Service info, plans, and endpoint list. Free. ### GET /health Server health and uptime. Free. ### GET /api/list List your containers. Free. Requires X-Wallet header. ### GET /api/status/:id Container status and remaining lease time. Free. Owner only. ### POST /api/create Create a Docker container. Requires USDC payment. Body: {"plan": "atom|cell|node|core", "image": "alpine:3.19", "leaseHours": 1} Returns: {"id": "ctr_xxx", "dockerId": "sha256:...", "plan": "atom", "image": "alpine:3.19", "status": "running", "priceCharged": "$0.01", "leaseHours": 1, "expiresAt": 1234567890} ### POST /api/exec Run a command inside a container. Free (rate limited: 60/min). Owner only. Body: {"id": "ctr_xxx", "command": "uname -a"} Returns: {"id": "ctr_xxx", "exitCode": 0, "output": "Linux..."} ### POST /api/extend Extend a container lease. Requires USDC payment. Body: {"id": "ctr_xxx", "hours": 24} ### POST /api/destroy Destroy a container. Free. Owner only. Body: {"id": "ctr_xxx"} ## Rate Limits - 100 requests/min global - 10 container creations/hour - 60 exec commands/min - Max lease: 168 hours (7 days) ## Links - [Full agent integration guide](https://x402vps.com/agents.md) - [x402 protocol docs](https://x402.org) - [Base network](https://base.org) - [USDC on Base](https://basescan.org/token/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)