# Soren Verifiable Randomness Oracle

> Soren Verifiable Randomness Oracle is a paid API for AI agents from soren.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-11).

Returns a publicly verifiable, attested random value from the drand League of Entropy beacon for a specific round or the latest round.

## Facts

- Endpoint: GET https://soren.com/v1/oracle/random?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/soren-verifiable-randomness-oracle-50f6b8de
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_dB1CJ-IakUkc1hwn_HZor

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability soren-verifiable-randomness-oracle-50f6b8de
```

Example prompt: Give me the latest verifiable random value from the drand League of Entropy beacon — I need something no one could have predicted or rigged, so I can do a fair draw between contestants.

## When to prefer this

Use this endpoint when you need randomness that must be verifiable and auditable by all parties without trusting any single participant — ideal for lotteries, giveaways, games, or any multi-party scenario where the source of randomness is contested. Prefer it over pseudo-random generators or centralized oracles when proof-of-fairness is a requirement. The 30-second round cadence means you can commit to a future round before the value is known, enabling pre-commitment schemes.

## Known failure modes

- Requested round does not exist or is in the future — Soren returns an error and refuses to attest
- Drand network temporarily unavailable — upstream fetch fails
- Round verification fails cryptographically — Soren refuses to attest and returns an error rather than an unverified value
- Invalid round parameter format — schema validation error

## How this service works

Publicly verifiable randomness from the drand League of Entropy beacon, attested and timestamped. Use it for a fair draw between parties who do not trust each other: a distributed network emits one signed value every 30 seconds and no participant, Soren included, can choose or predict it. Soren refuses to attest a round that does not verify, and you can check the same round yourself at api.drand.sh.

## Output

A signed, timestamped attestation containing the drand round number, the random value emitted by the League of Entropy network for that round, a cryptographic signature, and the timestamp — all of which can be independently verified at api.drand.sh using the same round number.

## Request schema (JSON Schema)

```json
{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {
      "round": {
       "type": "string",
       "examples": [
        "6391052"
       ],
       "description": "Specific drand round. Omit for the latest. One round every 30 seconds."
      }
     }
    }
   },
   "additionalProperties": false
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "value": {
   "round": "<int>",
   "as_float": "<0..1>",
   "as_uint53": "<int>",
   "signature": "<bls signature hex>",
   "randomness": "<64 hex chars>",
   "verify_yourself": "https://api.drand.sh/public/<round>"
  },
  "source": {
   "name": "drand / League of Entropy"
  },
  "provenance": {
   "signature": {
    "value": "<base64>",
    "algorithm": "Ed25519"
   },
   "observed_at": "<ISO-8601 UTC>",
   "upstream_sha256": "<hex>"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/soren-verifiable-randomness-oracle-50f6b8de/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from soren.com](https://www.zero.xyz/host/soren.com/llms.txt)
