This guide assumes you have successfully created a Safe.
In the Safe web interface:
Head to the transaction list and open the creation transaction:
Status should be
Success
The
creator
should be address you used to create your Safe.The
factory
should be one of the canonical Safe proxy factories, e.g.0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B
(labelled on Etherscan asSafe: Proxy Factory 1.1.1
)The
mastercopy
should be one of the canonical Safe mastercopies, i.e. currently one of the following:0x8942595a2dc5181df0465af0d7be08c8f23c93af
(v0.1.0),0xb6029ea3b2c51d09a50b53ca8012feeb05bda35a
(v1.0.0),0xae32496491b53841efb51829d6f886387708f99b
(v1.1.0),0x34cfac646f301356faa8b21e94227e3583fe3f5f
(v1.1.1) or0x6851d6fdfafd08c0295c392436245e5bc78b0185
(v1.2.0)
Open Settings -> Safe Details
Verify that the Safe version is recognized as a valid one.
Open Settings -> Owners
Verify that all owners are correctly set and addresses that you expect.
Open Settings -> Policies
Verify that this info matches your Safe configuration during Safe creation.
Open Settings -> Advanced
Verify that the
Current Nonce
is 0 and that no modules are enabled.
All of the above can also be double checked with the Safe mobile app.
On Etherscan:
Open the creation transaction on Etherscan
Check that status is
Success
Check that
From
is your wallet that created the Safe and matchesCreator
from the Safe web interface.Check that
To
is one of the canonical Safe proxy factories, e.g.0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B
and that it matchesFactory
from above.
Open the "Logs" tab.
Check that there is a
ProxyCreation
event.Check that the event was triggered from the proxy factory address from above (e.g.
0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B
).Check that the
proxy
in theData
field is your safe address (i.e.0xa063cb7cfd8e57c30c788a0572cbbf2129ae56b6
in this case)
Open your Safe on Etherscan
On
Transactions
check that there is no transaction, yet.
Open Contract
Check that the contract source code is verified.
Check that it matches the source code, ABI and most importantly contract creation code of other Safe, e.g. the Safe at https://etherscan.io/address/0xa063cb7cfd8e57c30c788a0572cbbf2129ae56b6#code.
The contract creation code should be the following:
608060405234801561001057600080fd5b506040516101e73803806101e78339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806101c36024913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060aa806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea265627a7a72315820d8a00dc4fe6bf675a9d7416fc2d00bb3433362aa8186b750f76c4027269667ff64736f6c634300050e0032496e76616c6964206d617374657220636f707920616464726573732070726f766964656400000000000000000000000034cfac646f301356faa8b21e94227e3583fe3f5f
Mark this contract as proxy
Note: Currently, this feature is only available after executing 1 Safe transaction. That is due to how Etherscan detects proxies.
Now you can Read as Proxy
The
implementation contract
address should be one of the canonical Safe master copies, i.e. currently one of the following:0x8942595a2dc5181df0465af0d7be08c8f23c93af
(v0.1.0),0xb6029ea3b2c51d09a50b53ca8012feeb05bda35a
(v1.0.0),0xae32496491b53841efb51829d6f886387708f99b
(v1.1.0),0x34cfac646f301356faa8b21e94227e3583fe3f5f
(v1.1.1) or0x6851d6fdfafd08c0295c392436245e5bc78b0185
(v1.2.0). It should matchmaster copy
from the Safe creation transaction in the web interface.Click
getOwners
- this should be the owner addresses of your Safe.Click
getThreshold
- this is the threshold that you have set during Safe creation.Click
getModules
- this should return nothing ornull
.Click
nonce
- this should be the total number of Safe transactions that you've successfully completed so far.
Please note: All of the above assume that both Etherscan or the Safe web interface report correct data. In order to go one level deeper, you would have to directly interact with a trusted RPC endpoint to verify blockchain data. However this requires a lot of technical knowledge. There is no easy to use guide for this, yet.