Create or import the transaction:
• Build the transaction in Venn’s Tx Builder, or
• Upload an existing transaction to Venn, or
• Use the Send Tokens page for simple transfers.
Select transaction type = Bypass
In the Venn UI (before you sign the transaction), select the transaction type as Bypass.
Navigate to the Bypass page, and complete these steps:
Signers confirmations: Other owners sign the transaction as they normally would in the Safe interface.
Send Bypass Transaction: Once the threshold is met, you can send the Bypass Transaction.
Wait for the timelock countdown to finish.
Execute the Transaction once the timelock finishes.
Bypass via Direct Contract Calls (Programmatic)
Step 1: Create and Sign the Transaction
Create the transaction you want to bypass through the Safe UI:
Specify the transaction details (recipient, value, data, etc.)
Have the required number of owners sign it
Important: Don't execute the transaction yet - keep it in the transaction queue by selecting:
No, later option, and then you can sign the transaction.
Step 2: Collect Required Signatures
Ensure enough Safe owners have signed the transaction to meet the Safe's threshold requirement.
Signers can add their signature just as they normally would - through the Safe UI, or via API integration with the Safe Transaction Service.
Step 3: Submit Bypass Request
Call the bypassGuard() function on the VennGuard contract with the following parameters copied from the queued transaction:
Tip: You can find the address of the guard from the Safe UI under Settings --> Modules
Parameter
Description
Where to Find It
to
Destination address
Transaction details in Safe UI
value
ETH amount (in wei)
Transaction details in Safe UI
data
Transaction calldata
Transaction details in Safe UI (0x for no data)
operation
Call type (0=Call, 1=DelegateCall)
Usually 0 (Call)
safeTxGas
Gas for the Safe transaction
Transaction details in Safe UI
baseGas
Base gas amount
Transaction details in Safe UI
gasPrice
Gas price for the transaction
Transaction details in Safe UI
gasToken
Token used for gas payment
Transaction details in Safe UI (0x0 for ETH)
refundReceiver
Address to receive gas refund
Transaction details in Safe UI
signatures
Collected owner signatures
Transaction details in Safe UI
To send this bypassGuard()transaction, you could either use Etherscan's Write Contract functionality or write a custom script interacting with the guard contract.
Step 4: Wait for the Time-Lock Period
After submitting the bypass request, you must wait for the configured bypassGuardWaitTime to pass. This period is set during guard initialization, cannot be changed afterward, and cannot exceed 7 days.
Step 5: Execute the Transaction
Once the waiting period has elapsed:
Return to the Safe UI
Find the queued transaction
Execute it normally
The guard will now recognize it as a bypassed transaction and allow execution.
Troubleshooting
Issue
Solution
Error: bypassGuard already called
A bypass request has already been submitted for this transaction. You may proceed to execute the transaction as normal
Transaction still fails after waiting
Verify the wait time has fully elapsed and the bypass request transaction parameters exactly match the proposed transaction parameters
Signatures rejected
Ensure signatures meet the Safe's threshold and are properly formatted