# Trader Joe Bounty Watch

> Trader Joe Bounty Watch is a paid API for AI agents from joe-bounty-watch.marnick-yezo.workers.dev, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-14).

Creates and polls keyword-filtered watches over open Superteam and ETHGlobal bounty listings, returning matched opportunities with metadata

## Facts

- Endpoint: POST https://joe-bounty-watch.marnick-yezo.workers.dev/v1/watch
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/trader-joe-bounty-watch-8f2ef6f1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_AE8H30Qyvzsbgy5IoA0L0

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 trader-joe-bounty-watch-8f2ef6f1 -d '<json body>'
```

Example prompt: Watch Superteam and ETHGlobal for any open bounties matching 'rust' or 'zk proofs' that pay at least $300, and ping my webhook at https://myserver.com/bounty-alert whenever new ones show up.

## When to prefer this

Use this endpoint when you need to discover or continuously monitor open bounties and hackathon prizes across Superteam and ETHGlobal by keyword, skill, or minimum reward threshold — especially when you want webhook-driven automation. Prefer this over manual browsing or generic web search when you need structured listing metadata (deadline, sponsor, skills, chain, reward) in machine-readable form and want to pay only $0.05 per check.

## Known failure modes

- Payment not completed — returns unpaid response with seller payment details for x402 retry
- Invalid callbackUrl format — watch may be created but callbacks will silently fail
- No matches found — returns empty matches array with matched=0, not an error
- Unknown source enum value — may be ignored or cause a validation error
- Network timeout reaching Superteam or ETHGlobal — stale or partial results possible

## How this service works

Create and poll keyword watches over currently open Superteam listings and ETHGlobal events. $0.05 USDC per create or poll on Base.

## Output

Returns a watchId, a list of currently matched listings (each with title, URL, source platform, reward in USD, skills required, sponsor, deadline, chain, and which keywords triggered the match), plus the count of listings scanned and matched, the watch configuration, and a createdAt timestamp. Also includes seller/payment metadata confirming the $0.05 USDC charge was processed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "minUsd": {
   "type": "number",
   "description": "Minimum listing USD reward"
  },
  "sources": {
   "type": "array",
   "description": "Listing sources to watch. Omit for both."
  },
  "keywords": {
   "type": "array",
   "description": "Case-insensitive keywords matched against listing title, skills, sponsor, and body"
  },
  "callbackUrl": {
   "type": "string",
   "description": "Optional https URL. Cron POSTs {watchId, matches} here. No secrets are sent."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "watchId",
  "matches",
  "matched",
  "paid"
 ],
 "properties": {
  "paid": {
   "type": "boolean"
  },
  "minUsd": {
   "type": [
    "number",
    "null"
   ]
  },
  "seller": {
   "type": "object",
   "properties": {
    "payTo": {
     "type": "string"
    },
    "price": {
     "type": "string"
    },
    "network": {
     "type": "string"
    }
   }
  },
  "matched": {
   "type": "integer"
  },
  "matches": {
   "type": "array",
   "items": {
    "type": "object",
    "properties": {
     "id": {
      "type": "string"
     },
     "url": {
      "type": "string"
     },
     "usd": {
      "type": [
       "number",
       "null"
      ]
     },
     "why": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "kind": {
      "type": "string"
     },
     "chain": {
      "type": [
       "string",
       "null"
      ]
     },
     "title": {
      "type": "string"
     },
     "token": {
      "type": [
       "string",
       "null"
      ]
     },
     "skills": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "source": {
      "enum": [
       "superteam",
       "ethglobal"
      ],
      "type": "string"
     },
     "sponsor": {
      "type": [
       "string",
       "null"
      ]
     },
     "deadline": {
      "type": [
       "string",
       "null"
      ]
     },
     "agentAccess": {
      "type": "string"
     },
     "agentEligible": {
      "type": "boolean"
     }
    }
   }
  },
  "scanned": {
   "type": "integer"
  },
  "sources": {
   "type": "array",
   "items": {
    "type": "string"
   }
  },
  "watchId": {
   "type": "string"
  },
  "keywords": {
   "type": "array",
   "items": {
    "type": "string"
   }
  },
  "createdAt": {
   "type": "string",
   "format": "date-time"
  },
  "callbackUrl": {
   "type": [
    "string",
    "null"
   ]
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/trader-joe-bounty-watch-8f2ef6f1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from joe-bounty-watch.marnick-yezo.workers.dev](https://www.zero.xyz/host/joe-bounty-watch.marnick-yezo.workers.dev/llms.txt)
