# Verifiable Random Dice (x402atlas)

> Verifiable Random Dice (x402atlas) is a paid API for AI agents from verifiable-random.use.x402atlas.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-02).

Rolls one or more dice with cryptographically verifiable randomness sourced from a future drand beacon round, returning results with a reproducible proof transcript.

## Facts

- Endpoint: POST https://verifiable-random.use.x402atlas.com/dice?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/verifiable-random-dice-x402atlas-ea3a6294
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_3ieAlVx0qT1N9mErAgeMC

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 verifiable-random-dice-x402atlas-ea3a6294 -d '<json body>'
```

Example prompt: Roll 2 six-sided dice for me using verifiable randomness — I need a proof transcript I can check myself so I know the result wasn't rigged.

## When to prefer this

Choose this endpoint when you need dice rolls that are provably unbiased and auditable by third parties — specifically when participants must be able to independently verify the randomness source after the fact. It is preferable over simple pseudo-random generators for games, lotteries, or smart contract use cases where trust and transparency are required. The drand-binding approach means no party — including the server — can predict or manipulate the outcome before the round is committed.

## Known failure modes

- drand round fetch timeout — if the beacon network is slow, the 3-6s wait may exceed limits
- invalid dice configuration (e.g. zero sides, negative count) returns a 400 error
- payment not included or insufficient USDC causes a 402 payment required response
- drand verification failure if local proof check detects a mismatch

## How this service works

Verifiable Random dice — unbiased dice rolls bound to a future drand round the server waits for (typically 3-6s) and verifies locally, with a reproducible proof transcript.

## Output

Returns the numeric results of each die roll along with the drand round number used, the randomness beacon value, and a reproducible proof transcript that allows anyone to independently verify the rolls were derived fairly from a publicly committed future entropy source.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "count": {
   "type": "integer",
   "maximum": 1000,
   "minimum": 1,
   "description": "Number of independent dice to roll."
  },
  "sides": {
   "type": "integer",
   "maximum": 1000000000,
   "minimum": 2,
   "description": "Number of equally likely faces on each die; returned values range from 1 through sides."
  },
  "client_seed": {
   "type": "string",
   "default": "",
   "maxLength": 256,
   "description": "Optional public domain-separation label, not secret entropy."
  },
  "target_round": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "0 asks the server to choose the next safe unpublished round; a positive value makes a client_fixed commitment and must still be safely in the future."
  },
  "algorithm_version": {
   "enum": [
    "drand-hkdf-sha256-v1"
   ],
   "type": "string",
   "default": "drand-hkdf-sha256-v1",
   "description": "Optional version guard; when supplied it must match the server's pinned derivation algorithm."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "beacon": {
   "round": 1,
   "scheme": "bls-unchained-g1-rfc9380",
   "network": "quicknet",
   "signature": "b55e7cb2d5c613ee0b2e28d6750aabbb78c39dcc96bd9d38c2c2e12198df95571de8e8e402a0cc48871c7089a2b3af4b",
   "chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",
   "randomness": "1466a6cd24e327188770752f6134001c64d6efcc590ccc26b721611ad96f165a",
   "scheduled_time": "2023-08-23T15:09:27Z"
  },
  "result": {
   "total": 44,
   "values": [
    14,
    19,
    11
   ],
   "maximum": 19,
   "minimum": 11
  },
  "operation": "dice",
  "example_only": true,
  "processed_at": "2023-08-23T15:09:27Z",
  "request_hash": "b204a373d565d666efc9c4f9d522878082c35a8eb654d5da470bc2360aaaa374",
  "target_round": 1,
  "selection_mode": "example_only",
  "algorithm_version": "drand-hkdf-sha256-v1"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/verifiable-random-dice-x402atlas-ea3a6294/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from verifiable-random.use.x402atlas.com](https://www.zero.xyz/host/verifiable-random.use.x402atlas.com/llms.txt)
