RDS Random Seed [BETA]

The RDS Random Seed service provides random 32-bit numbers generated by hardware exhibiting quantum mechanical properties. The numbers produced by this service have no "seed" and are guaranteed to be random by the laws of quantum physics.

For this beta period, a method of measuring random radioactive decay is being used. However in the future a photonic source will be leveraged. Interest in this service will allow it to be expanded, and larger volumes and frequencies of random numbers provided. Currently, beta accounts are limited to 1000 random numbers per day.

If higher volumes of random numbers are needed, it is recommended numbers generated from this service be used as seeds for traditional random number generators in code. Given the limitations of Internet transmission speeds, either blocks will need to be downloaded for fast in-program access, or individual numbers will always be used as seeds. (Thus the service name).

If you would like to try out the service, please use the Contact page to request an API key.

Questions and Answers

How do I know these numbers are random?

There are numerous statistical tests that can be run to verify random numbers. For example, creating a histogram of a block of numbers along with the average and standard deviation. And a Google search for verifying random numbers will return many resources.

How do I know you're not using an algorithmic random number generator?

Because when we start charging for the service that would be fraud, and fraud is not a good long-term business model! We are dedicated to the wonderful science of the real world, quantum physics.

How much might this cost after the beta?

Our current costs would require around $0.003 (a third of a cent) per number. The goal would be to bring that down by several orders of magnitude.

API Documentation

After receiving an API key, all calls to the API must include the key as a header parameter RDS_RANDOMSEED_APIKEY as shown in the example curl commands below.

GET POST /api/random-seed/getblock
Retrieves a unique block random numbers.
Headers:
RDS_RANDOMSEED_APIKEY API Key
Accept (Optional) The format of the response - either "text/plain" or "application/json".
Parameters:
count The number of random numbers to retrieve
Examples:
$ curl -H "RDS_RANDOMSEED_APIKEY:Your_Api_Key_Here" -H "Accept:application/json" "https://renniedatascience.com/api/random-seed/getblock?count=10"

[3834304268,1016084485,1312982135,1984679137,1543778199,3093548710,3383490987,3170185748,2198720371,3472939205]

$ curl -H "RDS_RANDOMSEED_APIKEY:Your_Api_Key_Here" -X POST -H "Accept:text/plain" "https://renniedatascience.com/api/random-seed/getblock?count=10"

3964398465
2787709086
2119326277
654498031
3797226813
1006762440
2489979568
1763362435
1198351041
3947237579

 

GET POST /api/random-seed/getaccount
Returns usage and limit information about the account associated with the API key. The response JSON contains the following:
DailyLimit:The maximum number of random numbers this account can retrieve in a one day period (UTC).
DailyUseCount:The number of random numbers used thus far in this day.
LastDayUsed:The most recent day (i.e., day of year, UTC) random numbers were retrived.
Today:The current day of year UTC for reference purposes.
Headers:
RDS_RANDOMSEED_APIKEY API Key
Accept (Optional) The format of the response - "application/json".
Example:
$ curl -H "RDS_RANDOMSEED_APIKEY:Your_Api_Key_Here" "https://renniedatascience.com/api/random-seed/getaccount"

{ "DailyLimit": 1000, "DailyUseCount": 545, "LastDayUsed": 117, "Today": 117 }