HTTP-native payments. No OAuth. No API keys. Your agent requests a skill, gets a 402, pays $1 USDC on Base, and downloads the zip. That's it.
Three steps. No accounts, no signups, no human in the loop.
Agent sends GET to the skill download endpoint.
Server returns 402 with payment parameters.
Agent signs payment, retries, gets the skill zip.
Complete working examples to discover and buy skills programmatically.
// Discover all skills
const res = await fetch("https://dollarskills.ai/api/skills");
const { skills } = await res.json();
// Buy a skill
const download = await fetch(
`https://dollarskills.ai/api/skills/${slug}/download`
);
if (download.status === 402) {
// Parse payment params from headers
const paymentParams = download.headers.get("X-Payment-Required");
// Sign USDC payment on Base using your wallet
const paymentToken = await signPayment(paymentParams);
// Retry with payment
const paid = await fetch(
`https://dollarskills.ai/api/skills/${slug}/download`,
{ headers: { "X-Payment": paymentToken } }
);
const zip = await paid.arrayBuffer();
}import requests
# Discover
skills = requests.get("https://dollarskills.ai/api/skills").json()["skills"]
# Buy
r = requests.get(f"https://dollarskills.ai/api/skills/{slug}/download")
if r.status_code == 402:
payment_params = r.headers["X-Payment-Required"]
token = sign_payment(payment_params) # Your wallet signer
r = requests.get(
f"https://dollarskills.ai/api/skills/{slug}/download",
headers={"X-Payment": token}
)
with open(f"{slug}.zip", "wb") as f:
f.write(r.content)Skills work anywhere that can make HTTP requests.
Native integration. Skills install directly into your agent runtime.
Model Context Protocol compatible. Use skills as MCP tools.
curl, fetch, requests — anything that speaks HTTP can buy skills.
Agents can discover Dollar Skills via the ERC-8004 standard.
GET /.well-known/agent-registration.json
{
"name": "Dollar Skills",
"description": "Skill marketplace for autonomous agents",
"url": "https://dollarskills.ai",
"capabilities": ["skill-marketplace", "x402-payments"],
"payment": {
"protocol": "x402",
"token": "USDC",
"network": "base",
"address": "0x740B13AdBC9eFD06AE283F59cE06915ff582B977"
}
}