- Fetch Transaction Data - Get the EIP-712 typed data for signing
- Sign and Submit - Sign the transaction and submit the withdrawal
- Monitor Execution - Wait for the delay relay to process the withdrawal
Withdrawal Process
1
Fetch Transaction Data for Signing
Get the EIP-712 typed data that needs to be signed by the user’s wallet (spec):The response contains EIP-712 typed data that needs to be signed by the user’s wallet.
cURL
2
Sign the EIP-712 Typed Data
The EIP-712 typed data from Step 1 must be signed by the user’s wallet using the EIP-712 signature standard.
Wallet Requirements:
- The wallet must be a signer of the Gnosis Pay Safe account
- For EOA wallets: Standard EIP-712 signature is used
- For smart contract wallets: ERC-1271 signature verification is used, and you must include the
smartWalletAddressfield in the request body
3
Submit Transaction
Once signed, submit the transaction to execute the withdrawal:
cURL
4
Monitor the Execution
The withdrawal is processed through a delay relay mechanism that executes after 3 minutes.You can monitor the transaction status using the delay-relay monitoring endpoints or by checking your Safe’s transaction history.
Complete Implementation Example
The following example demonstrates the complete flow:Security Considerations
- Make sure the user is aware this transfer is on the Gnosis Chain
- Remember that transactions cannot be reversed once executed
- Cards are temporarily frozen during the withdrawal process as a security measure
Token Support
This feature supports withdrawing any ERC-20 token that exists in the Safe account. Make sure to:- Use the correct token contract address
- Specify the amount in the token’s base units (considering decimals)
- Ensure sufficient token balance in the Safe account