Avalanche C-Chain
V8A variant — committee-attested anchor (no BLS precompiles on the C-Chain).
Live and proven.
Same committee. Same proof.
Avalanche C-Chain runs the same KeeperCoordinator as every other deployment — the seed derives from the drand Quicknet anchor attested by the keeper committee (this chain has no EIP-2537 BLS12-381 precompile for on-chain verification), 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 AVAX, 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 Avalanche C-Chain.
Same interface on every chain — point your contract at the Avalanche C-Chain deployment and pay fees in AVAX. Nothing else changes.
Verifiable randomness — one payable call, a permanent on-chain proof.
// KeeperCoordinatorV8A on Avalanche C-Chain
IKeeperCoordinator coordinator =
IKeeperCoordinator(0xb19Ff6bc924C6BA04424bADe0c0f0F9973af3b69);
// fee in AVAX
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 AVAX — 4-of-12 committee fulfillment, no oracle token.
Decentralized upkeep — Chainlink-compatible or deadline-native, executed by the same keeper network.
// RandProofAutomation on Avalanche C-Chain
// 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 AVAX — fund a balance, pay per upkeep.