Back to All Episodes
Season 1Episode 44

Biconomy

November 18, 2022
28m
1 Guest

Listen Now

About This Episode

In this episode of DevNTell, Yashasvi Chaudhary from Biconomy introduces the Biconomy SDK, a modular toolkit designed to simplify the Web3 user experience. Chaudhary discusses the friction points currently hindering Web3 adoption, such as managing wallets, paying gas, and navigating between multiple chains. He explains how the Biconomy SDK addresses these challenges through features like gasless transactions, social logins, and account abstraction (ERC-4337). The presentation includes a live demo showcasing a seamless, single-click process for adding liquidity on a testnet, highlighting the efficiency and user-friendliness that Biconomy aims to bring to decentralized applications (dApps).

Key Takeaways

1

Biconomy is building an ultimate Web3 transaction toolkit to onboard the next billion users by making dApps as easy to use as Web2 platforms.

2

The Biconomy SDK is modular, allowing developers to plug and stack powerful features like social logins, fiat on-ramps, and gasless transactions.

3

Account Abstraction (ERC-4337) is a core component, enabling smart contract wallets with advanced functionality like multi-sig, social recovery, and quantum-resistant signatures.

4

Batching multiple transactions into a single interaction significantly improves UX and can reduce gas costs for users.

5

The 'chainless' experience goal aims to abstract away the complexities of bridging and RPC switching, allowing users to interact with dApps without worrying about the underlying blockchain infrastructure.

Featured Guest

YC

Yashasvi Chaudhary

DevRel @ Biconomy

Biconomy

Timestamps(click to jump)

Episode Transcript

Narb

All right. GM, GA, GE everybody. Welcome to what's going to be another great DevNTell. So if you didn't know, DevNTell is a window for people to showcase anything they've been working on, such as unit testing best practices, automation goodies, smart contracts, how to structure a project, etc. Basically, if you've got a passion for something, this is your opportunity to share it with the community. And today I am happy to introduce to you Yash, who will be giving us an overview of Biconomy. Take it away, Yash.

Yashasvi Chaudhary

Thanks, thanks. Hi everyone, how's it going? So, I think I'll start with my introduction. So I graduated in 2020 like when corona started, and during that time Biconomy was starting out, so I joined Biconomy from my college, first as an intern, then as a like full-time developer. And I was looking into all sides of things that was happening. We had like gasless SDK, we were looking out meta-transactions, how to do like all these forward flows, paying in ERC-20 tokens. So all that stuff like I have been looking into both on the frontend, backend, and the blockchain side for the past two and a half years. And recently, like we have been working on this Biconomy SDK, which is like a one-stop solution to everything and to improve the UX, be it like getting the next billion users to Web2 with a lot of cool stuff such as social login, fiat on-ramp, have like those one-click experiences where the dApp does not have to kind of do a lot of transactions, like 10, 20 transactions, just to like simply stake and maybe stake on some LP and like do some cross-chain transactions. So all that stuff we have been working on and we recently released our SDK. I'll share my screen. Is my screen visible?

Narb

Yes.

Yashasvi Chaudhary

Cool. Just a second. Awesome. Yeah. So yeah, I mean, as I told you, like for the past two years, like we have been focusing on building the Gasless product and the Hyphen. The Gasless was usually around like the meta-transactions. It followed an EIP-2771 standard and we had like huge volumes on this and we had like people like Sandbox, dYdX, Zed Run coming along and a lot of Web2 giants such as J.P. Morgan, Dolce & Gabbana, and all those big companies come over and like they simplified the UX for the user, which was basically the gas abstraction part. And we had like huge numbers on those sides. Now, on Hyphen, like we started I think around one and a half years ago, which was a cross-chain bridge. It is the fastest bridge out there and we have done like high numbers on there also and like things are going pretty smoothly on both ends. Now I have a teaser for all of you guys. Let me know like if the voice is not coming to you guys. Just let me know.

Yashasvi Chaudhary

[Teaser video plays discussing Web3 UX problems like setting up wallets, bridging, and paying gas at every step. It then introduces the Biconomy SDK as the ultimate Web3 transaction toolkit.]

Yashasvi Chaudhary

Yeah, so this is the Biconomy SDK in a nutshell and like where we'll be kind of like bringing all these features in terms of modules, in terms of how these things would be improved for everyone, so it's easier to onboard users and like not let them kind of stop at any step because it's too much or overwhelming for them. And then they can like simply like focus on the Web3 aspect of things, like maybe they are playing a game or they don't have to go through the hassle of, let's say they want to transact with USDC, like why have the necessity to keep, let's say, MATIC or ETH in their wallets? And all that stuff kind of gets abstracted away, and all this kind of gets enabled via the smart contract wallets and the account abstraction flow that we are following. And like account abstraction is something that Vitalik has been pushing for a long time. And in general, there is a like a larger sense in the community that having like the custody of your own funds and like having good features over the wallets that you have, it's like a must-thing to do in the sense that seed phrases and all those things are kind of tough to manage and everything. So there are a lot of features that can be enabled by smart contract wallets, and that's what this SDK is aiming to.

Yashasvi Chaudhary

So yeah, this is a like a normal flow, like how what you have to do: you have to connect your wallet, this was like basically if you want to bridge something or buy an NFT. So you have to do like tens of steps: you have to connect your wallet, then you have to go to the bridge, sign the transaction, then pay for that one side of the transaction, then go to the other side, like basically changing in your MetaMask and then you go to that side, you buy the NFT, and like then you are done with the whole entire process. But that should not be the case. Like it should be, like the user should not know like which chain he or she is on or what is happening behind it. It's like when you like use Facebook or you use Google, stuff like that, you don't know like which database they are using or which tech stack they are using beneath it, and you just like go ahead and like use their platform in that sense. So you should not be worrying about all these intricacies, like what's going under the hood, what's happening here and there. So this is what the SDK aims to. It kind of aims to abstract away all these things as and more and more use cases start building on it, like NFTs came in, cross-chain bridging came in, and like in the future anything that comes up should be like abstracted away for the user so it becomes easier for them to go ahead and use the platform that they are using.

Yashasvi Chaudhary

So yeah, so these are a few things that our SDK is currently aiming at. So first of all, it's easier user onboarding. So this is something that we have always aimed for, like even with gasless transactions was that the user should not worry about having MATIC or anything. But before that, if a user is coming from Web2, usually there are two things: they have a Gmail account or stuff like that. Secondly, they have like let's say US dollars or any currency they have. So to easily kind of get them into the Web3 space is, first of all, allowing them the social login feature in which they can like have a smart contract wallet or identity on the Ethereum blockchain, or any blockchain for that matter, via their Gmail account. It should be that simple for them. Secondly, obviously, like you need funds, like you need on-ramp/off-ramps to buy the assets at some point, be it USDT or any other ERC-20 token, you should be easily be able to buy them. And what happens is like it's scattered right now: like there is one social login feature there, there is another fiat on-ramp there, and then you have to do all this in a third or fourth platform. So in our SDK, like all these things are integrated deeply and it's available as packages, and people can obviously run and like use their packages on top of that, or use the predetermined one, the packages that are already there.

Yashasvi Chaudhary

Second is gasless transactions. So this is something that we have already been doing for a long time for the past two and a half years. We were following EIP-2771 which was a standard, like meta-transaction framework with some contracts that were out there. But like currently, like we are now enabling this with account abstraction flow, ERC-4337. This is something that Vitalik and other members of the Ethereum foundation, be it Nethermind, GSN, and all those people are like heavily working on. So in this way, like it's not a protocol change, but it's a change that on the contract level itself and it allows you to have a lot of stuff, like it abstracts away gas for a user, so technically the user does not have to hold gas for any transaction that they have to do.

Yashasvi Chaudhary

Thirdly, yeah, chainless experience, like user should not be concerned about like if they are on Ethereum or Polygon or keep changing between like on their MetaMask from one chain to another. This is a lot of hassle and it's like managing a lot of things and it becomes too much after a point if we have like four or five chains, then it becomes too much. And it's tough, like because one chain will be having some kind of functionality, the other would have some other, and you would want to be on every chain, but the shift between every chain is too much right now. And so a chainless experience is what we are building, in which you don't like have to worry about the provider which is there, like everything is handled like inside that Biconomy SDK itself.

Yashasvi Chaudhary

And yeah, definitely batch transactions. So over the period of time, like we have realized that batch transaction does save a lot of gas. So let's say you want to approve and stake, or let's say you want to provide approve and maybe provide liquidity, or let's say you are staking and claiming some rewards. So all these currently are individual transactions, individually you have to pay for their gas. And these can be, if they are coupled in one transaction, it does save a lot of gas because the base gas remains, is always consumed and you can like kind of not use that and like just go ahead and like batch the transaction. So this is one feature that we do offer and like we do offer like kind of bundles where like people can come in like use predefined bundles, let's say you are there's a leveraging position that you want to use maybe on Uniswap and you are moving funds between two different DEXes and then you can kind of batch the entire transaction. So in that sense, like it becomes easier for you and your users and the dApp developers to like envision how easy it would be for them, like they don't have to go across like maybe on Uniswap, then they go ahead and let's say on Curve, and like on any other SushiSwap let's say. So all these things can be like kind of be in one transaction, and for the user it's a little bit of less hassle, less things to manage and like more focus on like building cool stuff and rather than like worrying about all this like small small stuff here and there.

Yashasvi Chaudhary

So as I said, like all this is possible via account abstraction. And by account abstraction, I mean that a lot of things are getting abstracted in this. For example, the signature abstraction is like, in the sense that your current EOA that is there, it's heavily tied to your private key and your signing features. So in a way, like your signer is your account and your account is your signer, so you can't kind of separate that out in the sense. But with account abstraction and smart contract wallets in general, like be it Gnosis, Argent, and all those stuff that you can separate it out. You can have your custom signature logic, verification logic, and with those help like you can have various use cases. Let's say in the future when quantum computers do become a thing, and the ECDSA signature would break, as in like EOAs would not be secure. But in that case, if like using your smart contract wallets, you can have like quantum-resistant signature schemes that would not allow anyone to come in and like break your account. So in that sense, having that kind of abstraction between the two identities is crucial going forward because a lot of things are enabled with this feature. Also, interesting thing would be something like a guardians feature, let's say you lose your private key but you would do have assigned guardians beforehand, which can generate a new private key for you. And then you can change a lot of stuff in that and like maybe move your assets or before the hack happens. So all this kind of is gets easier, currently let's say if you lose your seed phrase and then your funds are gone, like you just can't do anything about that. And obviously multi-sig is another feature that has been in the works and been used by a lot of people for a long time and like we can see the actual power of multi-sigs that, okay, like if an account has four owners, like three out of four owners need, are needed to move the funds and not just, it's not a one-v-one, so one user loses their control, it's gone. It's not that case. So it does enable security of funds, like more assurance and trust on the like wallet itself that, okay, and less sleepless nights. The next was like basically the gas abstraction part in which gets enabled in the ERC-4337 flow.

Yashasvi Chaudhary

I'll show you an article by Vitalik, so it's something that has been in works for a long time and it's something that has been pushed by a lot of people. So what he asks is basically that there's another kind of a dummy mempool, a user operation mempool, which has these userOps in it and another actor, basically a bundler, kind of bundles those transactions then then sends to the Ethereum blockchain. Now, a lot of stuff will change for that, I mean, this is the kind of the flow of things would work. So there would be an entry point contract, an entry point contract would basically verify if this contract wallet or this logic is correct or not. And then it can also verify, then there is a paymaster mechanism in place which can kind of sponsor your transactions and pay for your gas. And all that stuff gets kind of executed via this and there's a some refund mechanism in place which allows you to kind of pay in those ERC-20 tokens of your choice. And all that stuff is possible by account abstraction and it's like a contract-level change so it's not like it's not an EIP itself. So it's out there, like people are building on it and it's like enabling a lot of stuff. And it does allow you to like go ahead and like make the user experience even better for that. And chain abstraction is something like we are building, in which we can like kind of not make the user worry about any chain or not and make them comfortable with any like the user experience and like the frontend they are facing rather than like in the nitty-gritties of how which chain or what native asset they should worry about.

Yashasvi Chaudhary

So yeah, I do have a demo for you guys. So first I'll walk you through what this demo would do. So basically I create a new Ethereum account on Mumbai, and then I'll like kind of do some transactions. And first of all, like my Mumbai like account the wallet would be deployed because you do need a wallet in all these sense, like in all these cases. And that just to save gas, like I'll the in the first transaction itself, the wallet deployment with the liquidity that I'll add to the Hyphen pool, those would be shown and then that like approve and that liquidity adding would be done. [Live demo showing creation of a smart contract wallet and adding liquidity gaslessly and via batch transaction on the testnet.]

Narb

Yeah, awesome stuff here Yash. One question from me around wallet creation. So I haven't taken a look at the SDK yet, but do you offer kind of like a on-demand API kind of flow for creating wallets or is it only like frontend oriented?

Yashasvi Chaudhary

Okay, okay, yeah. So currently like it's wrapped around the SDK only and via the SDK you can create those wallets. Technically like it's better to batch because it does save gas also in your first transaction, so you don't have to specifically kind of do a wallet deployment separately then do the transactions separately. So in that way, like currently it's all inside an SDK, and because the SDK is essential because you need to build that transaction, you need to know who's the EOA account, you need some signature checks because an EOA account which is like a normal Ethereum address should be the owner of a smart contract wallet and so in that case that's how the flow works.

Narb

Gotcha. Cool cool cool. Any questions from the crowd? We have about five-ish minutes left. [Narb and a community member discuss a specific use case involving ticket minting and how Biconomy's gasless and wallet creation features can be applied to that scenario. Narb then concludes the call and mentions POAP drops.]

Listen On

Share This Episode

Share on X

Watch Episodes Live!

Subscribe to our event calendar and never miss a live episode.

View Event Calendar