# EarnFi Social Engagement Job Creator

> EarnFi Social Engagement Job Creator is a paid API for AI agents from app.earnfi.fun, paid per call via x402, $0.55/call, status unknown (last checked 2026-09-14).

Creates and funds paid social media engagement tasks (follows, likes, reposts, comments, watch) on EarnFi, distributing rewards to human participants per slot via x402 payment.

## Facts

- Endpoint: GET https://app.earnfi.fun/api/ai-agent/v1/jobs/social
- Price: $0.55/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402, productivity
- Canonical page: https://www.zero.xyz/c/earnfi-social-engagement-job-creator-3bf993ca
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_CC-i2EN76_EogMRELUdld

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability earnfi-social-engagement-job-creator-3bf993ca
```

Example prompt: Create a paid follow task on EarnFi for my X account @MyCryptoProject with 100 participant slots, rewarding each person $0.05 USDC — require verified X accounts only and use 'Follow MyCryptoProject on X' as the job title.

## When to prefer this

Use this endpoint when you need real human participants to perform social media actions (follow, like, repost, comment, watch) on a specific piece of content and are willing to pay per-participant USDC rewards via x402; prefer this over bot-based or automated engagement tools when verified, human social proof is required; prefer over EarnFi Contest or Manual endpoints when the task type is a standard catalog social action rather than a prize competition or custom instruction.

## Known failure modes

- HTTP 402 returned when no x402 payment header is provided — response includes accepts[] and resource.description to guide retry
- Invalid task_type enum value causes validation error
- content_url missing or malformed results in job creation failure
- Insufficient USDC balance for total reward pool (slots × reward_per_user) causes payment rejection
- token_gate expression syntax error returns schema validation error
- requires_verified_x combined with unavailable verified participants may result in unfilled slots

## How this service works

**Paid (x402).** Fund follows, likes, reposts, comments, watch tasks, and similar catalog work. **Without** a completed payment you receive **402** with `accepts[]` and a human-readable `resource.description`. **With** payment, retry the **same** request including the x402 payment header. Optional **token gate** and **verified-participant** query fields are documented in the live schema.

## Output

Returns a funded social engagement job object with slot count, reward configuration, task type, content URL target, and participant eligibility settings; if payment is missing, returns HTTP 402 with an accepts[] array listing acceptable payment methods and a human-readable resource description.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "slots": {
   "type": "integer",
   "description": "Number of participant slots to fund for the job."
  },
  "title": {
   "type": "string",
   "description": "Human-readable job title shown to potential participants."
  },
  "task_type": {
   "type": "string",
   "description": "Catalog task type to create, such as follow, like, repost, comment, or watch."
  },
  "token_gate": {
   "type": "string",
   "description": "Optional token-holder gate expression limiting who may participate."
  },
  "content_url": {
   "type": "string",
   "description": "URL of the post, profile, video, or other content participants should engage with."
  },
  "execution_mode": {
   "enum": [
    "human"
   ],
   "type": "string",
   "description": "Must be human (default)."
  },
  "reward_per_user": {
   "type": "string",
   "description": "Reward paid to each participant, expressed as a decimal USDC string."
  },
  "requires_verified_x": {
   "type": "boolean",
   "description": "When true, require participants to have verified X accounts."
  },
  "x_account_requirement": {
   "enum": [
    "all",
    "verified_only",
    "verified"
   ],
   "type": "string"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/earnfi-social-engagement-job-creator-3bf993ca/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from app.earnfi.fun](https://www.zero.xyz/host/app.earnfi.fun/llms.txt)
