February 5, 2026

Gasless MULTISig – Multis – Medium

Gasless MULTISig – Multis – Medium

Multis and the Gas Station Network

Today, in order to use their Multis’ account (send a transaction, change account parameters on the blockchain, etc.), users must pay a network fee called gas, payable only in ETH. Given the nature of Multis’s multisignature smart contracts (an account is managed by a team), account owners need to have enough funds in their personal wallets in order to use their shared Multis account.

You can already see the pain: companies need to either fund their owners personal accounts as needed, to cover for network fees in anticipation, or owners can keep track of their personal expenses and frequently submit refund requests. This causes a lot of confusion, but also a lot of friction when it comes to UX.

This post is an overview of the work Multis has been doing to tackle this challenge.

The Gas Station Network is an effort lead by OpenZeppelin, Tabookey and Portis to solve this problem, by allowing users of a smart contract to send transactions without needing to pay for gas themselves. Sounds like magic? Let’s dive in.

GSN in a nutshell

Signing Ethereum transactions is free, broadcasting them to the blockchain on the other hand is what costs gas. In a GSN configuration, owners only sign transactions and then request that they be broadcasted by a relayer. This relayer is going to be the one effectively broadcasting the signed transaction and paying for the gas.

Gas Funding

In order for the relay to pay for gas on behalf of users, companies need to deposit funds for the relay to use. When funds run out for a specific company, owners will be invited to pay gas fees as usual, abstracting away the GSN machinery. Furthermore, the process of funding the relay and paying for gas fees happens autonomously by the use of smart contracts, effectively removing the need for a trusted third party.

Autonomous Network

The network is orchestrated by a single smart contract instance called the RelayHub, which keeps track of off-chain relayers, handles relayed transactions, and ensures all parties are honest, removing the need to trust any single relayer.

Relayers are thus part of a trustless P2P network, where anyone can participate by running a relayer (and earn money by charging contracts for pushing transactions into the Ethereum blockchain).

In order to participate in the Gas Station Network, a smart contract needs to be GSN-capable, that is, to implement a function responsible for receiving relayed calls (discussed later), but under the hood, Multis uses the Gnosis Multisig smart contracts, which were written before GSN and thus are not GSN-capable. Multis is forking Gnosis to implement GSN-capable multisignature smart contracts.

Extending Gnosis Multisigs

Multis is forking the Gnosis Multisig in order to do the following:

  1. Allow for free account creation: today, opening a Multis account means deploying an instance of the Gnosis Multisig, the gas fees for such an operation need to be paid by the user deploying the contract. By making the Gnosis factory GSN-capable, Multis is going to be capable to offer its users free account creation, by paying gas on their behalf.
  2. Once an account created through Multis, allow companies to pay for gas on behalf of their own users. This means forking the actual deployable multisignature Gnosis smart contract and making it a valid GSN Recipient.

For this work, Multis is using OpenZeppelin SDKs.

Accepting relayed calls via GSN

In order to be a valid GSN Recipient, a smart contract needs to implement a function called acceptRelayedCall. This function’s responsibility is to instruct the relay hub to either go ahead and execute a transaction or to reject it. Payment strategies, if any (eg. who gets free gas and who doesn’t), need to be implemented here.

Payment strategies

There are multiple payment strategies, that is, to accept or reject a relayed call via the Gas Station Network (GSN), you can, for example, have a white list of trusted users, only allow relayed calls for a subset of functions or even delegate your logic off-chain.

What got our attention however was the possibility to charge users in tokens (issued by Multis, as we will discuss later), automatically getting free gas simply by holding them.

It’s also important to note that relayed call requests can be rejected at no cost to the recipient.

Writing GSN-capable smart contracts

As discussed earlier, there are two aspects to a Multis account, first its creation, technically deploying your own instance of the multisignature smart contract and second, its usage, which happens out of your own self-custodian instance managed only by owners you included in the creation step, or added to your account later on.

Let’s discuss how gasless transactions happen at each of these levels.

Account creation

Account creation happens through the Multisig Factory managed by Multis. Paying gas fees on behalf of users for the creation phase means funding the Factory by depositing ETH to the GSN Relay hub. This way, anyone trying to create an account throught Multis will not have to pay for gas.

Protection from spam

Since Multis is going to be paying for account creation gas, we needed a way to protect ourselves from a malicious attacker draining the factory funds by creating multiple accounts.

This is where we want to introduce the CryptoDreamers Token.

CryptoDreamers Token

The CryptoDreamers Token (CDT) is a token issued by Multis, simply holding it allows you to pay for gas in the process of creating a Multis account, with a 1:1 ratio to ETH.

CDT is deployed at the following addresses:

GSNRecipientERC20Fee

Technically, CDT is an implementation of the GSNRecipientERC20Fee interface, this is a rather complex payment strategy, but since it comes built-in with OpenZeppelin SDKs, integrating it was straight forward, since it boils down to extending your contract with both a GSNRecipientERC20Fee and a MinterRole so you can issue tokens.

All you have to do next is implement your minting strategies, and most importantly, only accept relayed calls for users holding your token. Below is how Multis is doing it.

Published at Thu, 16 Jan 2020 09:32:28 +0000

{flickr|100|campaign}

Previous Article

Implement Lydian Lion Services in real life – Rindi ani

Next Article

Bitcoin’s Lightning Network (LN) Throughput Exceeds Visa, Alipay, $10,000 is Next? |

You might be interested in …