[Music] Hello everyone. Uh my name is Robin. Uh today I'm going to be talking about well how can you build a one-click experience on chain? Um and by one click experience on chain I mean how can we do it in a multi-chain format like how can we do crosschain transactions um and still keep a very seamless UX for the user essentially how can you build once and scale everywhere uh your apps so today I'm here representing a veale um and at a we're doing a bunch of things and the avail stack essentially is what we are proving providing you builders to build these seamless multi-chain applications which helps you to build powerful apps faster um allowing you to build crosschain apps in minutes not weeks share liquidity across chains and consolidate users unified token balance I'll get into what I mean in a bit uh so essentially like at a we do a bunch of things we've got uh a da which is our first foundational product called data availability um and today I'm going to be talking more about Nexus which is our permissionless crosschain communication layer and then we also have something that we're building called fusion which allows you to have more additive crypto economic uh security on top of that right but let's focus on nexus here today right uh Nexus essentially allows you and your app to tap into liquidity from multiple different chains at the same time without you having your user to leave your application or like to a third party platform like a bridge right like you you probably use multiple bridges on your day-to-day life. If you do use web 3 on a normal basis such as you know across or relay or stargate or whatever it is that you use right or even native bridges like from Ethereum to an L2 or from anything else right and the problem is this really fragments UX uh for users and builders and we want to solve that problem and how we going to do it is well through Nexus.
Um so as you can see here in this image that this is a screenshot from unis swap basically and if I go to unis swap today and I click on all networks I see this long list of networks which I can obviously this is great this is great that I can you know unis swap supports all of these networks but it is still not the best user experience you could have. What if you don't have to go to an external bridge to be able to use apps on a chain? Uh this means you would no longer need multi-chain deployments and monitoring. Um you could have a one-click seamless UI experience and abstract away the concept of chains from users. So uh today we unveiled a veil Nexus SDK and it has a bunch of features.
Uh the core features here are essentially bridge transfer and bridge and execute. Bridge I mean it's it's what it is. Bridge means you can bridge your tokens from a an number of source chains to your preferred destination chain um at the same address. Transfer is pretty much the same concept but you can uh define it to a different recipient address. And bridge and execute is basically the core functionality of what makes Nexus stand out.
Essentially, imagine you have an app on base for example, right? Um maybe you want to use base uh market on a but you don't have enough liquidity that you want. So, you probably have like $100,000 worth of funds across multiple chains in web 3, but you only have 20,000 on your base chain. So, and if you really want to put all of those $100,000 uh worth of USDC into a base market, you have to go to a bridge and do all of these bridging transactions. Um, which is again not great.
What if you could just click on supply? What if you could just click on supply and that bridging process is taken care for you and the supply function is also executed for you. Right? So let's say um like I said I've got 20,000 USDC on base I but I have like another 80,000 uh you know distributed across optimism or and polygon and scroll etc. Right?
Uh so instead of having to go to thirdparty platform if you have integration integrated Nexus SDK what you can do is essentially click supply and Nexus takes care of finding where you have liquidity and bridges it for you and executes a supply smart contract function on a deposits liquidity for you and you get the returning a USDZ for example right and that is a core functionality because for the user now it is just a one-click experience or an inapp experience they do go to another app. So, you retain your users on your website, right? So, I will go into a short demo soon, but essentially what you can build with Nexus here is a bunch of really cool multi-chain and crosschain applications such as Dexes that allow you to do crosschain swaps, yield aggregators that can uh you know, source liquidity from multiple chains and optimize for various yield strategies. You can build an AWE or a Oiler or a Moro kind of lending protocol with universal deposits. That means the user does not have to care where their funds are.
They just click depos. They go to your app, they uh click deposit and it happens. You can do pull together. If you don't know what pull together is, is basically similar concept where you deposit your funds and you buy tickets and then it's a lottery wherein you earn some rewards. But essentially pull together is limited in the number of chains it supports.
But if you can integrate nexus to it, it could do a lot lot more, right? Even tipping clients. So if you've used like decentralized social media networks like Lens or Farcaster, you would see that Farcaster probably supports base and u Lens supports Lens chain. And if you don't have liquidity on either of these chains, it is hard for you to kind of tip on the on the social media app, right? At that point, can you build a tipping client that can source liquidity from any chain and tip the uh tip your favorite creators, right?
uh even games like casinos, casino type games, Monopoly, etc. And we've linked uh you know more project ideas on the resources section of the ETH global prizes uh website and you can check that out. And we've got a bunch of boundaries of about $10,000. Uh best use of Nexus SDK for areas like gaming, DeFi, RWA, stable coins, etc. uh most innovative use case of the bridge and execute function that I was talking about and then some you know if you will if you would like to build some tooling for avail that's also possible right um so let me actually go through a really quick demo that we have so I saw that privy has also some bounties at e global so what I really did was just to show how easy it is to kind of integrate nexus I took their starter repo like their starter kit and integrated nexus this on top of it.
Uh so if you again all of the resources are there in the uh resources section of E global but if you want to check it out this is it. So um essentially it's a create next app with preview already integrated and I have integrated Nexus as well on top of it. Um and what it does is essentially let me actually run it I think. Oh yeah it's running already. So yeah, let me log out also just to be fair.
Okay, so when you first initialize the or like when you first run this preview demo, you get a page like this and I want to log in and you see a preview model opening up. I'm connecting my MetaMask. Um, if you have your own preview email address based wallet, you can do that as well. Um, I'm I have funds on my MetaMask for now, so I'm going to just use that. So I've signed in right as you can notice um if you just run the plain old preview demo you would just see this section of uh the demo but now that I've integrated S Nexus SDK you will see this component as well right so this does a lot of stuff so you can obviously choose from mainet and test net right um and then you can choose which wallet on preview that you want to use right now I'm using uh a wallet of starting with 7894 which is fine And we know that we are ready to initialize this wallet for an Nexus SDK.
So the first step is obviously I want to initialize it right you can see that I'm initializing it. I confirm it um and boom. So the first thing that you notice you see a bunch of unified balances here. Uh essentially you get through the Nexus SDK it aggregates your entire portfolio um and shows you the unified balance and also gives you a breakdown of all the chains and the tokens that you have it in. So for example, USDC I've got it on base and op mainet right now.
Um ETH uh I've got it on arbitum one bass op mainet Ethereum mainet USDT I've got on OP mainet and arbitrum one etc. Right? So I've got all these balances and it's the unified balance is basically shown on the top here. Um and this is really powerful because you as a user or as a developer now you don't have to worry about having to manage chains on like make sure what chain the user is on. you don't have to, you know, worry about that.
You just have to you like build your application as you want it without worrying about chain configuration, right? Um, so again, we've got a bunch of uh features like I mentioned like transfer, bridge, bridge, and execute. So, obviously, let's maybe uh bridge some USDC, right? Let's bridge some USDC. Um, let's see.
We've got some USDC on base right now. Let's bridge it to optimism because we don't have a lot over here. So, let's do that. Right. So again, so for each functionality that we have, we've got a simulate option as well.
So you can simulate your transactions before you actually execute them to make sure that they actually are correctly uh formatted. Right? So let's do the bridge function. So I'm going to probably I've got like uh 15. So I want to I don't know I want to do like 10 USDC or optimism.
I want to first simulate it. So it'll take some time. it will first look at your it'll create an intent and it will create a simulation. So you can see here now I have an intent created for the amount of 10. Um and I want it to be deposited on OP mainet.
Again I'm using mainet funds right now. So hopefully it all works well. It should it will uh but yeah I mean and you can also see that the sources uh right now it's taking for breeze because and I've not configured from which source to take it from. I just uh configured what destination chain I want it on. And if I had uh you know funds on multiple other chains it would have it would have source liquidity from there as well.
But right now I've got most a bunch of my liquidity on base and I want it on optimism. So what I will do here is now um yeah I would just click bridge. I've simulated. It looks good to me. So I'm going to click bridge.
First thing that happens is it creates whatever intent we have the intent hash is generated and we have to sign it. Okay. All right. So, as we can see here, it's success. It's true.
And it has worked. Uh, let me go up here and refresh. And you can see uh it has basically bridged my funds from OP mainet to base. And to be honest, this does not really matter to a user. This is from a de developer point of view.
This matters for you. But from a user when you build your applications you you can build this in a more chain abstracted way where the user does not even know about the chains that are involved. Right now this is for a developer. Yeah. Yes.
Yes. Yeah. Yes. Yeah. Okay.
So we have that. So okay. Now I'm going to do something really cool. Now we did the bridge. The transfer works a similar way.
Right. Let's actually try from this UI to bridge. So we've got some uh funds on base uh but we also have some funds on OP mainet and I want to probably deposit maybe 12 USDC on a base market. Okay. So I don't have enough liquidity here.
As you can see I already like 5 USDC on base. I want to put like 12 USDC. Let's go to AI and check how much I have here. I have done. Yeah.
So, let me reload it. Okay. I don't have anything supplied yet as you can see. That's cool. That's fine.
All right. So, I'm going to bridge and execute. Um, I want to put like 12 USDC because that's obviously more than that I have in base. I'm going to try and simulate this first just to make sure. Oh, wait.
Let's see if I have Let's try 10 then. Not sure what happened there. There's some edge cases I I didn't code into the uh demo. That is why it's probably failing, but okay, that's fine. It should work.
It's just some edge cases I didn't uh consider for, but that's fine. Um but okay. Anyway, now that I want to bridge 10 USDC, it's possible. It says um you know the steps that's going to be taken is it's going to bridge first. Um it is going to bridge it to base.
You see that uh it's going to take uh sources from OP mainet and the amount is going to be Yeah. It's going to bridge basics at 10 uh USDC and then it'll source the rest of the uh stuff. Yeah.
Yeah. Okay. And all right. So we have that and I'm going to bridge and execute it. Essentially it's going to do uh something similar.
is going to bridge that 10 USDC over. I sign the intent hash.
Oh yeah, one second. Um so as we see here we have obviously now it is bridged and now on base we have those 10 USDC that will be converted into a USDC because it's being deposited to the Away smart contract. I'm going to confirm that and hopefully we get the execution result and hopefully if I go here it should uh yeah done right and essentially I'm not worrying about the user going to third party place and bridging it u as long as you've configured your edge cases properly that is if they've got enough liquidity like some liquidity over here some liquidity over here you as a developer just have to manage manage that and the from the user perspective they don't have to care about all of this right and so yeah I've kind of deposited uh 10 USDC to the a base market from my funds on optimism right um so yeah I mean if you want to check out the code it's essentially over here I have linked the repo on the resources site we also have a uh basically an a veil nexus hacker cheat sheet digitally so where you can find all of this information you can find you know the docs um you can find uh project ideas. So when you land over here, you click on project ideas, it'll bring you here. All of the project ideas that we've listed out here, you can find it out over here.
Um again over here, if you go if you go to the repo, you'll see that I'm basically initializing the SDK. Uh and then obviously trying to handle some error cases here. Um we can handle some hooks like suppose when an intent is generated, you can create a hook on what needs to happen there. maybe pop up a model that kind of shows all of the details of the sources of the destination chain etc the fees and all of that. Again for allowances obviously when you have to you know access liquidity from different chains you have to provide you know get the allowances from those uh chains as well from the user.
So you can again create specific modals and like user experiences for that using these hooks. Um and then as well um again getting the unified balances getting the aggregator to portfolio balance. You can do that. Uh you just again it's just one simple SDK call. You just call SDK get unified balances.
You can even if you don't want to get all of the tokens and all of the chains you can just specify there's another call called get unified balance with the token as the parameter that you pass through. So you only get it for that token right and again execute. So we've got just an execute function, we've got just a bridge and execute function, transfer, bridge, all of that. It's all there in the docs docs. I think we're about to run out out of time.
So I'll take some questions now.
Um what kind of chain are supported in the bridge like can we add also custom uh ev chain or we have to to follow the chain that are already inside the bridge?
Yeah, so right now uh custom bridging like custom networks won't work. you can only uh source and distribute liquidity across the chains that we support. It's just because of how it is working like the solvers cannot just take liquidity like it's based on intent solver method. So like yeah you need liquidity on that other chain as well. That's why.
Thank you.
But we do support all all of the major chains like optimism, arbitum, base, scroll, polygon.
Ah, okay.
So, we're also only EVM compatible at this point. So, flowchain may not work unfortunately, but uh only EVM compatible chains, but all of the major chains are supported.
Thank you.
Yeah. [Music]
Automatic transcript — names and jargon may be misspelled.