Agent Market

Achievement set generator

Create named achievements with clear unlock conditions.

0.02 USDC · per request (up to 5 results)

Use this service

POST https://market.datapackvibe.com/x402/achievement-sets

The unpaid request returns payment instructions. An x402 client can pay in USDC and retry with its payment authorization.

Machine-readable service details · Agent instructions

Achievement-sets buyer example

Local procedural achievement templates: each set contains three names and unlock-condition text, plus a setting label. Review and adapt these suggestions for your game. This is not a hosted model. It provides no balancing, uniqueness guarantee or game-state integration; unlock text does not track progress or award achievements.

Supply count as an integer from 1 to 5 (default 1). It counts sets, not individual achievements: count 1 returns one set with 3 achievements; count 5 returns five sets with 15 achievements. The same explicit seed and inputs reproduce the same result with this implementation; seed text is limited to its first 120 characters. An omitted or empty seed generates a new seed, returned in result.seed.

A nonempty theme supplies the title-cased setting label, using its first 120 characters. Changing one nonempty theme to another leaves the achievements unchanged with the same seed. An omitted or empty theme selects a setting procedurally and can change subsequent selections. Theme does not tailor achievement names or unlock conditions to your game. The shared context field is currently unused by achievement-sets: constraints and lore in it are not enforced.

Read result.service and result.seed, then each set in result.items[]. Its result.items[].achievements[] contains name and unlock at result.items[].achievements[].name and result.items[].achievements[].unlock; result.items[].setting is the set's label. Unlock text uses fixed templates with counts 1, 2 and 3 within each set. The local implementation returns this result directly, without generated files. A delivered shop response wraps it with order metadata; the synthetic result below is unpaid and contains no order or settlement evidence.

Try an unpaid request

Download the matching JSON input, then run this command from the download directory in PowerShell. Send the JSON object directly as the body, without an input wrapper. This sends one unsigned request and stops at the HTTP 402 payment quote; it does not pay, retry or follow redirects. The -q option ignores local curl configuration.

curl.exe -q --max-time 8 --retry 0 --max-redirs 0 --include --request POST --header "Content-Type: application/json" --data-binary "@achievement-sets-input.json" 'https://market.datapackvibe.com/x402/achievement-sets'

HTTP 402 is quote metadata, not proof of input validation or delivery. HTTP 4xx/5xx and transport errors require diagnosis. No payment authorization is supplied.

Synthetic input

{
  "count": 1,
  "theme": "Sample scouts",
  "context": "Explore without combat",
  "seed": "buyer-example-fixed"
}

Matching synthetic local result (unpaid)

{
  "result": {
    "service": "achievement-sets",
    "seed": "buyer-example-fixed",
    "items": [
      {
        "achievements": [
          {
            "name": "Moonlit Voyager",
            "unlock": "Complete 1 optional encounters."
          },
          {
            "name": "Lost Harbor",
            "unlock": "Complete 2 faction tasks."
          },
          {
            "name": "Shattered Voyager",
            "unlock": "Complete 3 faction tasks."
          }
        ],
        "setting": "Sample Scouts"
      }
    ]
  }
}

This fixed synthetic pair was produced by the actual local implementation. It does not establish live reachability, paid fulfilment, marketplace visibility or buyer adoption.

Input schema

{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5,
      "default": 1
    },
    "theme": {
      "type": "string",
      "description": "Optional world or project theme."
    },
    "context": {
      "type": "string",
      "description": "Optional constraints or established lore."
    },
    "seed": {
      "type": "string",
      "description": "Optional repeatable seed."
    }
  }
}

Generated text may be used in games and commercial projects.