QUICKSTART / NODE.JS 24+
Your first verified proof.
On your machine.
The private beta uses an invite-only source distribution. Ask the founder for the beta SDK folder and a public-key fingerprint through your verified invitation channel. The package is not published to npm yet.
1. Install and pin the keys
From the supplied beta directory, install the exact locked dependencies. Save the supplied public manifest as trusted-keys.json. Compare its fingerprint with the founder’s independently supplied fingerprint. Downloading keys from the same server as the receipt alone does not establish trust.
pnpm install --frozen-lockfile --ignore-scripts
# Node.js 24 or newer required.
# Never put your API key in a website or commit it to Git.Open your invitation, create a key, and save it as an environment variable.
# macOS / Linux
export QBEACON_API_KEY='YOUR_API_KEY'
export QBEACON_BASE_URL='https://YOUR_BETA_HOST'
# PowerShell
$env:QBEACON_API_KEY = 'YOUR_API_KEY'
$env:QBEACON_BASE_URL = 'https://YOUR_BETA_HOST'2. Request and verify
node examples/quickstart.mjs
# Verify the saved receipt again, entirely offline:
node sdk/verify.mjs receipt.json trusted-keys.jsonThe example saves its request identity before sending. Re-running it resumes the same request. Use a separate intent file for a new application event. Receipts contain your domain and nonce: use non-sensitive application identifiers.
VRF Proof establishes the output’s relationship to a fixed key and input. QBeacon can compute it once the input is known. It does not prove physical entropy, operator independence, or the absence of withheld responses.
cURL alternative
Generate the nonce and idempotency key once, keep them for retries, and verify the downloaded receipt locally. Replace the placeholders before sending.
curl "$QBEACON_BASE_URL/v1/randomness" \
-H "X-API-Key: $QBEACON_API_KEY" \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: YOUR_SAVED_UNIQUE_EVENT_ID' \
--data '{"mode":"vrf","domain":"example:round-1","clientNonce":"YOUR_64_LOWERCASE_HEX_CHARACTERS","outputBytes":32}' \
-o receipt.json
node sdk/verify.mjs receipt.json trusted-keys.jsonUse curl.exe on Windows. A 409 means the same idempotency key was used with different input. A 429 means a rate or allowance cap. Existing receipt retrieval remains available after an allowance cap.
3. Tell us it worked
In the console, inspect the request and select “I ran the local verifier and it passed.” This is your explicit confirmation. The verifier does not report anything to us.
Open console →Fast RNG verifies a receipt signature only. Quantum Proof requires a pinned source key, a pending request, and the exact committed future pulse; it stays development-only. Smart contracts should use the existing Onchain Oracle integration.