Architecture Overview
The Gnosis Pay Safe consists of a core Safe account with three main modules:- Core Safe Account: The base Safe wallet that holds funds and processes transactions
- Delay Module: Controls transaction timing and provides security delays
- Roles Module: Manages spending permissions and allowance limits
V2 Architecture Changes
Gnosis Pay V2 maintains the same Safe wallet structure with delay and roles modules, but implements key behavioral improvements:Instant Withdrawals
Withdrawals from the Gnosis Pay Safe don’t go through the delay module. The system reduces the spendable balance immediately to avoid double spending and then syncs with the on-chain balance, eliminating the 3-minute delay and removing the need for the card to be blocked during the withdrawal process.Multi-Currency Support
The Roles module now supports multi-token configurations so that users can spend different currencies via their spending safe.Module Configurations:
Delay Module Settings
- Transaction delay: 25 hours (increased from 3 minutes)
- Transaction expiration: 31 hours (increased from 30 minutes)
Daily Spending Limits
The Roles module implements a hardcoded daily limit of $20K per token. This limit is set at 2x the current card limit to accommodate future increases without requiring user transactions.Account details for authenticated user
To get authenticated user account details, callGET /user/account
- Sandbox
- Production
Account balances for authenticated user
Gnosis Pay V2 provides detailed balance breakdowns to give users complete visibility into their fund status. The authenticated user’s account displays four distinct balance types:| Balance Type | Description | Increases When | Decreases When |
|---|---|---|---|
| Spendable | Amount available for immediate spending via card transactions or withdrawals | • Deposits clear AML analysis • Refunds are processed • Returns of goods are credited | • Card transactions are authorized • Withdrawals are initiated |
| Authorized Holds | Amount reserved for pending card transactions (Base 1 authorizations). Funds are committed but not yet settled | • Card transaction is authorized | • Transaction settles (moves to spent) • Authorization expires or reverses |
| Non-Spendable | Funds that cannot be used for spending. Flagged for review or potential return | • Dependent on AML checks | • Funds are returned to source • Funds are manually released after review |
| Processing Deposits | Incoming deposits currently undergoing AML analysis. Not yet available for spending | • New deposit is received | • AML analysis completes (moves to spendable or non-spendable) |
GET /user/balances
- Sandbox
- Production
Each currency maintains its own separate balance states. For example, USDC and USDT will each have their own spendable, authorized holds, non-spendable, and processing deposits amounts.