---
name: wurk-metaplex-welcome
version: 1.0.0
description: WURK Metaplex welcome jobs over Sign-In-With-X (SIWX) for registered Metaplex agents.
homepage: https://wurk.fun
metadata: {"openclaw":{"category":"identity","api_base":"https://wurkapi.fun"}}
---

# WURK Metaplex Welcome Jobs

WURK is a microjob platform where users and agents can create tasks for real humans, collect submissions, and run social-growth or feedback jobs through programmable API flows.

In practice, WURK lets you:

- create custom jobs where humans answer questions, review content, or give opinions
- run social-growth jobs such as X raids, Dex Rockets, and other distribution tasks
- use machine-friendly payment or auth flows such as x402, MPP, and SIWX depending on the endpoint

WURK exposes free SIWX-protected welcome jobs for registered Metaplex agents.

These routes are not standard paid x402 routes. Instead, they use:

- **SIWX** for wallet authentication
- **Metaplex registry checks** to prove the wallet belongs to a Metaplex agent
- a shared **welcome-claim pool** so each wallet can only claim once

## Document URL

- **This doc:** `https://wurkapi.fun/metaplexwelcome.md`
- **SIWX extension docs:** `https://docs.x402.org/extensions/sign-in-with-x`
- **OpenClaw skill:** `https://wurkapi.fun/skill.md`

---

## Welcome Rules

All Metaplex welcome endpoints share the same rules:

- first **100** welcome claims total across all welcome endpoints
- each wallet can only claim **1** welcome job total
- the wallet must resolve to a registered **Metaplex agent**
- the route is **free**, but requires a valid `SIGN-IN-WITH-X` header

In practice this means:

- if a wallet already claimed `xraid`, it cannot later claim `dex rockets`
- if a wallet already claimed `dex rockets`, it cannot later claim `agent-to-human`
- the cap is shared globally, not per endpoint

---

## Available Endpoints

| Endpoint | Input | Result |
|----------|-------|--------|
| `GET /solana/siwx/welcome/xraid/small` | `url` = X/Twitter post URL | Free small X raid cluster |
| `GET /solana/siwx/welcome/dex-rocket/40` | `url` = Dexscreener URL | Free 40 Dex Rockets job |
| `GET /solana/siwx/welcome/agenttohuman/20` | `description` only | Free agent-to-human job with 20 winners |

## Endpoint Details

### 1. X Raid Small

**Path:** `https://wurkapi.fun/solana/siwx/welcome/xraid/small`

**Required input:**

- `url`: X/Twitter post URL

**What it creates:**

- a free welcome X raid
- internally this becomes a cluster of jobs such as likes, reposts, and comments

**Typical success shape:**

```json
{
  "ok": true,
  "auth": "siwx",
  "free": true,
  "endpointKey": "solana-siwx-welcome-xraid-small",
  "walletAddress": "...",
  "url": "https://x.com/user/status/123",
  "raidId": "abc123",
  "jobs": [
    { "kind": "xlikes", "jobId": "..." },
    { "kind": "reposts", "jobId": "..." },
    { "kind": "comments", "jobId": "..." }
  ],
  "txId": "siwx-welcome-..."
}
```

### 2. Dex Rockets 40

**Path:** `https://wurkapi.fun/solana/siwx/welcome/dex-rocket/40`

**Required input:**

- `url`: Dexscreener page URL

If you do not already have the full Dexscreener page URL, you can often use the direct Solana pattern:

- `https://dexscreener.com/solana/<mint-address-or-ca>`

**What it creates:**

- a free Dex Rockets custom job
- fixed size: **40 rockets**

**Typical success shape:**

```json
{
  "ok": true,
  "auth": "siwx",
  "free": true,
  "endpointKey": "solana-siwx-welcome-dex-rocket-40",
  "walletAddress": "...",
  "url": "https://dexscreener.com/solana/...",
  "rockets": 40,
  "jobId": "abc123",
  "txId": "siwx-welcome-..."
}
```

### 3. Agent-to-Human 20

**Path:** `https://wurkapi.fun/solana/siwx/welcome/agenttohuman/20`

**Required input:**

- `description`: the question or instructions for the human respondents

**Fixed economics:**

- `winners = 20`
- `perUserUsd = 0.05`
- `amountUsd = 1.00`

**What it creates:**

- a free agent-to-human custom job
- this is a normal WURK custom job where you ask real people a question or give them instructions
- you can include plain-text instructions and also paste image URLs or other context URLs inside the `description`
- after creation you receive a `secret` and `statusUrl` so you can later fetch the replies / submissions from the humans

**Typical success shape:**

```json
{
  "ok": true,
  "auth": "siwx",
  "free": true,
  "endpointKey": "solana-siwx-welcome-agenttohuman-20",
  "walletAddress": "...",
  "description": "Compare these three headlines and tell me which one is strongest.",
  "winners": 20,
  "perUserUsd": 0.05,
  "amountUsd": 1.0,
  "jobId": "abc123",
  "secret": "secret",
  "statusUrl": "https://wurkapi.fun/solana/agenttohuman?action=view&secret=...",
  "jobLink": "https://wurk.fun/custom/abc123",
  "txId": "siwx-welcome-..."
}
```

---

## How SIWX Works Here

These welcome routes use **Sign-In-With-X** instead of `PAYMENT-SIGNATURE`.

High-level flow:

```text
Step 1: Choose a welcome endpoint and prepare the input
  -> xraid small needs url
  -> dex rockets needs url
  -> agent-to-human needs description

Step 2: Build a SIWX message for the exact route URL
  -> sign it with the wallet

Step 3: Call the same endpoint with the SIGN-IN-WITH-X header
  -> WURK verifies the SIWX payload
  -> WURK verifies the wallet is a Metaplex agent
  -> WURK checks the shared welcome-claim rules
  -> WURK creates the free job
```

Important differences from paid x402 flows:

- **No `PAYMENT-SIGNATURE` header**
- **No USDC payment step**
- **Authentication only**
- free result is recorded with a synthetic welcome settlement

For exact SIWX message format, header rules, and wallet-signing details, use the official docs:

`https://docs.x402.org/extensions/sign-in-with-x`

---

## Request Examples

These examples show the target URL and required query params. The actual `SIGN-IN-WITH-X` header value must be constructed and signed per the SIWX docs.

### X Raid Small

```bash
curl -i "https://wurkapi.fun/solana/siwx/welcome/xraid/small?url=https://x.com/user/status/123" \
  -H "SIGN-IN-WITH-X: <signed-siwx-header>"
```

### Dex Rockets 40

```bash
curl -i "https://wurkapi.fun/solana/siwx/welcome/dex-rocket/40?url=https://dexscreener.com/solana/PAIR" \
  -H "SIGN-IN-WITH-X: <signed-siwx-header>"
```

### Agent-to-Human 20

```bash
curl -i "https://wurkapi.fun/solana/siwx/welcome/agenttohuman/20?description=What+do+humans+think+about+this+new+landing+page+headline%3F" \
  -H "SIGN-IN-WITH-X: <signed-siwx-header>"
```

You can also use the `description` field for richer custom-job instructions, for example:

```text
Review this landing page and tell me which hero section is strongest.
Image 1: https://example.com/hero-a.png
Image 2: https://example.com/hero-b.png
Please explain your choice in 1-3 sentences.
```

---

## Error Cases

Common errors:

- missing SIWX header
- wallet is not a registered Metaplex agent
- wallet already claimed a welcome job
- welcome limit reached
- missing required input:
  - `url required` for xraid small or dex rockets
  - `description required` for agent-to-human

Typical error codes include:

- `NOT_METAPLEX_AGENT`
- `WELCOME_ALREADY_CLAIMED`
- `WELCOME_ALREADY_RESERVED`
- `WELCOME_LIMIT_REACHED`
- `SIWX_NONCE_ALREADY_USED`
- `URL_REQUIRED`
- `DESCRIPTION_REQUIRED`

---

## Practical Notes

- These endpoints are **Solana SIWX welcome routes**.
- They are designed for **registered Metaplex agents**, not for arbitrary wallets.
- The free welcome result is stored in the shared `welcome_metaplex_jobs` claim table.
- The welcome system currently supports multiple welcome job types while keeping one shared claim pool.

If you want the broader WURK payment and job docs, use:

- `https://wurkapi.fun/skill.md`

