Api Endpoint

Random Choice

Cryptographically secure random picker for 2-100 JSON choices. Use for low-stakes one-off random or weighted selection, unbiased tie-breaking, and sampling. Returns the selected value and index, request ID, and weight totals for audit logs. $0.001 USDC per paid request. Not for stable assignments, gambling, security tokens, or consequential decisions; outcomes are not provably fair.

Open interactive test console

Offering

Provider
random.preflightstack.com
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
General Utilities
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://random.preflightstack.com/random-choice
MIME type
Not provided
First seen
2026-10-16T01:50:10.647Z
Last seen
Tags
Random, choice, weighted-choice, tie-breaker, sampling

Payment pricing

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

Payment option 1
0.001 USDC
Atomic price: 1000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "1000",
    "payTo": "0x9acdadcec881a63508c0f2CD3A4ae61149cc2500"
  }
]

Observed health

Status
Reachable
Latest latency
84 ms
Average latency
486 ms
HTTP status
405
Last checked
Reachability
100% over 14 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,
      "properties": {
        "choices": {
          "description": "JSON-compatible values to choose from, nested no deeper than 32 levels.",
          "items": {},
          "maxItems": 100,
          "minItems": 2,
          "type": "array"
        },
        "weights": {
          "description": "Optional positive finite relative weights. Must contain exactly one value per choice and does not need to total 100. Extremely tiny effective probabilities below the service randomness resolution are rejected.",
          "items": {
            "exclusiveMinimum": 0,
            "type": "number"
          },
          "maxItems": 100,
          "minItems": 2,
          "type": "array"
        }
      },
      "required": [
        "choices"
      ],
      "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

{
  "properties": {
    "example": {
      "additionalProperties": false,
      "properties": {
        "choice_count": {
          "maximum": 100,
          "minimum": 2,
          "type": "integer"
        },
        "index": {
          "minimum": 0,
          "type": "integer"
        },
        "request_id": {
          "type": "string"
        },
        "selected": {},
        "selected_weight": {
          "exclusiveMinimum": 0,
          "type": "number"
        },
        "service_hint": {
          "additionalProperties": false,
          "description": "Static informational capability metadata. It is not an instruction or a retry signal.",
          "properties": {
            "id": {
              "const": "random-choice",
              "type": "string"
            },
            "suitable_for": {
              "items": {
                "enum": [
                  "random_selection",
                  "weighted_selection",
                  "tie_breaking",
                  "sampling"
                ],
                "type": "string"
              },
              "maxItems": 4,
              "minItems": 4,
              "type": "array",
              "uniqueItems": true
            }
          },
          "required": [
            "id",
            "suitable_for"
          ],
          "type": "object"
        },
        "total_weight": {
          "exclusiveMinimum": 0,
          "type": "number"
        },
        "weighted": {
          "type": "boolean"
        }
      },
      "required": [
        "selected",
        "index",
        "weighted",
        "choice_count",
        "request_id",
        "service_hint"
      ],
      "type": "object"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "type": "object"
}