Live on Arc
Arc

Arc

USDC-native fees; dollar-stable randomness pricing.

KeeperCoordinatorV8USDC feeschainId 5042First dollar-denominated deployment
Deployment

Live and proven.

Contract
KeeperCoordinatorV8
Deployed
October 2026
Committee
12 keepers — the same committee on every chain
Threshold
4-of-12 signatures (BFT-safe)
Fee token
USDC
chainId
5042
Treasury
Multisig treasury — deployed per the standard runbook
First dollar-denominated deployment: fees on Arc are denominated in USDC — predictable, dollar-stable randomness pricing with no exposure to a volatile gas token.
Shared Security

Same committee. Same proof.

Arc 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.

Same contract everywhere

One audited bytecode, chainId-bound signatures — a proof on one chain can never replay on another.

Native fees

Requests priced in USDC — dollar-stable randomness pricing, no volatile gas token.

Shared committee

The same 12 keepers secure every chain — adding a chain doesn't dilute security.

No admin key on fulfill()

The fulfillment path is immutable — no privileged call can alter, delay, or redirect an outcome.

For Developers

Integrate on Arc.

Same interface on every chain — point your contract at the Arc deployment and pay fees in USDC. Nothing else changes.

RandProofRNG

Verifiable randomness — one payable call, a permanent on-chain proof.

// KeeperCoordinatorV8 on Arc
IKeeperCoordinator coordinator =
    IKeeperCoordinator(0xF2f79eE04C1c303426F0d1543267286460b5321C);

// fee in USDC — approve the coordinator first
usdc.approve(address(coordinator), fee);
bytes32 eventId = coordinator.requestRandomness(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 USDC — 4-of-12 committee fulfillment, no oracle token.

RandProofAutomation

Decentralized upkeep — Chainlink-compatible or deadline-native, executed by the same keeper network.

// RandProofAutomation on Arc
// 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 USDC — fund a balance, pay per upkeep.