1. Wallets
  2. Gnosis



Wallet module for connecting Gnosis Safe to web3-onboard



type GnosisOptions = {
  whitelistedDomains: RegExp[]


import Onboard from '@web3-onboard/core'
import gnosisModule from '@web3-onboard/gnosis'

const gnosis = gnosisModule()

const onboard = Onboard({
  // ... other Onboard options
  wallets: [
    //... other wallets

const connectedWallets = await onboard.connectWallet()

Customizing Gnosis Transaction Gas

If you are looking to set the gasLimit of a transaction within Gnosis, the gas properties within the transaction WILL BE IGNORED. Instead you will need to use the safeTxGas prop AND the web3-onboard Gnosis instance that is exposed through the provider to send along the transaction. The Gnosis sdk instance exposed by the web3-onboard must be used to set the safeTxGas prop and send the transaction. Check Gnosis docs for full detail as it can be a bit confusing. An example of accessing the Gnosis SDK instance and sending a transaction can be found below.

const tx = {
  to: toAddress,
  value: 1000000000000000,
  data: '0x',
const params = {
  safeTxGas: 5000000,

// wallet is the provider exposed by web3-onboard after the Gnosis wallet is connected
let trans = await wallet.instance.txs.send({txs:[tx], params})

Note: With the safeTxGas you will see additional value on the gasLimit displayed in the Safe. Check Gnosis docs for full details on that computation.

Build Environments

For build env configurations and setups please see the Build Env section here