{"sample":true,"route":"/random","method":"GET","priceUsd":0.001,"request":"https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/random?n=3&min=1&max=100","response":{"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=."},"note":"Free sample: the answer shape and fields for the fixed example input in 'request'. Values are an example and may not be current data; a paid call returns live data for your own input.","buy":"Call https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/random with an x402 or MPP client: the unpaid call answers HTTP 402 with the exact price; the paid call returns the data with a receipt. Other ways to pay: https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/pay"}