
SuperRand
DevelopmentAPI to generate high-quality random data for simulations, testing, cryptography, statistical modelling, gaming, and other data-driven applications.
π Documentation & Examples
Everything you need to integrate with SuperRand
π Quick Start Examples
// SuperRand API Example
const response = await fetch('https://super-rand.io/', {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
});
const data = await response.json();
console.log(data);SuperRand API
SuperRand provides genuine, physical entropy streamed in real time via a simple API β no caching, no pooling, no pseudo-algorithms. Every value is generated from a live hardware entropy source using naturally occurring electromagnetic background noise. The API supports both HTTP and WebSocket connections and includes cryptographic response signatures for end-to-end integrity verification.
Base URL: https://api.super-rand.io/v1/
Key Features
- True Hardware Randomness β Live physical entropy source, not pseudo-random algorithms
- HTTP & WebSocket Support β Standard POST requests or persistent WebSocket connections for concurrent requests
- Cryptographic Signatures β Every response includes an RSA-SHA256 signature for integrity verification
- 12 Data Types β Booleans, integers, doubles, strings, colours, timestamps, binary seeds, AES keys, UUIDs, byte arrays, and lottery tickets
- Statistically Verified β Passes NIST SP 800-22 and Dieharder test suites with published results
Free Trial
New accounts receive 512 kibibytes of Pro tier entropy at no cost to test the API and verify integration.
Pricing
| Tier | Price | Priority | Includes |
|---|---|---|---|
| Standard | $0.75 AUD/MiB | Normal | Integers, booleans, strings (256 chars), colours |
| Research | $1.50 AUD/MiB | High | + Doubles, timestamps, binary seeds, strings (1024 chars) |
| Pro | $2.50 AUD/MiB | Highest | + AES keys, UUIDs, byte arrays, lottery tickets |
Only entropy bytes are counted toward usage β HTTP response overhead is not billed.
Authentication
Pass your API key as a query parameter:
POST https://api.super-rand.io/v1/?key=YOUR_API_KEY
Request Format
{
"request": "double",
"priority": 2,
"requireStrictPriority": true
}
requestβ The job type name (see Job Types below)priority(optional) β0(Pro),1(Research),2(Standard). Defaults to the lowest allowed for the job typerequireStrictPriority(optional) β Force the specified priority; error if unavailable at that tier
Response Format
{
"res": 0.9243861873517376,
"jobType": "double",
"attempts": 0,
"length": 8,
"generatorUUID": "d1a04a6186b59900",
"timestamp": "2026-02-26T00:10:52.844Z",
"priority": 2
}
The X-Signature response header contains an RSA-SHA256 signature for verification.
Job Types
| Type | Request Name | Tier | Key Parameters |
|---|---|---|---|
| Boolean | boolean |
Standard+ | count (1-128) |
| Integer | integer |
Standard+ | min, max (0-4,294,967,295), count (1-256) |
| String | string |
Standard+ | length (1-256/1024), uppercase, lowercase, numbers, symbols, spaces |
| Colour | colour |
Standard+ | type ("rgb"/"rgba"), count (1-256) |
| Double | double |
Research+ | count (1-128) |
| Timestamp | timestamp |
Research+ | from, to (ISO 8601), count (1-256) |
| Binary Seed | bin_seed |
Research+ | count (1-256) |
| AES Key | aes_key |
Pro | size (128/192/256), count (1-64) |
| UUID v4 | uuid |
Pro | count (1-64) |
| Byte Array | byte_array |
Pro | length (1-1024 bytes) |
| Lottery (Reducing) | reducing_lottery_ticket |
Pro | games (1-50), numBalls, ballMin, ballMax, secondary ball options |
| Lottery (Non-Reducing) | non_reducing_lottery_ticket |
Pro | games (1-50), numBalls, ballMin, ballMax |
Rate Limits
- Up to 25 concurrent connections to the API gateway
- Up to 100 in-flight parallel jobs across connections
- Exceeding limits returns HTTP 429
JavaScript Example
const response = await fetch(
'https://api.super-rand.io/v1/?key=YOUR_API_KEY',
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ request: 'integer', min: 1, max: 100, count: 5 })
}
);
const data = await response.json();
console.log(data.res); // [42, 87, 13, 65, 29]
Python Example
import requests
import json
url = 'https://api.super-rand.io/v1/?key=YOUR_API_KEY'
payload = {'request': 'double', 'count': 3}
response = requests.post(url, json=payload)
data = response.json()
print(data['res'])
# [0.9243861873517376, 0.508045863428892, 0.142857361927453]
cURL Example
curl -X POST "https://api.super-rand.io/v1/?key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"request": "aes_key", "size": 256}'
WebSocket Example
const socket = new WebSocket('wss://api.super-rand.io/v1/?key=YOUR_API_KEY');
socket.addEventListener('open', () => {
socket.send(JSON.stringify({
request: 'uuid',
count: 3,
tag: 1
}));
});
socket.addEventListener('message', (event) => {
const response = JSON.parse(event.data);
if (response.status === 'success') {
console.log(response.data.res);
// ['774d6f36-1fdc-4e0c-986d-23f6e2e7c938', ...]
}
});
Signature Verification
Every HTTP response includes an X-Signature header (RSA-SHA256). WebSocket responses include a signature field. Verification is optional but recommended for security-sensitive applications.
Use Cases
- Cryptography β Generate AES keys, seeds, and byte arrays from true entropy
- Statistical Research β Unbiased random samples for experiments and modelling
- Simulations β Monte Carlo methods and stochastic processes
- Gaming β Lottery draws, dice rolls, and fair random events
- Security β UUIDs, tokens, and nonces backed by hardware randomness
- Testing β Random test data generation for QA pipelines
π 30-Day Uptime History
Daily uptime tracking showing online vs offline minutes








