# Obol > x402-powered developer platform. Three APIs on Base: AI code generation as GitHub PRs, Clanker token analytics, and Loom — a shared AI compute marketplace. Obol is a developer platform at obol.sh that offers pay-per-call APIs via x402 micropayments on Base (Coinbase's L2). No subscriptions, no accounts — just USDC and a request. ## Products ### 1. Code Generation (api.obol.sh) AI-powered code generation. Describe what you need — Claude generates it, forks your GitHub repo, and opens a pull request. $5 USDC per call ($1 for tests/refactor). ### 2. Clanker Analytics (api2.obol.sh) Query 639k+ Clanker tokens on Base. Volume, rankings, search, deployer history, trending signals. $0.01 USDC per query. ### 3. Loom — Shared AI Compute (loom.obol.sh) A marketplace for shared Claude compute. Sellers run a daemon that executes buyer prompts using their Claude Code plan tokens. Buyers pay per-job with USDC at 25% below retail API pricing. No API key needed on either side. ## How x402 Works 1. Send a POST request with an X-Payment header carrying a signed USDC authorization on Base 2. Without the header, endpoints return HTTP 402 with payment requirements 3. The payment is verified via Coinbase Developer Platform (CDP) and settled on-chain ## Code Generation API Base URL: https://api.obol.sh Payment: X-Payment header, USDC on Base (eip155:8453), USDC contract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 ### POST /site ($5) Clone any website's visual identity into a production-ready Next.js 15 TypeScript project. Request: { url: string, repo: "owner/repo", branch?: string, email?: string } ### POST /miniapp ($5) Generate a complete Farcaster mini app from a plain-English idea. Request: { idea: string, repo: "owner/repo", name?: string, branch?: string, email?: string } ### POST /api ($5) Generate an OpenAPI 3.1 spec and a complete Hono Cloudflare Worker from a plain-English description. Request: { description: string, repo: "owner/repo", branch?: string, email?: string } ### POST /tests ($1) Generate comprehensive Vitest unit tests for any file in a public GitHub repo. Request: { repo: "owner/repo", path: string, framework?: string, branch?: string, email?: string } ### POST /docs ($5) Generate a full MDX documentation site from your repo. Request: { repo: "owner/repo", branch?: string, email?: string } ### POST /deploy ($5) Generate GitHub Actions CI/CD and platform config for Vercel, Cloudflare Workers, or Railway. Request: { repo: "owner/repo", platform: "vercel"|"cloudflare"|"railway", branch?: string, email?: string } ### POST /refactor ($1) Modernize a TypeScript file: strict types, JSDoc, dead code removal, consistent naming. Request: { repo: "owner/repo", path: string, branch?: string, email?: string } ### POST /label ($5/$25/$40) Apply a Verified Builder badge to a Bluesky account via the Obol AT Protocol labeler. Request: { did: string, duration?: "initial"|"1y"|"2y", email?: string } ### POST /fix ($5) Paste a GitHub issue URL — Obol reads the issue, generates a fix, and opens a PR. Request: { issue_url: string, email?: string } ## Clanker Analytics API Base URL: https://api2.obol.sh Payment: $0.01 USDC per query ### GET /tokens/count?period=24h|7d|30d ### GET /tokens/volume?period=7d ### GET /tokens/top?by=volume|liquidity&limit=10 ### GET /tokens/new?since=24h&limit=20 ### GET /tokens/search?q=pepe ### GET /tokens/by-fid/:fid ### GET /tokens/:address ### GET /stats/summary ### GET /stats/trending ## Loom — Shared AI Compute API Base URL: https://loom.obol.sh Payment: Variable USDC per job (buyer sets budget) ### POST /jobs Submit a compute job. Requires X-Payment header with USDC authorization for the budget amount. Request: { prompt: string, budget_usd: number, model?: "sonnet"|"opus"|"haiku", timeout_seconds?: number, system_prompt?: string } Response: { job_id: string, status: "queued"|"assigned", payment: "escrowed"|"none" } ### GET /jobs/:id Check job status. Response: { id, status, model, budget_usd, duration_ms, created_at, assigned_at, completed_at } ### GET /jobs/:id/result Fetch job output. Settles escrowed payment on first fetch of completed job. Response: { id, status, output: string, duration_ms } ### POST /sellers/register Register as a compute seller. Request: { wallet_address: string, capacity?: number } Response: { seller_id, auth_token } ### POST /sellers/heartbeat Keep seller online. Send every 30s. Request: { active_jobs: number } ### POST /sellers/poll Poll for assigned jobs. Returns 204 if none available. ### POST /sellers/complete Report job completion. Request: { job_id, claim_token, output, status, duration_ms } ## Payment Details All endpoints use x402 on Base: - Asset: USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) - Pay-to: 0xb81DA38fdbC4DDC271C70f234444E49FCC0A4C74 - Network: Base (eip155:8453) ## Links - Landing: https://obol.sh - Docs: https://obol.sh/docs - Loom API: https://loom.obol.sh - Clanker Dashboard: https://obol.sh/clanker - GitHub: https://github.com/obol-sh - Bluesky: https://bsky.app/profile/obol.sh