Live on Base ยท Agent-native RNG

RNG API.
CHAIN RECEIPTS.

Verifiable random generation for agents, apps, games, and microservices.

Call a normal REST endpoint. DARKSOL Oracle settles randomness on Base, returns the result, and includes a transaction proof your users can verify on-chain.

Baseon-chain proof
$0.05x402 from
Free10M+ DARKSOL
$ GET /oracle/random/number?min=1&max=100
200 OK tx=0x76c38fbb... ยท chainId=8453
{ result: 77, proof: "verifiable_on_base" }

// CONTRACT

Every random number is backed by an on-chain transaction you can verify.

Address
0x4d2f471ae67b129bAda9cfC6224f0343c5C8fB5D
Chain
Base (8453)
Verified
Sourcify โœ…
Access
onlyOwner (locked to API server)
Entropy
blockhash + prevrandao + sender + nonce
DARKSOL Token
0x00cb1fbca324d51325a7264d54072bc073c28ba3
Holder Pass
10,000,000+ DARKSOL = free oracle calls

// ACCESS

Hold DARKSOL for free oracle calls, or pay per request with x402 USDC on Base.

DARKSOL Holder
FREE
10,000,000+ DARKSOL
all oracle endpoints
signed wallet proof
gas sponsored by us
Basic
$0.05
per call ยท USDC
/random/number
/random/coin
/random/dice
Premium
$0.25
per call ยท USDC
/random/sequence
/random/shuffle

// HOW IT WORKS

From request to verifiable randomness in seconds.

01
Request โ€” Your agent sends a GET request to any endpoint. Public clients include x-darksol-wallet and x-darksol-signature headers for free holder access.
02
Authenticate โ€” The API checks the signed wallet's DARKSOL balance on Base. If it holds 10,000,000+ DARKSOL, the call is free. Otherwise the server returns HTTP 402 for x402 payment.
03
Generate โ€” We call random() on-chain and sponsor the gas. Holders pay nothing; non-holders pay only the API fee.
04
Verify โ€” Response includes the tx hash. Check it on Basescan โ€” the randomness is real.

// THE THESIS

Why on-chain randomness matters โ€” and how ours actually works.

// API REFERENCE

Five endpoints. All return verifiable proofs.

GET ยท BASIC $0.05
/random/number?min=1&max=100
Generate a bounded random integer.
ParamDefaultRange
min1-1B to 1B
max10-1B to 1B
GET ยท BASIC $0.05
/random/coin
Flip a coin. Returns "heads" or "tails".
GET ยท BASIC $0.05
/random/dice?sides=20&count=3
Roll dice with configurable sides and count.
ParamDefaultRange
sides62โ€“1,000
count21โ€“100
GET ยท PREMIUM $0.25
/random/sequence?count=6&min=1&max=49
Generate multiple random numbers from a single on-chain seed.
ParamDefaultRange
count51โ€“100
min1-1B to 1B
max50-1B to 1B
GET ยท PREMIUM $0.25
/random/shuffle?items=alice,bob,carol,dave
Shuffle a comma-separated list using on-chain randomness.
ParamRequiredDescription
itemsYesComma-separated list (min 2)
GET ยท FREE
/health
Health check โ€” returns contract status, block number, and pricing info.

// HOLDER AUTH

Public agents prove wallet ownership without giving us custody, keys, or an account login.

curl "https://acp.darksol.net/oracle/random/number?min=1&max=100" \
  -H "x-darksol-wallet: 0xYourAgentWallet" \
  -H "x-darksol-signature: 0xSignature"

Sign this exact message with the agent wallet, replacing the wallet address:

DARKSOL Oracle free access
Wallet: 0xYourAgentWallet
Chain: Base (8453)
Purpose: prove token-holder access without payment

Trusted DARKSOL apps like Clawsino can use the internal trusted-client header path instead of public signatures. Public clients should always use signed wallet proof so nobody can claim someone else's whale wallet.

// RESPONSE FORMAT

Every response includes verifiable on-chain proof.

{
  "result": 7,
  "access": {
    "mode": "darksol_holder_signed",
    "paymentRequired": false,
    "wallet": "0xAgentWallet...",
    "requiredBalance": "10000000"
  },
  "proof": {
    "txHash": "0x76c38fbb...",
    "blockNumber": 12345678,
    "contract": "0x4d2f471a...",
    "chain": "base",
    "chainId": 8453
  },
  "timestamp": "2026-03-03T22:00:00.000Z"
}

// FEATURES

Why use Random Oracle.

On-chain verifiable entropy
Free for 10M+ DARKSOL token holders
x402 micropayments fallback (no accounts)
Gas sponsored by DARKSOL
Proof in every response
Base chain (fast, cheap)
Agent-native REST API
Multiple output formats
100 req/min rate limit

// AGENT SKILLS

Drop this into Bankr or OpenClaw and your agent can use verifiable on-chain RNG natively.

โฌ‡ BANKR SKILL โฌ‡ OPENCLAW .skill

Bankr: use the markdown skill as an instruction pack. OpenClaw: drop into ~/.openclaw/skills/darksol-random-oracle/SKILL.md