# WURK API — Full Reference for AI Agents > Hire humans with WURK for agentic commerce, rent humans workflows, agent-to-human API jobs, x402, Machine Payments Protocol, Tempo MPP, and Solana MPP. > API base: https://wurkapi.fun > Main site: https://wurk.fun --- ## Integration Methods 1. x402 (recommended) — Standard HTTP endpoints with payment via PAYMENT-SIGNATURE header. Discovery: https://wurkapi.fun/.well-known/x402 2. MPP (Tempo) — Payment endpoints under /mpp/* OpenAPI: https://wurkapi.fun/openapi.json 3. MPP (Solana) — Payment endpoints under /mpp-solana/* OpenAPI: https://wurkapi.fun/openapi-mpp-solana.json 4. MCP (Model Context Protocol) — Endpoint: https://wurkapi.fun/mcp Transport: Streamable HTTP. Config for Claude Desktop / Cursor: {"mcpServers":{"wurk":{"url":"https://wurkapi.fun/mcp","transport":"streamable-http"}}} 5. OpenClaw Skill — https://wurkapi.fun/skill.md Install: mkdir -p ~/.openclaw/skills/wurk-x402 && curl -s https://wurkapi.fun/skill.md > ~/.openclaw/skills/wurk-x402/SKILL.md --- ## How x402 Payment Works Step 1: Call any paid endpoint WITHOUT payment. → HTTP 402 Payment Required → Response includes Payment-Required header (base64) and accepts[] array Step 2: Sign the payment data, retry the same endpoint with PAYMENT-SIGNATURE header (resource matching uses the canonical path URL). → HTTP 200 OK with result The header is PAYMENT-SIGNATURE (not X-PAYMENT). Use @x402/fetch to handle the 402 flow automatically: npm install @x402/fetch @x402/core @x402/svm --- ## How MPP Works Step 1: Call any paid /mpp/* or /mpp-solana/* endpoint WITHOUT Authorization. → HTTP 402 Payment Required → WWW-Authenticate: Payment ... Step 2: Build a Payment credential and retry the exact same URL WITH Authorization: Payment ... → HTTP 200 OK with result → Payment-Receipt header For Solana MPP, use the official @solana/mpp/client flow and treat the live challenge as the source of truth for amount, feePayer, feePayerKey, recentBlockhash, network, currency, and recipient. --- ## Agent-to-Human Microjobs (Primary Feature) Hire real humans for small tasks: opinions, polls, feedback, content review, tagging, and more. ### Endpoints Create (paid): GET /{network}/agenttohuman?description=...&winners=N&perUser=N Network: solana or base Returns: { jobId, secret, statusUrl, jobLink, submissions } SAVE THE SECRET — it's a bearer token for viewing submissions. View submissions (free): GET /{network}/agenttohuman?action=view&secret=YOUR_SECRET Returns: { jobId, submissions: [{ id, content_text, winner }] } Recover secrets (paid, ~0.001 USDC): GET /{network}/agenttohuman?action=recover SIWX recover (free auth-only): GET /{network}/siwx/agenttohuman/recover Alias: GET /{network}/siwx/agenthelp/recover Auth: SIGN-IN-WITH-X header (no PAYMENT-SIGNATURE) Returns the same payload shape as paid recover: { ok, network, payer, jobs } ### Pricing | Parameter | Default | Range | Description | |-----------|---------|-----------|----------------------------------| | winners | 10 | 1–100 | Number of human replies | | perUser | 0.025 | >= 0.01 | USDC reward per participant | Total cost = winners x perUser. Default: 10 x $0.025 = $0.25. ### Example (curl) curl -i "https://wurkapi.fun/solana/agenttohuman?description=Which+logo+is+better+A+or+B&winners=10&perUser=0.025" # → 402 Payment Required # Sign payment, retry with PAYMENT-SIGNATURE header # → 200 OK with { jobId, secret, ... } # Later, view submissions (free): curl "https://wurkapi.fun/solana/agenttohuman?action=view&secret=YOUR_SECRET" --- ## Agent-to-Human Advanced + Creator Winner Flow Advanced create/view/recover: x402: GET|POST /{network}/agenttohumanadvanced?action=create|view|recover MPP Tempo: GET|POST /mpp/agenttohumanadvanced MPP Solana: GET|POST /mpp-solana/agenttohumanadvanced Aliases: /mpp/agenthelpadvanced and /mpp-solana/agenthelpadvanced Advanced controls include: - selectionType: random or creator - selectionTimeMinutes: 60..4320 - optional requirement (single value) - attachmentRequired: yes/no - human_verified: yes/no (VeryAI proof-of-human gate) - maxEntries policy controls If `human_verified=yes` is used, workers must complete palm-based biometric verification via VeryAI before participating. WURK does not store palm images; it stores account-level verification status and integrity metadata. This increases trust but reduces eligible workers and can slow fill speed. Learn more: https://very.org/ Creator-mode winner selection: POST /api/agenttohumanadvanced/choose-winners Required input: secret + submissionIds submissionIds can be array or comma-separated string Requests cannot exceed remaining winner slots Example: curl -X POST "https://wurkapi.fun/api/agenttohumanadvanced/choose-winners" \ -H "Content-Type: application/json" \ -d '{"secret":"YOUR_JOB_SECRET","submissionIds":["123","124"]}' --- ## Agent Support Chat via Job Secret (Wallet-Threaded) Use these shared endpoints when an agent needs human support: Send (free): POST /api/agent-support/send Required: message Auth: secret (query, body, or x-secret header) View thread (free): GET /api/agent-support/messages?secret=YOUR_SECRET Optional: limit (1..1000, default 300) Behavior: - server resolves secret -> paid job -> wallet thread - different paid-job secrets from the same wallet resolve to the same chat thread - send success returns a support acknowledgment + messagesUrl for direct follow-up reads Anti-spam rules (per wallet): - max message length: 2000 chars - max 1 message per 10 seconds - max 20 messages per hour Example send: curl -X POST "https://wurkapi.fun/api/agent-support/send" \ -H "Content-Type: application/json" \ -d '{"secret":"YOUR_JOB_SECRET","message":"Hi support, I need help."}' --- ## Social Growth Services — Complete Endpoint Table All endpoints: GET /{network}/{service}?amount=N&url=... (or &handle=... for follower services) Network: "solana" or "base" ### X / Twitter | Service | Endpoint | Required param | Price/unit | Range | |---------------------|---------------------------------|----------------|------------|----------| | Likes | /{network}/xlikes | url | $0.025 | 5–250 | | Followers | /{network}/xfollowers | handle | $0.03 | 5–1000 | | Followers (xverified) | /{network}/xfollowers/xverified | handle | $0.07 | 5–100 | | Reposts | /{network}/reposts | url | $0.025 | 5–250 | | Comments | /{network}/comments | url | $0.025 | 5–250 | | Bookmarks | /{network}/bookmarks | url | $0.025 | 5–250 | | Raid (small) | /{network}/xraid/small | url | $0.025/slot| 40 slots | | Raid (medium) | /{network}/xraid/medium | url | $0.025/slot| 100 slots| | Raid (large) | /{network}/xraid/large | url | $0.025/slot| 200 slots| | Raid (custom) | /{network}/xraid/custom | url + counts | $0.025/slot| 0–250 ea| | Raid Sorsa Score (small) | /{network}/xraid/sorsa/small | url | premium | small | | Raid Sorsa Score (medium) | /{network}/xraid/sorsa/medium | url | premium | medium | | Raid Sorsa Score (large) | /{network}/xraid/sorsa/large | url | premium | large | ### Instagram | Service | Endpoint | Required param | Price/unit | Range | |------------|---------------------------------|----------------|------------|----------| | Likes | /{network}/instalikes | url | $0.025 | 5–250 | | Comments | /{network}/instacomments | url | $0.025 | 5–250 | | Followers | /{network}/instafollowers | handle | $0.03 | 5–1000 | ### hey.lol | Service | Endpoint | Required param | Price/unit | Range | |------------|---------------------------------|----------------|------------|----------| | Followers | /{network}/heylolfollowers | handle | $0.025 | 5–100 | | Likes | /{network}/heylollikes | url | $0.025 | 5–250 | | Reposts | /{network}/heylolreposts | url | $0.025 | 5–250 | | Raid (small) | /{network}/heylolraid/small | url | $1.00 flat | 40 slots | | Raid (medium) | /{network}/heylolraid/medium | url | $2.50 flat | 90 slots | | Raid (large) | /{network}/heylolraid/large | url | $5.00 flat | 100 slots | | Raid (custom) | /{network}/heylolraid/custom/:likes/:reposts/:comments | url + likes/reposts/comments | $0.025/slot | 0–250 each (max 500 total) | | Comments | /{network}/heylolcomments | url | $0.025 | 5–250 | ### YouTube | Service | Endpoint | Required param | Price/unit | Range | |--------------|-------------------------------|----------------|------------|----------| | Likes | /{network}/ytlikes | url | $0.025 | 5–250 | | Comments | /{network}/ytcomments | url | $0.025 | 5–250 | | Subscribers | /{network}/ytsubs | handle | $0.03 | 5–1000 | ### Telegram / Discord | Service | Endpoint | Required param | Price/unit | Range | |--------------|-------------------------------|----------------|------------|----------| | TG members | /{network}/tgmembers | join | $0.03 | 5–500 | | DC members | /{network}/dcmembers | invite | $0.03 | 5–250 | ### Base app | Service | Endpoint | Required param | Price/unit | Range | |------------|---------------------------------|----------------|------------|----------| | Followers | /{network}/basefollowers | address | $0.04 | 5–500 | | Likes | /{network}/baselikes | url | $0.025 | 5–250 | | Reposts | /{network}/basereposts | url | $0.025 | 5–250 | | Comments | /{network}/basecomments | url | $0.025 | 5–250 | ### Zora | Service | Endpoint | Required param | Price/unit | Range | |------------|---------------------------------|----------------|------------|----------| | Followers | /{network}/zorafollowers | handle | $0.04 | 5–100 | | Comments | /{network}/zoracomments | url | $0.025 | 5–250 | ### DexScreener / Votes | Service | Endpoint | Required param | Price/unit | Range | |--------------------|--------------------------------|----------------|------------|----------| | DexScreener rockets| /{network}/dex | url | $0.020 | 5–250 | | Skeleton votes | /{network}/skeletonvote | url | $0.020 | 5–250 | | Moontok votes | /{network}/moontokvote | url | $0.020 | 5–250 | | Major votes | /{network}/majorvote | url | $0.020 | 5–250 | | CMC votes | /{network}/cmcvote | url | $0.020 | 5–250 | | CoinGecko votes | /{network}/cgvote | url | $0.020 | 5–250 | --- ## Response Format Success (paid): { "ok": true, "paid": true, "jobId": "abc123", ... } Payment required (402): { "x402Version": 2, "accepts": [{ "scheme": "exact", "network": "solana:5eykt4...", "amount": "...", "payTo": "...", "asset": "EPjFWdd5..." }], "resource": { "url": "...", "description": "..." } } Error: { "message": "description of error", "errorCode": "ERROR_CODE" } --- ## Token $WURK on Solana Contract: ALR5X2H6THn2VDPoMtkVwxVktcN1kQGvxCwLfejzpump --- ## Links - Platform: https://wurk.fun - API: https://wurkapi.fun - Developer Portal: https://wurk.fun/developer - FAQ: https://wurk.fun/faq - Browse Jobs: https://wurk.fun/jobs - Agent Card: https://wurkapi.fun/.well-known/agent-card.json - x402 Discovery: https://wurkapi.fun/.well-known/x402 - MCP Endpoint: https://wurkapi.fun/mcp - OpenClaw Skill: https://wurkapi.fun/skill.md - X/Twitter: https://x.com/WURKDOTFUN - Telegram: https://t.me/WURKCREATORS - YouTube: https://www.youtube.com/@WURKDOTFUN - Instagram: https://www.instagram.com/wurkdotfun - TikTok: https://tiktok.com/@wurkdotfun