All Obol endpoints live at api.obol.sh. Each request requires an x402 payment header (X-Payment) carrying $5 USDC on Base. Sending a request without the payment header returns a standard 402 with the payment requirements.
{
"accepts": [{
"scheme": "exact",
"network": "base",
"maxAmountRequired": "500000",
"resource": "/site",
"payTo": "0xBe2C...",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"maxTimeoutSeconds": 300
}]
}/site$5 USDCCrawls a website, extracts its visual identity and content, then generates a complete Next.js 15 TypeScript project matching the same vibe.
urlstring — website URL to analyzerepostring — "owner/repo" to fork and PR intobranchstring? — target branch (default: "main")emailstring? — receive a completion emailcurl -X POST https://api.obol.sh/site \
-H 'X-Payment: <base64-encoded-x402-payment>' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://acme.com",
"repo": "you/my-site",
"email": "you@example.com"
}'{
"pr": "https://github.com/you/repo/pull/42",
"fork": "https://github.com/fixr-the-buildr/repo",
"branch": "obol/site-1234567890",
"files": ["..."]
}/miniapp$5 USDCGenerates a complete Farcaster mini app from a plain-English idea. Includes manifest.json (frames.v2.manifest), wagmi v2, @farcaster/miniapp-sdk, and Tailwind v4.
ideastring — describe the mini apprepostring — "owner/repo" to fork and PR intonamestring? — app name (Claude picks if omitted)branchstring? — target branch (default: "main")emailstring? — receive a completion emailcurl -X POST https://api.obol.sh/miniapp \
-H 'X-Payment: <base64-encoded-x402-payment>' \
-H 'Content-Type: application/json' \
-d '{
"idea": "A tipping jar where users send USDC to creators",
"repo": "you/miniapp-template",
"name": "TipJar"
}'{
"pr": "https://github.com/you/repo/pull/42",
"fork": "https://github.com/fixr-the-buildr/repo",
"branch": "obol/miniapp-1234567890",
"files": ["..."]
}/api$5 USDCGenerates an OpenAPI 3.1 spec (openapi.yaml) and a complete Hono Cloudflare Worker server from a plain-English description.
descriptionstring — describe the API you needrepostring — "owner/repo" to fork and PR intobranchstring? — target branch (default: "main")emailstring? — receive a completion emailcurl -X POST https://api.obol.sh/api \
-H 'X-Payment: <base64-encoded-x402-payment>' \
-H 'Content-Type: application/json' \
-d '{
"description": "REST API for a todo app with user auth, CRUD for todos and tags",
"repo": "you/api-starter"
}'{
"pr": "https://github.com/you/repo/pull/42",
"fork": "https://github.com/fixr-the-buildr/repo",
"branch": "obol/api-1234567890",
"files": ["..."]
}/tests$5 USDCReads a file from a public GitHub repo and generates comprehensive unit tests — happy paths, edge cases, error paths, mocked dependencies.
repostring — "owner/repo" containing the source filepathstring — file path within the repoframeworkstring? — test framework (default: "vitest")branchstring? — branch to read from (default: "main")emailstring? — receive a completion emailcurl -X POST https://api.obol.sh/tests \
-H 'X-Payment: <base64-encoded-x402-payment>' \
-H 'Content-Type: application/json' \
-d '{
"repo": "you/my-project",
"path": "src/lib/utils.ts",
"framework": "vitest"
}'{
"pr": "https://github.com/you/repo/pull/42",
"fork": "https://github.com/fixr-the-buildr/repo",
"branch": "obol/tests-1234567890",
"files": ["..."]
}/docs$5 USDCClaude reads the key files in your repo (README, index files, config) and generates a full MDX documentation site under docs/.
repostring — "owner/repo" to documentbranchstring? — branch to read from (default: "main")emailstring? — receive a completion emailcurl -X POST https://api.obol.sh/docs \
-H 'X-Payment: <base64-encoded-x402-payment>' \
-H 'Content-Type: application/json' \
-d '{
"repo": "you/my-library",
"branch": "main"
}'{
"pr": "https://github.com/you/repo/pull/42",
"fork": "https://github.com/fixr-the-buildr/repo",
"branch": "obol/docs-1234567890",
"files": ["..."]
}/deploy$5 USDCGenerates GitHub Actions CI/CD workflow and platform-specific deploy config for Vercel, Cloudflare Workers, or Railway.
repostring — "owner/repo" to configureplatform"vercel" | "cloudflare" | "railway"branchstring? — target branch (default: "main")emailstring? — receive a completion emailcurl -X POST https://api.obol.sh/deploy \
-H 'X-Payment: <base64-encoded-x402-payment>' \
-H 'Content-Type: application/json' \
-d '{
"repo": "you/my-project",
"platform": "vercel"
}'{
"pr": "https://github.com/you/repo/pull/42",
"fork": "https://github.com/fixr-the-buildr/repo",
"branch": "obol/deploy-1234567890",
"files": ["..."]
}/refactor$5 USDCModernizes a TypeScript/JavaScript file: adds strict types, JSDoc comments, removes dead code, improves naming, and splits large functions. Preserves all existing functionality.
repostring — "owner/repo" containing the filepathstring — file path to refactorbranchstring? — branch to read from (default: "main")emailstring? — receive a completion emailcurl -X POST https://api.obol.sh/refactor \
-H 'X-Payment: <base64-encoded-x402-payment>' \
-H 'Content-Type: application/json' \
-d '{
"repo": "you/my-project",
"path": "src/lib/old-utils.js"
}'{
"pr": "https://github.com/you/repo/pull/42",
"fork": "https://github.com/fixr-the-buildr/repo",
"branch": "obol/refactor-1234567890",
"files": ["..."]
}