Api Endpoint

Pick random items from a list, uniformly, in one GET

Pick random items from a list in one GET: count items from the items you pass, uniform, by default without replacement. Returns picked[] and the 0-based indices[], drawn with crypto.getRandomValues and rejection sampling (Fisher-Yates for unique draws). Nothing is fetched or stored. curl: GET /pick?items=alice,bob,carol&count=2 . Response: {"picked":["carol","alice"],"indices":[2,0],"unique":true,...}. items 1..100 comma/newline separated; count 1..100 (default 1); replace=false by default. An empty item, too many/over-long items, a bad count or count>items without replacement is 400 before payment. No seed and no signed beacon; each paid call returns fresh picks. No keys, no account, one GET, one delivery — 0.001 USDC. A purchase is two calls by design: this first call returns 402 with the price and the payment terms, and you then repeat the same request with the PAYMENT-SIGNATURE header to receive the 200 delivery.

Open interactive test console

Offering

Provider
x402-catalog-history.ai-business-surface.workers.dev
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
Other
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://x402-catalog-history.ai-business-surface.workers.dev/pick
MIME type
application/json
First seen
2026-10-23T22:48:47.298Z
Last seen
Tags
Random, pick, shuffle, sample, lottery, uniform

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": "0x6f60659390aDA1D02B14024d8c9d0C889f2F89c3"
  }
]

Observed health

Status
Healthy
Latest latency
1286 ms
Average latency
1283 ms
HTTP status
402
Last checked
Reachability
100% over 7 checks

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

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET",
        "HEAD",
        "DELETE"
      ]
    },
    "queryParams": {
      "type": "object",
      "properties": {
        "items": {
          "type": "string"
        },
        "count": {
          "type": "string"
        },
        "replace": {
          "type": "string"
        }
      }
    }
  },
  "required": [
    "type",
    "method"
  ],
  "additionalProperties": false
}

Output schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "example": {
      "type": "object"
    }
  },
  "required": [
    "type"
  ]
}