---
title: "Signed, publicly verifiable randomness from drand"
method: GET
path: "/v1/oracle/random"
---

# Signed, publicly verifiable randomness from drand

`GET /v1/oracle/random`

## Request

- Base URL: `https://soren.com`
- URL: `https://soren.com/v1/oracle/random`
- Auth: none declared

A round from the drand League of Entropy beacon, attested and timestamped. One signed value every 30 seconds from a distributed network; no single participant, including Soren, can choose or predict it. Soren recomputes SHA-256 of the BLS signature and refuses to attest to a round that does not verify. The same round can be fetched free from api.drand.sh — what is sold is the signed evidence that Soren committed to this value at this moment.

## Query parameters

- `round` integer

## Response `200`

Verified round, attested.

- object
  - `value` object
    - `round` integer
    - `randomness` string
    - `signature` string
    - `as_uint53` integer
    - `as_float` number
    - `verify_yourself` string
  - `source` object
  - `provenance` object
  - `attestation` string
  - `settlement` string, nullable

## Other responses

- `400`: round must be a positive integer. Refused before payment.
- `402`: Payment required.
- `404`: No such round.
- `502`: The beacon failed its own self-check and was not attested.
- `503`: The beacon did not answer.

---

[API](https://skmtc.dev/soren/apis/soren-free-games-api.md) · [All operations](https://skmtc.dev/soren/apis/soren-free-games-api/llms.txt) · [OpenAPI document](https://skmtc.dev/soren/apis/soren-free-games-api/revisions/00402cfcf30d?raw)
