Catalog/gen-loot-roll

Generators

Seeded loot table roll API

Rolls a weighted loot/drop table N times deterministically from a seed, returning each drop, per-item counts, and the computed drop-rate distribution. The value-add: reproducible weighted drops with correct cumulative-weight selection and exposed probabilities. Answers 'Roll this loot table deterministically', 'What are the drop rates and what dropped for this seed?'.

Price$0.02per request
MethodPOST
Route/v1/generate/loot-roll
StatusLive
MIME typeapplication/json
Rate limit120/minute
Cache0s public
lootdrop-tableweightedgachadeterministicseedgamegenerate
API URLhttps://x402.hexl.dev/v1/generate/loot-roll
Integration docs
Example request
{
  "table": [
    {
      "item": "common",
      "weight": 70,
      "rarity": "common"
    },
    {
      "item": "rare",
      "weight": 25,
      "rarity": "rare"
    },
    {
      "item": "legendary",
      "weight": 5,
      "rarity": "legendary"
    }
  ],
  "rolls": 5,
  "seed": "abc"
}
Example response
{
  "results": [
    {
      "item": "common",
      "rarity": "common"
    },
    {
      "item": "common",
      "rarity": "common"
    },
    {
      "item": "common",
      "rarity": "common"
    },
    {
      "item": "rare",
      "rarity": "rare"
    },
    {
      "item": "rare",
      "rarity": "rare"
    }
  ],
  "rolls": 5,
  "counts": {
    "common": 3,
    "rare": 2
  },
  "totalWeight": 100,
  "dropRates": {
    "common": 0.7,
    "rare": 0.25,
    "legendary": 0.05
  },
  "seed": "abc",
  "deterministic": true,
  "interpretation": "5 reproducible loot rolls; drop rate = weight / total weight."
}
Input schema
{
  "type": "object",
  "required": [
    "table",
    "seed"
  ],
  "properties": {
    "table": {
      "type": "array",
      "examples": [
        [
          {
            "item": "common",
            "weight": 70
          },
          {
            "item": "rare",
            "weight": 25
          },
          {
            "item": "legendary",
            "weight": 5
          }
        ]
      ]
    },
    "rolls": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000,
      "examples": [
        5
      ]
    },
    "seed": {
      "type": [
        "string",
        "number"
      ],
      "examples": [
        "abc"
      ]
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}