Api Endpoint

Verifiable Random Tools

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.

Open interactive test console

Offering

Provider
verifiable-random.use.x402atlas.com
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Security
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://verifiable-random.use.x402atlas.com/dice
MIME type
Not provided
First seen
2026-10-16T01:50:10.647Z
Last seen
Tags
verifiable-random, dice-roll, random-number, drand, fair-randomness

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.005 USDC
Atomic price: 5000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.005 USDC
Atomic price: 5000 · Network: eip155:137 · Asset: USDC · Scheme: exact
Payment option 3
0.005 USDC
Atomic price: 5000 · Network: eip155:42161 · Asset: USDC · Scheme: exact
Payment option 4
0.005 USDC
Atomic price: 5000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "5000",
    "payTo": "0x8C128f1Ee62Bb5e47867CfbAe2ad89be325Df1b2"
  },
  {
    "scheme": "exact",
    "network": "eip155:137",
    "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    "amount": "5000",
    "payTo": "0x8C128f1Ee62Bb5e47867CfbAe2ad89be325Df1b2"
  },
  {
    "scheme": "exact",
    "network": "eip155:42161",
    "asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
    "amount": "5000",
    "payTo": "0x8C128f1Ee62Bb5e47867CfbAe2ad89be325Df1b2"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "5000",
    "payTo": "ASt6xvRyQ7ntERsmcYVMdLqZvz1GEN8Fzexzq62tXrNQ"
  }
]

Observed health

Status
Reachable
Latest latency
11 ms
Average latency
14 ms
HTTP status
405
Last checked
Reachability
100% over 12 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "body": {
      "additionalProperties": false,
      "description": "Dice request bound to a future drand round.",
      "properties": {
        "algorithm_version": {
          "default": "drand-hkdf-sha256-v1",
          "description": "Optional version guard; when supplied it must match the server's pinned derivation algorithm.",
          "enum": [
            "drand-hkdf-sha256-v1"
          ],
          "type": "string"
        },
        "client_seed": {
          "default": "",
          "description": "Optional public domain-separation label, not secret entropy.",
          "maxLength": 256,
          "type": "string"
        },
        "count": {
          "description": "Number of independent dice to roll.",
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "sides": {
          "description": "Number of equally likely faces on each die; returned values range from 1 through sides.",
          "maximum": 1000000000,
          "minimum": 2,
          "type": "integer"
        },
        "target_round": {
          "default": 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.",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "count",
        "sides"
      ],
      "type": "object"
    },
    "bodyType": {
      "enum": [
        "json",
        "form-data",
        "text"
      ],
      "type": "string"
    },
    "method": {
      "enum": [
        "POST"
      ],
      "type": "string"
    },
    "type": {
      "const": "http",
      "type": "string"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "type": "object"
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "description": "Dice request bound to a future drand round.",
          "properties": {
            "algorithm_version": {
              "default": "drand-hkdf-sha256-v1",
              "description": "Optional version guard; when supplied it must match the server's pinned derivation algorithm.",
              "enum": [
                "drand-hkdf-sha256-v1"
              ],
              "type": "string"
            },
            "client_seed": {
              "default": "",
              "description": "Optional public domain-separation label, not secret entropy.",
              "maxLength": 256,
              "type": "string"
            },
            "count": {
              "description": "Number of independent dice to roll.",
              "maximum": 1000,
              "minimum": 1,
              "type": "integer"
            },
            "sides": {
              "description": "Number of equally likely faces on each die; returned values range from 1 through sides.",
              "maximum": 1000000000,
              "minimum": 2,
              "type": "integer"
            },
            "target_round": {
              "default": 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.",
              "minimum": 0,
              "type": "integer"
            }
          },
          "required": [
            "count",
            "sides"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "additionalProperties": false,
          "description": "Verifiable Random result and complete drand derivation transcript.",
          "properties": {
            "algorithm_version": {
              "description": "Pinned canonicalization, derivation, and sampling algorithm version required to reproduce the result.",
              "enum": [
                "drand-hkdf-sha256-v1"
              ],
              "type": "string"
            },
            "beacon": {
              "additionalProperties": false,
              "description": "Locally verified drand Quicknet proof used as the public randomness source.",
              "properties": {
                "chain_hash": {
                  "description": "Pinned Quicknet chain hash used to fetch and verify the round.",
                  "enum": [
                    "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"
                  ],
                  "type": "string"
                },
                "network": {
                  "description": "Pinned drand network name.",
                  "enum": [
                    "quicknet"
                  ],
                  "type": "string"
                },
                "randomness": {
                  "description": "Lowercase hexadecimal randomness derived from the verified signature.",
                  "pattern": "^[0-9a-f]{64}$",
                  "type": "string"
                },
                "round": {
                  "description": "Exact verified Quicknet round used for this result.",
                  "minimum": 1,
                  "type": "integer"
                },
                "scheduled_time": {
                  "description": "Scheduled UTC publication time of the selected round.",
                  "format": "date-time",
                  "type": "string"
                },
                "scheme": {
                  "description": "Pinned drand signature scheme.",
                  "enum": [
                    "bls-unchained-g1-rfc9380"
                  ],
                  "type": "string"
                },
                "signature": {
                  "description": "Lowercase hexadecimal BLS signature verified against the pinned Quicknet public key.",
                  "pattern": "^[0-9a-f]{96}$",
                  "type": "string"
                }
              },
              "required": [
                "network",
                "chain_hash",
                "scheme",
                "round",
                "scheduled_time",
                "randomness",
                "signature"
              ],
              "type": "object"
            },
            "example_only": {
              "description": "True only in compiled catalog/keepalive examples; live paid results are false.",
              "type": "boolean"
            },
            "operation": {
              "description": "Random operation performed by this route.",
              "enum": [
                "dice"
              ],
              "type": "string"
            },
            "processed_at": {
              "description": "UTC time when the service accepted the request and committed to the round-selection decision.",
              "format": "date-time",
              "type": "string"
            },
            "request_hash": {
              "description": "Lowercase SHA-256 of your canonical request JSON — retain the exact request body so you can re-derive the result offline.",
              "pattern": "^[0-9a-f]{64}$",
              "type": "string"
            },
            "result": {
              "additionalProperties": false,
              "description": "Operation-specific result derived deterministically from the verified beacon and request hash.",
              "properties": {
                "maximum": {
                  "description": "Largest returned die value.",
                  "type": "integer"
                },
                "minimum": {
                  "description": "Smallest returned die value.",
                  "type": "integer"
                },
                "total": {
                  "description": "Sum of all returned dice values.",
                  "type": "integer"
                },
                "values": {
                  "description": "Dice values in draw order, each between 1 and sides.",
                  "items": {
                    "type": "integer"
                  },
                  "type": "array"
                }
              },
              "required": [
                "values",
                "total",
                "minimum",
                "maximum"
              ],
              "type": "object"
            },
            "selection_mode": {
              "description": "server_next means the server chose the next safe unpublished round, so you trust its selection chronology; client_fixed means the round is the one you committed to before paying and no other round can be substituted; example_only appears only in catalog examples.",
              "enum": [
                "server_next",
                "client_fixed",
                "example_only"
              ],
              "type": "string"
            },
            "target_round": {
              "description": "Echoes the round actually selected for this result; in server_next mode this is the server-chosen round, not the 0 you sent.",
              "minimum": 1,
              "type": "integer"
            }
          },
          "required": [
            "operation",
            "algorithm_version",
            "selection_mode",
            "target_round",
            "example_only",
            "processed_at",
            "request_hash",
            "beacon",
            "result"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}