With all the hacks going on and people getting their wallets drained of high value NFTs I recently wrote this piece for a community I was in and decided it is more important to share it far and wide.
Based on what I have heard, creating a Gnosis Safe is daunting for people, so here is a simple guide to get it all setup and learn more about it and why you should have at least one of these.
What is a Gnosis Safe?
- You deploy a fully audited and well used contract where you are the owner
- This works very similarly to any other wallet, but instead it is a multi-sig wallet meaning you can configure the policies for how transactions are made from that address e.g. 2 wallets need to confirm each transaction, or more if you want
- It can hold your NFTs & ERC-20 tokens
- Gnosis provide a superb web UI and mobile app to keep an eye on things and configure your safe, so no technical knowledge required
Why have a Gnosis Safe?
Multi-sig wallet for your most valuable NFTs & ERC-20 tokens
- Every transaction requires 2 or more signatures (you set the policy, more is safer)
- If one of your signing wallets (e.g. Ledger or Trezor) gets compromised, just swap out the signing wallet and reinstate another
- Unless someone gains access to multiple of your wallet seed phrases or private keys (depending on your signing policy), then they cannot access your funds or NFTs - due to it requiring multiple signatures to confirm transactions
- Only use this safe for the most basic web3 transactions (SEND and RECEIVE)
How to create a Gnosis Safe
- Wait for gas to be low to make it as cheap as possible, recently we have seen gas < 10 Gwei and that is a great time to go through this guide
- Connect to one of your hardware wallets as a deployer of the safe, you will want to
make sure you have about 0.02 ETH (at gas less than 25 Gwei)
- I recommend getting the family pack of Ledgers from Ledger
https://shop.ledger.com/products/ledger-nano-s-3pack - you will use these ledgers EXCLUSIVELY as signers for your multi-sig
- Go to https://gnosis-safe.io/
- Create a safe
- Select Ethereum
- Give it a name
- You should add at least 2 owners, but you can do this later if you prefer
- Click create safe, this takes a few minutes as it will deploy your safe contract
- Now you have a safe, which has a standard Ethereum wallet address that you can send NFTs and assets to
Next Steps
If you skipped the step earlier to configure your policy to have more than 1 signer, please do that now.
- Go back to your various wallets, create a transaction
- When you paste your safe address, click add to address book
- Save is as GNOSIS-SAFE or something similar to make sure you rememer
- Also worth memorising the start and end of your safe address, so you are familiar with it as a backup
Get comfortable with it
- Test that you are happy how it works
- Play around with the UI
- Set dark mode :)
- Download the iOS or Android app to your phone, add your safe as a read only safe
Test send IN to your safe
- Send a low value NFT or small value amount of ERC-20 tokens to your safe
- First time you send to the safe, it can take a few minutes to show up, be patient
- Make sure you see it show up
Test send OUT of your safe
- Go to the NFT in your Gnosis Safe UI
- Click send
- Create the transaction
- This can all be done by creating a new transaction, signing from how ever many are required from your policy (2 minimum) and the transaction will publish
Setting up ENS Subdomain (optional)
When I set mine up, I also configured my ENS to have a subdomain for my safes e.g.
safe.<myENS>.eth // NFTS
bank.<myENS>.eth // ERC-20
(You can have multiple safes in you want like above example)
- Go to https://app.ens.domains/
- Go to your main ENS on your main wallet holding that ENS name
- Click subdomains
- Create
- Type
safe
in the name which will mean you have “safe.YOURENS.eth”
you decide the name
- Confirm and pay the gas to create that subdomain
- When you are on the URL for the subdomain, click ADD/EDIT RECORD
- Type in the wallet address of your safe in the ETH address part
- Save
Add that ENS subdomain to your safe
- Now go back to your Gnosis safe
- Apps > ENS > My Account
- Now you should see the safe ENS that you set earlier and can set it up to be assigned to your safe wallet
- Set it as the ENS for your wallet