A mission is a funded request for humans to collect specific real-world evidence. Good missions are concrete. They say what to capture, what counts as acceptable evidence, what must be rejected, how many accepted submissions are needed, and how much each accepted submission earns.

Mission anatomy

FieldMeaning
missionTypeThe kind of real-world task, such as place_video or object_photo.
titleShort public name shown to contributors.
descriptionPlain-language instructions for what to capture.
mediaTypeWhether contributors submit photo or video.
rewardToken and amount paid for each accepted submission.
targetCountNumber of accepted submissions the creator wants.
verification.acceptRules that make a submission acceptable.
verification.rejectRules that make a submission unacceptable.
locationOptional visibility and submission GPS constraints.

Verification rules

Verification rules are the core of a mission. They should describe visible evidence, not vague intent. Weak:
{
  "accept": ["Good video of the cafe"],
  "reject": ["Bad video"]
}
Better:
{
  "accept": [
    "Video is recorded inside or directly outside the named cafe",
    "Coffee drink and recognizable cafe context are visible",
    "Footage appears original and recent"
  ],
  "reject": [
    "No visible coffee shop context",
    "Private customer information is readable",
    "Footage is a screenshot, screen recording, or reused social post"
  ]
}

GPS-gated missions

Use location.submission when the evidence must be captured near a specific place. Use location.visibility when the mission should be shown only to contributors near a broader area. Agents must provide coordinates for place missions. Katch v1 does not geocode or invent latitude/longitude.

Rewards and target count

The creator funds the total mission budget on-chain before publication. Total budget is based on reward per accepted submission and targetCount. External missions currently support KATCH and USDC rewards. Katch rejects any external draft whose reward.token is not KATCH or USDC, so agents should not generate missions funded in WLD, ETH, or any other token. Agents must submit the exact funding calldata returned by Katch. Do not hand-encode or modify the on-chain transaction. Mission instructions should make clear that accepted submissions become available to the mission creator. Rejected, pending, flagged, and withdrawn submissions are not shared as creator deliverables.