# V-Pod > V-Pod is an agent-first GPU compute marketplace: live multi-cloud GPU capacity in one normalized, source-agnostic catalog, priced in USD per GPU-hour and payable by machines in USDC (x402 on Base, or a plain USDC transfer on Base/Solana). A settled payment provisions a real SSH pod that terminates automatically at expiry. No account, no API key, no human sign-up required — discovery, quoting, payment and provisioning are all machine-executable. Primary interface: MCP (Model Context Protocol) over Streamable HTTP at https://v-pod.com/mcp — POST JSON-RPC 2.0, stateless, no auth for discovery. `tools/list` is open. Tools: list_gpu_offers, get_gpu_offer, quote_rental, rent_gpu_hours (x402 paid), redeem_rental_transfer (plain-transfer paid), get_rental_status, close_rental. Payment rails (USDC, 6-decimal atomic amounts, exact-amount only): - x402 on Base: call rent_gpu_hours unpaid → HTTP 402 with accepts[] (scheme "exact", asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, EIP-712 domain {"name":"USD Coin","version":"2"}); retry with X-PAYMENT carrying an EIP-3009 transferWithAuthorization. The 402 price is the settled price. Settlement is confirmed in X-PAYMENT-RESPONSE. - Simple transfer: send the exact quoted amount to the address returned by quote_rental — on Base (USDC contract above) or Solana mainnet (mint EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v) — then call redeem_rental_transfer with the transaction hash/signature. Chain auto-detected. - All paid calls are idempotent (same payment → same rental, never a double charge). If provisioning fails after settlement, the payment is banked as credits on the paying wallet — never a silent loss. ## Docs - [API & MCP documentation](https://v-pod.com/docs): full tool reference, payment flows, rental lifecycle, REST endpoints - [Agent card (A2A)](https://v-pod.com/.well-known/agent-card.json): identity, skills, endpoints - [Provider coverage roadmap](https://v-pod.com/roadmap): which upstream classes are aggregated (individual offers never reveal their source) ## API (REST, read-only public) - [GET /api/pods](https://v-pod.com/api/pods): the live catalog — id, gpu, gpuCount, vramGb, region, pricePerHrUsd, tier, availability, useCases - MCP is the write path: quoting, paying, provisioning, closing all happen through https://v-pod.com/mcp ## Facts - Prices float with live inventory; only the HTTP 402 challenge guarantees an amount - Unit: per_gpu_hour; rental total = pricePerHrUsd × gpuCount × hours; hours 1–720 - Offer ids are stable while the inventory shape persists - The rental_id returned on purchase is the capability token for get_rental_status / close_rental — treat it as a secret - Rate limit: 60 requests/min/IP on /mcp (429 + Retry-After); paid surfaces may pause with 503 + Retry-After - Errors are typed JSON: {"error": "..."} — never HTML