Skip to content

@safe:address

Predict the single-owner Safe address for safe:new with a deployment salt nonce, without RPC access. The address is the same on every chain.

⚗️ Experimental — available at next.evmcrispr.com.

Returns: address

@safe:address(owner salt?)
NameTypeDescription
owneraddressInitial sole owner (threshold 1)
[salt]numberDeployment salt nonce, matching safe:new --salt (defaults to 0)

Predict a single-owner Safe, then deploy it with the same salt nonce:

load safe
set $owner 0x1111111111111111111111111111111111111111
set $salt 42
set $safe @safe:address($owner $salt)
safe:new $owner --salt $salt

Omitting the salt is equivalent to 0, the default for safe:new:

load safe
print @safe:address(@sender)

The owner is explicit: use the timelock for a Governor with a timelock, the final executing forwarder for Aragon OS, the DAO for Aragon OSx, or the destination proxy representing the source caller for EEZ. Inside a routed block, @sender supplies that block's execution account.

This helper predicts safe:new owner --salt salt with one owner and threshold 1. It uses the same Safe 1.5.0 L2 singleton, factory, compatibility fallback handler, and proxy creation code as the command. It does not predict deployments with multiple owners or another threshold.

The salt is a uint256 deployment value, not the Safe's transaction nonce returned by @safe:nonce. Changing the owner or salt changes the predicted address. Chains using the same deployment profile give the same address; EEZ's alternate factory, singleton and handler produce a different address.

Prediction requires no RPC access and works inside batches and proposals. It does not deploy the Safe, check whether it exists, discover an official DAO treasury, or verify current ownership. Owners and threshold may change after deployment without changing this address.