Skip to main content
Safenet Beta is built on three smart contracts. The Staking contract lives on Ethereum Mainnet and holds staked SAFE tokens. The Consensus and FROSTCoordinator contracts live on Gnosis Chain and handle transaction attestation and threshold signing.

Deployed contracts

ContractChainAddressSourceAudit
StakingEthereum Mainnet0x115E78f160e1E3eF163B05C84562Fa16fA338509Staking.solReport
ConsensusGnosis Chain0x223624cBF099e5a8f8cD5aF22aFa424a1d1acEE9Consensus.solNot audited
FROSTCoordinatorGnosis Chain0xaE27021CEB45316f1efe69D8E362aC07ED3Bd7E4FROSTCoordinator.solNot audited
Consensus and FROSTCoordinator contract addresses will be added once deployed.
Both Consensus and FROSTCoordinator contracts are non-upgradeable and hold no user funds.

Immutability and parameters

Staking contract The Staking contract has an owner (the SafeDAO via the Safe Ecosystem Foundation) but is not upgradeable. The owner can propose changes to two parameters. All proposed changes go through a mandatory 7-day timelock before taking effect. After the timelock, anyone can execute the queued change.
ParameterCurrent valueMutableWho can proposeConstraint
SAFE_TOKENSAFE on MainnetNo
CONFIG_TIME_DELAY7 daysNo
withdrawDelay2 daysYesContract owner (SafeDAO/SEF)Max value capped at CONFIG_TIME_DELAY (7 days); 7-day timelock before change takes effect
Validator registryPermissioned setYesContract owner (SafeDAO/SEF)7-day timelock before changes take effect
The Staking contract has been independently formally verified and audited by Certora. See the full report for details. Consensus and FROSTCoordinator contracts Both contracts are non-upgradeable and have no owner. There are no admin functions and no configurable parameters. Validator Staker addresses in the Consensus contract are self-set by each Validator. Epoch transitions (changes to the active Validator set) require a threshold signature from the current Validator set, not any central authority.
In case there is an unrecoverable failure in Safenet Beta, both contracts have to be redeployed and the network needs to be relaunched.