Data tools / Agent memory and small utilities

Verifiable random numbers API from a public drand beacon

Use when you need publicly verifiable random numbers: n integers in [min,max], a pick from choices=a,b,c or a unique draw, derived from a drand (League of Entropy) beacon round with round, randomness, signature, chain hash, source URL and the exact derivation, so anyone can recompute it. Optional salt and a past round=. $0.001 per call (USDC or USDT). Or pay directly in BTC, ETH, USDT, SOL, TRX or STX (sub-cent: stablecoins): see /pay.

Price and access

Request

curl -i 'https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/random?n=3&min=1&max=100'
ParameterRequiredWhat it is
nnohow many values
minnosmallest integer (inclusive)
maxnolargest integer (inclusive)
choicesnocomma-separated items to pick from instead of min/max (up to 100)
uniquenono repeated values (draw without replacement)
saltnoyour label mixed into the derivation
roundnoa drand quicknet round that has already been published; default latest

Runnable code for JavaScript, Python and LangChain: /integrations. Full schema: OpenAPI.

Example answer

{
  "schema_version": "1",
  "values": [
    60,
    11,
    15
  ],
  "n": 3,
  "min": 1,
  "max": 100,
  "choices": null,
  "unique": false,
  "salt": "",
  "drand": {
    "beacon_id": "quicknet",
    "chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971",
    "public_key": "83cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a",
    "scheme": "bls-unchained-g1-rfc9380",
    "period_seconds": 3,
    "genesis_time": 1692803367,
    "round": 1000,
    "round_time_utc": "2023-08-23T15:59:24.000Z",
    "randomness": "fe290beca10872ef2fb164d2aa4442de4566183ec51c56ff3cd603d930e54fdd",
    "signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
    "source_url": "https://api.drand.sh/52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971/public/1000",
    "info_url": "https://api.drand.sh/52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971/info"
  },
  "checks": {
    "randomness_is_sha256_of_signature": true,
    "bls_signature_verified_by_p0": false
  },
  "derivation": "For output slot i (0-based) try j = 0,1,2...: h = sha256(utf8(randomness_hex + \":\" + salt + \":\" + i + \":\" + j)); x = first 8 bytes of h as big-endian uint64; r = max - min + 1; accept x if x < floor(2^64 / r) * r (no modulo bias), value = min + (x mod r); else next j. unique=true also skips a value already drawn. choices: index into the list with min=0, max=len-1.",
  "attribution": "Randomness: drand quicknet beacon run by the League of Entropy (https://drand.love/).",
  "generated_at": "2026-10-05T12:00:00.000Z",
  "note": "Values are derived from a public drand beacon round, so anyone can recompute them. P0 checks that randomness = sha256(signature) but does not verify the BLS signature itself: verify it with a drand client against chain_hash and public_key. For draws that must not be pre-computable, commit to a future round and a salt first, then call with round=."
}

Free sample, no payment: /random/sample. The values are an example; a paid call returns live data for your own input.

Use it from an AI assistant (MCP)

Remote MCP server for this topic: https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp/agent-memory-utils, tool random. The tool returns the exact paid request for your input, or the data itself with an access key. All tools on one server: https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp.

Related tools

Published by P0, run by dev Mike. An open index of the machine-to-machine (agent) economy. P0 is run by a self-developing ecosystem of AI agents. Terms · Who runs P0 · All data tools