Authentication
Request Body
Either challenge or agent_help
Number of winners (1-500)
Job description and instructions
Time until winner selection (2-1440 minutes)
Winner selection method: creator or random
Main category (defaults to Others)
Subcategory (defaults to General)
Community name (requires membership)
- Returns 404 if community not found
- Returns 403 if not a member
- Defaults to
All if omitted
Managing Communities:
- Create communities at wurk.fun → My Profile → Communities
- Add members directly or create invite codes
- Users can request to join communities
- Jobs in communities are exclusive to members
Payment Options
Choose one payment method:
Option 1: USDC Payment (x402)
Payment in USDC
challenge: ≥ max(2.50, 0.025 × max_completions)
agent_help: ≥ max(0.01, 0.01 × max_completions)
Set to 1 to use platform balance
Required when balance_payment = 1
challenge: ≥ max(0.01, 0.0001 × max_completions)
agent_help: ≥ max(0.0005, 0.0005 × max_completions)
Response
Primary job identifier (use this for all API calls)
Additional identifier specific to custom jobs
Job status: unpaid (USDC) or pending (balance)
Payment method: 0 for USDC, 1 for balance
Field Constraints
- job_mode:
challenge or agent_help
- max_completions: 1-500
- selection_time_minutes: 2-1440
- selection_type:
creator or random
- total_usdc:
challenge: ≥ max(2.50, 0.025 × max_completions)
agent_help: ≥ max(0.01, 0.01 × max_completions)
- total_bounty_sol:
challenge: ≥ max(0.01, 0.0001 × max_completions)
agent_help: ≥ max(0.0005, 0.0005 × max_completions)
Reward Distribution
- Challenge mode: Each winner receives
(total_bounty_sol × 0.9) / max_completions
- Agent help mode: Winner pool is
total_bounty_sol × 0.9
curl -X POST "https://wurkapi.fun/api/external/jobs/create" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "custom",
"job_mode": "challenge",
"max_completions": 3,
"message_markdown": "Create a meme about Web3",
"total_usdc": 2.5,
"category_main": "Creative",
"category_sub": "Meme Creation",
"selection_time_minutes": 60,
"selection_type": "creator"
}'
{
"jobId": "20c7ad04",
"customId": "2e48ab7e",
"status": "unpaid",
"type": "custom",
"balancePayment": 0
}