Arbitrum One
Ethereum L2 coverage where DeFi randomness demand is densest.
Live and proven.
Same committee. Same proof.
Arbitrum One runs the same KeeperCoordinator as every other deployment — the seed derives from the drand Quicknet anchor verified on-chain via EIP-2537, and fulfillment requires 4-of-12 committee signatures bound to this chain's chainId.
One audited bytecode, chainId-bound signatures — a proof on one chain can never replay on another.
Requests priced in ETH, the chain's native gas token — no oracle token.
The same 12 keepers secure every chain — adding a chain doesn't dilute security.
The fulfillment path is immutable — no privileged call can alter, delay, or redirect an outcome.
Integrate on Arbitrum One.
Same interface on every chain — point your contract at the Arbitrum One deployment and pay fees in ETH. Nothing else changes.
Verifiable randomness — one payable call, a permanent on-chain proof.
// KeeperCoordinatorV8 on Arbitrum One
IKeeperCoordinator coordinator =
IKeeperCoordinator(0xF7e34F900b845e3a2F72fbCE78E6666803D15a82);
// fee in ETH
bytes32 eventId =
coordinator.requestRandomness{value: fee}(userSeed);
// receive the result — enforced by the coordinator
function fulfillRandomness(bytes32 eventId, bytes32 seed)
external
{
require(msg.sender == address(coordinator));
// settle your draw
}
// audit any past draw — permanent, public
coordinator.getRandProof(eventId);Per-request fee in ETH — 4-of-12 committee fulfillment, no oracle token.
Decentralized upkeep — Chainlink-compatible or deadline-native, executed by the same keeper network.
// RandProofAutomation on Arbitrum One
// Chainlink-compatible — zero logic changes
function checkUpkeep(bytes calldata) external view
returns (bool upkeepNeeded, bytes memory performData);
function performUpkeep(bytes calldata performData)
external
{
// your own guards re-verified here
}
// or the native path — deadline-shaped conditions
function nextDeadline() external view
returns (uint256);Registry address published at deployment · Per-execution fee in ETH — fund a balance, pay per upkeep.