{"uid":"cap_KUGp74mtcqMjJ6f-5VzdT","slug":"touchstone-locomot-random-proof-4785f3b4","name":"Touchstone Locomot Random Proof","description":"Provably-fair draw from the drand beacon with the full verifiable receipt + nonce-binding (the free draw is at GET /random).","url":"https://touchstone.locomot.io/random/proof","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET","HEAD","DELETE"],"type":"string"},"queryParams":{"type":"object","properties":{"k":{"type":"integer"},"n":{"type":"integer"},"op":{"enum":["int","dice","coin","bytes","uuid","shuffle","sample","choice","pick"],"type":"string","description":"draw type; default int"},"max":{"type":"integer"},"min":{"type":"integer"},"dice":{"type":"string","description":"e.g. 3d6"},"count":{"type":"integer"},"items":{"type":"string","description":"comma list or JSON array"},"nonce":{"type":"string","description":"bind the draw to your context"},"round":{"type":"integer","description":"pin a drand round (reproducible)"},"sides":{"type":"integer"},"weights":{"type":"string"}}}},"additionalProperties":false},"output":{"type":"object","properties":{"op":{"type":"string"},"draw":{"type":"string"},"nonce":{"type":"string"},"proof":{"type":"object"},"rolls":{"type":"array"},"total":{"type":"integer"},"beacon":{"type":"object"},"engine":{"type":"string"},"notation":{"type":"string"},"deterministic_given_round":{"type":"boolean"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_EtpveTURoXWcFlAwQtsPy","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Generates cryptographically verifiable random draws (integers, dice rolls, coin flips, UUIDs, shuffles, etc.) backed by a drand beacon proof","exampleAgentPrompt":"Roll 3d6 dice for me with a cryptographic proof so I can verify the result was fair — bind the draw to the nonce 'myGame42'.","exampleUseCases":null,"resultDescription":"A JSON object containing the draw result (e.g. integer, rolled values, picked item), a cryptographic proof tied to a drand randomness beacon, the beacon metadata, the operation type, notation, and a flag indicating whether the result is deterministic given a pinned round.","failureModes":["Invalid op enum value returns 400 bad request","Out-of-range min/max values may cause errors","Invalid dice notation (e.g. 'xdy' malformed) returns error","Pinned round that doesn't exist yet causes failure","Malformed items list (comma or JSON) returns parse error"],"whenToPreferThis":"Use this endpoint when you need provably fair, auditable randomness backed by a public randomness beacon (drand) — for lotteries, games, giveaways, or any context where participants need to verify that the outcome was not manipulated. Prefer this over pseudo-random number generators or opaque services when cryptographic proof of fairness is required.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T18:32:18.795Z","isFirstParty":false}