Building Trust through fluid payments: Multis’ integration with Infura ITX
Building Trust: a Core tenet of Multis
At Multis we often say that we “earn trust in a trustless world”. In other words, we are aware that we’re building the financial groundwork for hundreds of DAOs and startups who struggle managing their crypto. For us, this means that we want our accounts to be as safe as possible (which is why we build with Gnosis Safe), and we want them to be as easy to use as possible (hence hiring top shelf designers and recruiting across product).
Fluid and easy payments are at the heart of this equation. We know this because when we spoke to hundreds of founders and CFOs at DAOs and DeFi startups they often spoke about how difficult making payments were, especially when it came to paying gas fees.
Making gas fees as seamless as possible
A key learning from our initial product was that no matter how nice our interface was, paying gas from an external signing wallet added an extra step and could slow down business operations. This was amplified when users would have to purchase ETH to pay for gas- this added more time to an already time consuming process. There was an added burden for users when their transaction is stuck in mempool.
Although we do plan on integrating layer 2 solutions and other chains, we knew that we wanted fees on ETH mainnet to be easier to pay and we wanted to eliminate the added step of having to make sure there was enough ETH in your payment wallet before making a payment- so we knew that a relayer that would allow users to pay network fees in whatever native token they were paying in was the best option.
Integrating Infura ITX: a key partner for an easier payment experience
There are a few major relayers, and we decided to integrate Infura ITX. We did this because the documentation was extremely clear and it was easy to integrate- especially because it’s compatible with the well-known ethers.js library which we use in our stack. On a bigger level, I like that they are actively working in favor of improving the developer experience to bring more people to the Ethereum space.
I’m aware that some people might argue that improving the devxp with a centralized service might be a problem (Moxie, for instance) and go against the web3 decentralization ethos. But in the end, it’s a matter of balance, a network needs to attract developers with good and accessible tools while keeping enough decentralization to be secure. My team appreciates how open the Infura team is to hearing our feedback and constantly improving their product. You can check them out yourselves, at Infura.io/product.
Diving into our technical set-up
A user making a payment on Multis will select the currency they want to pay in (this is dependent on the ETH based tokens currently in their wallet). Network fees will be settled in the chosen currency. The technical process is a bit more complex/
Every time a user wants to perform a transaction from their Multis account (built on Gnosis-Safe) we follow these steps:
1. We build up the Gnosis-Safe transaction which represents a tuple {to, value, data} (simplified) associated with some refund parameters
2. We collect enough signatures from each owner depending on the approval policy
3. We use Infura ITX to relay the transaction via their RPC API and guarantee us the transaction will be mined under 6 blocks (1min30) when using the parameter schedule=fast. The validity of the transaction is guaranteed by the signatures collected from each party (admins on the multisig). Neither Multis, nor Infura, can manipulate the transaction to steal funds, it would result in a failed transaction. Technically, Multis via Infura ITX pays the gas fees in ETH. But the Gnosis-Safe has a refund mechanism that allows us to get reimbursed by the multisig smart-contract in the token of our user’s choice. No ETH is required anymore. Pay the gas in the token of your choice.
Looking forward: Technical integrations with Infura
In the future, as Multis extends its coverage to more networks, especially sidechains and Layer2 solutions such as Polygon, Arbitrum, or Optimism (and more), we would love to be able to use the same method with ITX to relay transactions on behalf of the users and continue offering eth-less transactions on those networks. We know that building trust through fluidity- whether it’s fiat that’s as liquid as crypto or making network fees as easy ass possible — is a major part of our engineering and product strategy. Our Infura ITX integration is an important step in making good on our vision.