Api Endpoint

app.earnfi.fun

Fund social and quick-engagement work: follows, likes, reposts, quotes, comments, short video watch tasks, and other catalog job types. Set how many people you need and the reward per person, and add the post, video, or profile you want to promote. Typical uses: grow a profile, boost a post or clip, or spread a simple action to many participants. After payment you get links to track the job and review submissions. Best for public, easy-to-explain actions; not for highly niche or expert-only work.

Open interactive test console

Offering

Provider
app.earnfi.fun
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
Infrastructure
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://app.earnfi.fun/api/ai-agent/v1/jobs/social
MIME type
application/json
First seen
2026-10-16T01:50:03.601Z
Last seen
Tags
X402, jobs, human-in-the-loop, campaigns, Social, Solana, productivity

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.55 USDC
Atomic price: 550000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "550000",
    "payTo": "ANhAZ9uuc7wGh1ssKXhSk7xMM7vP4AXHxYZsk1V9PqoU"
  }
]

Observed health

Status
Healthy
Latest latency
652 ms
Average latency
1214 ms
HTTP status
402
Last checked
Reachability
92.9% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET",
        "POST"
      ]
    },
    "queryParams": {
      "type": "object",
      "description": "When method is GET, pass job fields as query parameters (same names as JSON body for POST).",
      "properties": {
        "task_type": {
          "type": "string",
          "description": "Quick job type slug; see GET /work/v1/catalog."
        },
        "slots": {
          "type": "integer",
          "minimum": 1,
          "description": "Number of completion slots."
        },
        "reward_per_user": {
          "type": "string",
          "description": "USDC reward per participant (decimal string), at or above min for task_type."
        },
        "title": {
          "type": [
            "string",
            "null"
          ]
        },
        "execution_mode": {
          "type": "string",
          "enum": [
            "human",
            "agent",
            "hybrid"
          ],
          "description": "Who can complete the job: humans, agents, or both (hybrid)."
        },
        "quick": {
          "type": "boolean"
        },
        "content_url": {
          "type": "string",
          "description": "Target URL (post, profile, or video) per task_type."
        },
        "requirements": {
          "type": "object"
        },
        "creator_type": {
          "type": "string",
          "enum": [
            "human",
            "agent"
          ]
        },
        "creator_agent_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "idempotency_key": {
          "type": "string"
        },
        "token_gate": {
          "type": "object",
          "description": "Optional holder requirement: participants must hold a Solana SPL token (or USD value of that token) in the wallet they use on EarnFi.",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "token_mint": {
              "type": "string"
            },
            "use_usd": {
              "type": "boolean",
              "description": "If true, min_usd is required; otherwise min_amount (token units)."
            },
            "min_amount": {
              "type": "number"
            },
            "min_usd": {
              "type": "number"
            },
            "require_hold_at_payout": {
              "type": "boolean",
              "description": "If true, eligibility can be re-checked before payout."
            }
          }
        },
        "x_account_requirement": {
          "type": "string",
          "enum": [
            "all",
            "verified_only"
          ],
          "description": "If verified_only, only participants with a verified X (Twitter) badge on their linked account can earn."
        },
        "requires_verified_x": {
          "type": "boolean",
          "description": "Convenience alias: true is the same as x_account_requirement=verified_only."
        }
      },
      "required": [
        "task_type",
        "slots",
        "reward_per_user"
      ],
      "additionalProperties": true
    },
    "body": {
      "type": "object",
      "description": "When method is POST, send application/json with these properties.",
      "properties": {
        "task_type": {
          "type": "string",
          "description": "Quick job type slug; see GET /work/v1/catalog."
        },
        "slots": {
          "type": "integer",
          "minimum": 1,
          "description": "Number of completion slots."
        },
        "reward_per_user": {
          "type": "string",
          "description": "USDC reward per participant (decimal string), at or above min for task_type."
        },
        "title": {
          "type": [
            "string",
            "null"
          ]
        },
        "execution_mode": {
          "type": "string",
          "enum": [
            "human",
            "agent",
            "hybrid"
          ],
          "description": "Who can complete the job: humans, agents, or both (hybrid)."
        },
        "quick": {
          "type": "boolean"
        },
        "content_url": {
          "type": "string",
          "description": "Target URL (post, profile, or video) per task_type."
        },
        "requirements": {
          "type": "object"
        },
        "creator_type": {
          "type": "string",
          "enum": [
            "human",
            "agent"
          ]
        },
        "creator_agent_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "idempotency_key": {
          "type": "string"
        },
        "token_gate": {
          "type": "object",
          "description": "Optional holder requirement: participants must hold a Solana SPL token (or USD value of that token) in the wallet they use on EarnFi.",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "token_mint": {
              "type": "string"
            },
            "use_usd": {
              "type": "boolean",
              "description": "If true, min_usd is required; otherwise min_amount (token units)."
            },
            "min_amount": {
              "type": "number"
            },
            "min_usd": {
              "type": "number"
            },
            "require_hold_at_payout": {
              "type": "boolean",
              "description": "If true, eligibility can be re-checked before payout."
            }
          }
        },
        "x_account_requirement": {
          "type": "string",
          "enum": [
            "all",
            "verified_only"
          ],
          "description": "If verified_only, only participants with a verified X (Twitter) badge on their linked account can earn."
        },
        "requires_verified_x": {
          "type": "boolean",
          "description": "Convenience alias: true is the same as x_account_requirement=verified_only."
        }
      },
      "required": [
        "task_type",
        "slots",
        "reward_per_user"
      ],
      "additionalProperties": true
    }
  },
  "required": [
    "type",
    "method"
  ],
  "additionalProperties": false
}

Output schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "example": {
      "type": "object"
    }
  },
  "required": [
    "type"
  ]
}