To understand how a GP Safe differs from a standard Safe, let’s examine the account setup flow that transforms a basic 1/1 Safe into a fully configured GP Safe Account:
1
Safe Configuration
Ownership Transfer: Swaps the Safe owner to an inaccessible address (0x0000000000000000000000000000000000000002)
Module Enablement: Enables both the Roles and Delay modules on the Safe
2
Delay Module Setup
Deployment: Creates a new Delay module instance for the account
Cooldown Configuration: Sets the transaction delay period (typically 3 minutes)
Expiration Setting: Configures how long queued transactions remain valid
Owner Access: Grants the initial Safe owner (the owner before the ownership transfer) access to the delay module
3
Roles Module Setup
Deployment: Creates a new Roles module instance for the account
Allowance Configuration: Sets up spending limits with:
Initial balance amount
Maximum balance cap
Refill amount per period
Time period for refills
Role Assignment: Grants spending permissions to designated spender addresses
Target Scoping: Restricts spending to specific token contracts
Function Scoping: Limits operations to ERC20 transfer functions only
Ownership Transfer: Transfers control to the Bouncer module
4
Bouncer Module
Deployment: Creates the final security layer
Access Control: Manages who can interact with the account