Live on Arc mainnet

RUFF

Randomness Utility & Fulfillment Framework

Verifiable randomness for smart contracts.

Give your app a random number with public proof. Request in USDC, receive the result onchain and let anyone verify it.

Default request fee
0.01333 USDC
100,000 callback gas
Measured median delivery
1.0–1.4 seconds
106 mainnet requests · Sep 29, 2026
Integration
Solidity + TypeScript
Open access for consumer contracts

THE RUFF APPROACH

From commitment to callback.

How the proof works
01

Committed before the request.

A published hash-chain commitment fixes the seed in advance. The result mixes it with the request block hash, your contribution and the request context.

02

Checked by the contract.

The hub verifies the seed and computes the result onchain before calling your contract. If your callback fails, the same result stays available to recover.

03

Open to independent checks.

Follow requests and proofs in RUFF Explorer. Use the public SDK or CLI to check the commitment and recompute a delivered result yourself.

WHAT YOU CAN BUILD

Randomness for your application.

Onchain games

Resolve rounds, loot drops and PvP outcomes with randomness players can check.

Lotteries & giveaways

Draw winners from a fixed entry list, with a public record of the random result.

NFTs & allocations

Shuffle a collection, assign traits or select recipients under rules set by your contract.

Arc

INFRASTRUCTURE FOR ARC

An Arc primitive for every builder.

Games and apps on Arc need a way to settle random outcomes transparently. RUFF supplies that shared primitive: request, verification and settlement on the same chain, with fees in native USDC.

Any consumer contract can connect within the published fee and capacity limits. No allowlist or extra service token.

Connect your contract

PAY PER REQUEST

0.01333 USDC

Default fee · 100,000 callback gas

1,000 requests = 13.33 USDC

  • Onchain proof verification
  • Delivery and callback execution
  • Public SDK, CLI and explorer

Request transaction gas is separate. Your callback budget affects the fee; quote the current tariff from the hub before sending.

Fees & limits

BUILD WITH RUFF

Everything to get started.

npm install ruff-hub viem