# GL1TCH Verifiable Random Number Generator

> GL1TCH Verifiable Random Number Generator is a paid API for AI agents from gl1tchbased.xyz, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-31).

Returns one or more cryptographically verifiable random integers in a caller-specified range, backed by a future drand League of Entropy threshold-BLS beacon round with full proof for independent verification.

## Facts

- Endpoint: GET https://gl1tchbased.xyz/api/x402/random?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/gl1tch-verifiable-random-number-generator-9c4f0bc0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_uN_cPqAJBJuM33q0CucBM

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 gl1tch-verifiable-random-number-generator-9c4f0bc0
```

Example prompt: Pick 5 random winners from ticket numbers 1 to 500 for my raffle — I need cryptographic proof that the numbers were unforeseeable so participants can verify them independently. Use 'myraffle2025' as the salt.

## When to prefer this

Choose this endpoint when you need provably fair, publicly verifiable random integers — especially for raffles, lotteries, giveaways, games, or any allocation where participants must be able to independently confirm the result was not manipulated. Unlike pseudo-random or server-side RNG, every result is tied to a future drand League of Entropy BLS threshold beacon round that neither the caller nor the server could have known at request time, and the full cryptographic proof is returned for audit. Prefer this over standard RNG when trust, transparency, and auditability are requirements.

## Known failure modes

- drand beacon round not yet available — request may need to be retried
- invalid min/max range (min >= max or non-integer values)
- count out of range (must be 1–1000)
- salt contains disallowed characters or exceeds 64 chars
- payment failure — not charged on error responses
- network timeout reaching drand quicknet

## How this service works

Verifiable random numbers: integers in your range from a future drand quicknet round (League of Entropy threshold-BLS beacon), so neither the caller nor the server can know them at request time. Each result carries the round signature and the commitment, so anyone can recompute and check it. Use it for raffles, giveaways, lotteries, fair allocation and games. Not charged on failure.

## Output

A JSON object containing: an array of random integers within the requested range; a spec object confirming the min, max, and count; and a proof object with the drand source identifier, chain hash, round number, raw randomness (sha256 of round signature), BLS round signature, commitment (what was committed before the round existed), request ID (sha256 of commitment), and a human-readable verification instruction string. All fields needed to independently recompute and validate the result are included.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {
      "max": {
       "type": "string",
       "description": "Largest value (integer, default 100)"
      },
      "min": {
       "type": "string",
       "description": "Smallest value (integer, default 1)"
      },
      "salt": {
       "type": "string",
       "description": "Your own label, bound into the commitment (1-64 chars of A-Z a-z 0-9 _ . : -)"
      },
      "count": {
       "type": "string",
       "description": "How many integers, 1-1000 (default 1)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "kind",
      "values",
      "spec",
      "proof"
     ],
     "properties": {
      "kind": {
       "enum": [
        "ints"
       ],
       "type": "string"
      },
      "spec": {
       "type": "object",
       "required": [
        "kind",
        "min",
        "max",
        "count"
       ],
       "properties": {
        "max": {
         "type": "integer",
         "description": "Largest value"
        },
        "min": {
         "type": "integer",
         "description": "Smallest value"
        },
        "kind": {
         "enum": [
          "ints"
         ],
         "type": "string"
        },
        "count": {
         "type": "integer",
         "description": "How many values"
        }
       }
      },
      "proof": {
       "type": "object",
       "required": [
        "source",
        "chainHash",
        "round",
        "randomness",
        "signature",
        "requestId",
        "commitment",
        "verify"
       ],
       "properties": {
        "round": {
         "type": "integer",
         "description": "drand round the values come from"
        },
        "source": {
         "enum": [
          "drand-quicknet"
         ],
         "type": "string"
        },
        "verify": {
         "type": "string",
         "description": "How 
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/gl1tch-verifiable-random-number-generator-9c4f0bc0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from gl1tchbased.xyz](https://www.zero.xyz/host/gl1tchbased.xyz/llms.txt)
