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:
|
|||||||||
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 } |