New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

One Click, Any Chain — The Future of Crypto UX - Luka Isailovic | Reown

ETH Belgrade CommunityTue, Oct 7, 2025, 12:00 AM

One Click, Any Chain — The Future of Crypto UX - Luka Isailovic | Reown

Transcript

Um, so hey everybody, I'm Luca. I'm the web lead at Rion, formerly known as Wallet Connect, Inc. And today we're going to be talking about the UX of crypto. And more specifically, um, first we're going to do a short intro of Rion, what it is, talk about the Ethereum UX, some decisions made in the past that influence UX today. Um, we're going to be talking about chain abstraction and finally some payments because payments is the next big thing in crypto.

Everybody talks about it so we have to get it in. Okay, I'll do a very short intro. So last year, Wallet Connect the company has rebranded to Rion and now we have two separate entities. Wallet Connect File Nation and Rion the product company. Um, so what does Rion do?

Rion builds SDKs for developers. If you're an app, you would be using AppKit SDK in order to facilitate connections. Um allow users to connect their wallets. They can connect um any wallet via wallet connect. They can do social login everything else.

And if you're a wallet, you would be using wallet kit SDK in order to allow users to well use wallet connect. Okay, with the short intro done, um let's chat about the Ethereum UX. So a few years back it was apparent that Ethereum needed to scale right. Um Ethereum is not really known as a fast chain. Even today it's very slow.

Um block times roughly 20 sec 12 seconds. So not really good and users don't like it. But at the times it was also very expensive and this was like really apparent during the bull runs right it became congested and users not only have to wait for the transactions but they have to pay a lot um which is not great. The scaling solution Ethereum I guess decided on going forward with is the rollups or L2s as we know them today. Um the premise is let's instead of scaling the main chain let's introduce more chains which means more compute more storage and then possibly faster execution for the users while still relying on some properties from the main chain or to facilitate security and decentralization somewhat.

Um, I guess this decision was good from the point of scaling, right? Because we have chains like Bass today which are really popular and users use it a lot. It's cheap in it's fast. Users love it. But the consequence of this is a screen like this one um, which I took a screenshot of a few days ago on one of the most popular DAPs we use every day.

So, what does this screen mean? Why is it important? Now, if I have asset, it's and and I search for USDC is like one of the popular ones, right? Available on pretty much every chain, but um my USDC may not be the same as your USDC because USDC is available on every chain and even though it might even have the same contract address, but it's a different asset. And that's the key because it has different different storage is stored on a different chain.

So even if they use create 2 or something else to achieve the somewhat nice developer experience of the same address, it's still a different asset. So this means that if I ask somebody, hey, can you please send me USDC? They would have to ask me, okay, which one? Because what I want might not be what do you have? And just to illustrate like how absurd this is, if we put this into like a real world example, let's say that I'm in a shop.

I want to buy something, right? the price is five euros. I go to the cashier and he tells me, "Yeah, it's five euros, but I only accept like Mastercard euros." And I might go like, "Yeah, but I have Visa." Like my bank issued me a Visa.

And he might say, yeah, but you know, too bad. Like I only accept Mastercard euros, so your euros are not same as my euros. Like even bank like can go and say, okay, you have two separate accounts. One is for your Mastercard euros and the other is for your Visa euros. That's basically what we have in crypto times 15 because like we only have two maybe three major like card networks if we if we count MX um but we have I don't know how many relevant chains 20 25 15 like whichever number of chains DAPs mostly decide to use so the the issue is only worse okay um I guess enough rant about the problem let's talk about the potential solutions Right?

So the chain abstraction so-called wants to abstract well the chain from the user. We can only do so much for developers because developers always have to be aware of the technical implementation. But does the user need to be aware if they're using base optimism mainet Ethereum if they just want to send a transaction if they just want to do something? Well, we think not. Um and chain abstraction is a term is used by many companies like many companies are building different solutions um mostly based around smart contracts and resource locking which is great.

It it works well. The latency is pretty good but the issue is the market for smart account is just not big enough. Like even now in Ethereum the overwhelming majority of transactions are done by EAS. So um what we did here is if you remember we have this wallet SDK which basically every wallet use uses if they want to do wallet connect integration. So we thought okay what if when you receive a transaction we can check first okay this is a transfer um it spends 10 USDC and it spends it on arbitum like as as one of the L2s.

So what if we can check first okay can you execute this transaction? If you can just do it as you normally would. Um, and if you can't, what are the steps required in between the receiving the transaction and like sending the transaction in order to be able to do it? Um, and it's usually bridge. We basically check um if there are any routes if there is something we can do to make this possible.

If you have if you have USDC balance across other chains, let's say you do, you have it on optimism. Um, and then we basically send your transaction. This is the transaction you need to execute before you can execute the initial transaction and then you just return back the TX ID to the DAP. What's important with this solution? If you notice all of the lines, all of the steps are over on the wallet side.

So, as far as the DAP is concerned, I send it and transaction request. I want it to execute something and it's executed. I don't care the steps in between. I I don't care how the money got there. I only care about my transaction being executed.

And that's the only thing that's important for the app. And it's a it's a nice solution. And when we decided to test it out like 6 months ago uh in production, we've noticed actually that um not only wallets but dabs um some of them care about the UX. So what they did is they would block its end transaction if they think you don't have balance, right? Because the DAP is not aware that the wallet can do all of this magic in order to facilitate chain abstraction.

It just queries the balance directly from the RPC providers and then it says, "Oops, you don't have balance. I'm going to gray out the button." Because again, it cares about the UX. It doesn't want to send a transaction uh that it thinks it will fail, right? So, we needed a way to let the DAP know, okay, you can do this.

Oops, you can do this. Um, you can do chain abstraction. Uh, please don't gray out the button. Let the transaction pass. And the solution to that is the ERC7811 wallet get assets method.

Um, I'm just going to assume that everybody here is familiar with EIP ERC's. No need to go into that. Um, but what it does is allows it. It's a DAP to to wallet request. So instead of the DAP querying the account balance from the RPC providers like Infura, like Adlock and the others, um we say okay, please don't do that.

Just ask the wallet. Just ask the wallet what is the balance of the account. Why? Because the wallet already has this information, right? It has to have this information.

Um so instead of it just using it for its own purposes, let the DAP know as well. As a result of that, we also allowed the wallet to change this information. It doesn't necessarily have to be the same thing that's displayed on the block explorer. I might have five um or six USDC on mainet and I might have USDC on other chains, right? Um but does the DAP need to know that?

If the DAP asks me what is your USDC balance, I want to return what's my spendable USDC? It doesn't have to be where like it doesn't matter where I have it. doesn't matter what I do with it. I just want to know how much I have to spend. And then that's the for example in in this image, it's a sum of all these chains, right?

Um so it still requires some work on the DAV side in order to enable this, right? Because it's not a wallet only solution. Um again if we're talking about preserving the UX for the users and we already are rolling out the support for this in our SDK and we are happy we've been working with the Ethereum Foundation Josh who is leading the interop working group and they are specifically addressing this problem of interoperability in Ethereum or lack thereof. Um and the 78 and11 is included into the official road map. So we do expect more DAPs to be online with it pretty soon and then um the wallets who already support and will be supporting the chain abstraction um we'll actually have somewhere to I guess use it on.

Okay. Um so with this talk about like UX uh we talked about just doing some some random stuff like sending a transaction but what what does it mean sending a transaction? Um it could be a swap on unis swap, right? It could be a deposit into the a um yield pool. It could be something else.

Um but probably the use case for crypto is payments and facilitating payments. Why? Because it's cheaper for the merchants, right? Uh merchants don't care like what are the payment rails um underneath. they they only care about getting the money and paying as as as like just as less fees as possible and now they are kind of locked in into Visa and Mastercard fees with the bank fees and then the whoever facilitates their transaction with them.

So the question is why doesn't every merchant just use crypto if it's so cheap and fast and it's great? Um well it's because of the UX. These are the steps. If I was a user and I wanted to um do a crypto payment on chain first, they would usually ask me payment service providers. Okay, so um I accept a few of these currencies.

For example, I accept USDC, I accept USDT, I might accept native ETH. So please pick whichever asset you want to send me. Um I pick USDC. Fine. And then because we have many chains, u it asks me, okay, but which USDC do you want to send?

I pick optimism. Why not? Third step, connect wallet. Why? Um, merchants a few years back started with this like QR code scanning.

You would scan the QR, you would get the address, but what they noticed is the error rate is pretty big, right? Because the users would usually miss like, okay, I might accidentally send the the wrong amount or the wrong asset or the wrong change and they would go into this reconciliation flow which is pricey. Um, so the cost of doing business is increasing with crypto because so many mistakes. So now what they do is they force you to connect the wallet and they prompt their transaction programmatically in order to well avoid mistakes. it's cheaper and then finally you are prompted to pay um after I don't know four steps and roughly 10 15 clicks uh which is terrible and I've been talking about the e-commerce um just imagine doing this into the like point of sale terminal like in a shop or somewhere like connecting my chain like picking which asset paying connecting my wallet um while like 15 people are behind me waiting in the line so like not really feasible what We built um and this was announced just I think a week ago at this point publicly um cape 358 wallet pay method um for those of you unfamiliar with capes uh we have VIPs which stand for Ethereum improvement proposals and capes are chain agnostic improvement proposals so they are valid for not just Ethereum but they are crosschain so it works with Ethereum Salana polka dot bitcoin whichever so what does wallet pay do again it's adapt to wallet interf interface and it allows DAPs in this case merchants, payment service providers to not just request payments but say okay I want I want to request a payment but these are the possibilities uh these are the payment options accept so I accept payment in USDC on on on base on optimism on on Ethernet like Ethereum mainet but I also accept Salana maybe why not USC on Salana and I transmit all of this information to the wallet why because it eliminates It's the choice from the user.

User gets all of the possible payment information um and it's available in their wallet who is aware of the assets user have um in their account. So the wallet can already prefilter some of this like saying okay you probably don't have uh you probably can't complete the payment on base if you have no money on base. Um, so you can pre-seelelect the default one and the important thing is it can also utilize the chain of traction, the thing we talked about previously in order to complete the payment options it didn't necessarily think it could do like the the standard flow. So it can say okay you pro you don't have USDC on optimism you have it on mainet and you have it on base but I know it's cheaper to bridge from base than to optimism. So, I'm just going to do that.

Uh, and then I'm going to complete the flow. And after the flow is done, I picked whichever of these options. It's fine. I just let the DAP know, okay, this is the TX ID. Um, and this is the option I picked.

The DAP is happy. The validated transaction, which takes um unspecified amount of time depending on the chain. But what is the result? What what do we want to achieve? The result is we want to facilitate or enable one-click payments.

You will be presented with the wallet connect QR code which in itself besides the session establishment contains the payment information. So in one click when you scan it if your wallet supports payments right uh if it supports wallet pay it would just do that. It wouldn't go through the connection flow. You would click approve. Um, and it's done.

Basically, you did a crypto payment in one click across any chain. Um, and what's exciting is that this makes possible the POSOS, payments, point of sales because they would just have to generate the QR. There are no extra steps, there are no extra clicks. Um, everything is done. Um, but yeah, also like e-commerce is probably still the the main I guess the main focus here.

So, uh, point of sale crypto payments are still done with the card, which is honestly a pretty good solution. Uh, but yeah, we do hope to see more native crypto payments pretty soon. And as I'm not going to say merchants, as payment service providers roll out native crypto solutions, it's going to be available to more and more merchants. How do we plan to roll this out specifically? Also, recently we announced something called AppKit Pay.

If you remember from the start, AppKit is the SDK um tailored for app developers. So if they want to connect a wallet, you would use AppKit. But payment service providers usually have different requirements, right? They they just want they don't want to just connect a wallet. They want to do a payment.

So we built this different version of appkit called appkit pay um where the payments service providers merchants can specify okay I want to request a payment uh in this asset on this chain and then this is what the users would be presented with and before we go into this pay with wallet step I just want to mention this other stuff pay with pay with binance and pay with coinbase we call it pay with exchange um why is that important um we did the the survey recently and the result of that basically showed us that roughly 70s something percent of the users still hold crypto on centralized exchanges. So we did uh we have an agreement with both Binance and Coinbase and we built this solution. When you click pay with Binance, it's not going to go through like a withdrawal page and then you have to uh fill out the amount, the address, whatever. It's just going to open a payment page uh with everything prefilled. You can't change anything.

You can't mess up. um there is no way to go into this like refund flow with the merchant. You can you can only click pay or click exit. Same with Coinbase. Um and users actually pretty like love that because the exchanges can also facilitate chain abstraction.

Like they don't care on which chain do you withdraw at. They only care, okay, you have I'm requested to pay in optimism base whatever they're just going to send it. So they are natively facilitating chain abstraction. same as wallets, but this pay with wallet button is basically going to become this. When you click pay with wallet, the QR code is going to show natively.

If you support wallet pay, um you're going to do a wallet pay payment one click. If not, you would connect a wallet and you would be prompted to do the payment and pick the chain, pick the asset as usual. So, um, ending this, why are we doing all of this, right? Why do we focus on the UX? Why do we try to make the experience as good as possible?

Currently, I I don't have the numbers, the exact numbers, but we know that the DeFi crypto products are used by the small, very small minority of the users of compared to the global population. We call them enthusiasts, right? because they are the only ones who know how to use this. If I go to somebody and say, "Okay, can you pick a chain?" They would ask me what the heck that is.

I don't want to know about that. I just want to use the product. So, until we build the better UX and abstract all of these technical terms from the users, from the actual retail customers, so you don't have to be aware of the chains, the the assets. We we do as much um to reduce the number of clicks to do something. Um, and then we're going to see probably eventually until this point I haven't seen a web 3 alternative of the web two product that is better.

But once we see this people using web3 products because they are just better than web two products, not because they believe in there decentralization, privacy, whatever. Um, they just use it because it's better, faster, cheaper. They don't care if it's web three, web two, they just want to use it. um then we're probably going to see some significant usage and specifically payments as well. Okay.

Um I think that's all from my side. Do we have time for questions? We do. Okay. Uh if there are any questions.

Okay.

Hi. Hello. Thank you. Uh do I need to go through KYC while paying through your app kit? Why Binance or Coinbase?

Um that depends on the exchange. Like what we've noticed is because it's done facilitated by the exchange um sometimes they would ask you to do KYC, sometimes not. Depends on the amount, depends on the asset, depends on what you did previously with Binance. Um if you just deposited like I don't know 50K into Binance and decided to do a payment randomly. Uh they would probably force you to do KYC at some point eventually.

Uh but yeah, I I I guess it's completely up to the exchange. they might do this like ideally they would do KYC with you way before you're into the payment flow um and not while you're in it um so you can just complete the payment seamlessly but yeah the answer is I guess it it depends on the exchange

okay then uh once I established the connection through u like I paid with my account on Binance or whatever uh all further swaps they will be no KYC right

yeah yeah I I mean I guess again depends on the exchange But once you do KYC with Binance, I I don't see uh why would they ask you to do another KYC. So once you do it once, you can just pay um in Yeah. how many times you want, it should be fine.

Hello, thank you for the speech. Uh could you please tell if there are any wallets that already support wallet pay? Okay. So, um since we just recently rolled this out as a part of the I guess announced it publicly, um the plan for Wallet Pay is to make it available into the wallet kit SDK. So, basically any wallet that supports wallet connect is already using wallet kit SDK.

Um they would have native support for payments. There's still a small amount of work left u for the wallet to be done. If they want to again preserve the user experience for the user, they will have to build a nice payment UI. They would have to ensure that it's in one click. After you click approve, some success um nice to is done.

So, uh we are talking with many wallets who are very very interested in this. Um and yeah, I would say some implementations are going to be public really soon.

Sounds cool. Thank you.

Thank you.

Thank you, Luca. My name is Guini. I have two questions. First, what about risk and security because every breach it's a risk for losing uh data or even coins and the the second do you have I don't know target audience uh uh uh on which you test your uh UIX. Okay.

Um so for the first one I'm assuming you're asking about exchanges, right? like you're asking what what if somebody steals my exchange account and does payment. Um well ideally you would have something like Pasi or something set up. So again it's not something that we can influence. We just talk with Binance in order to do this.

Uh and they would be the ones ensuring the security and the and I guess yeah the data privacy of this of this flow. And for the second questions who are we talking to? So the customers for this currently are payment service providers. Uh which means companies that facilitate payments. Um think about it like Stripe, Coin Gate, similar.

Um so those are the the customers we're targeting. And on the other side, wallets. So at this point, we didn't open this up to merchants. So you you couldn't implement this as a just as a merchant trying to accept payments. You would have to work with payment service providers.

Uh but it's definitely something that we are thinking about like just opening this up to everybody. Um and of course every wallet can um use wallet pay. Um there are no limitations. It's it's an open standard which is which is the whole point. Um everybody can use it.

Uh uh I have a question here uh on the right side. Yeah. What is the backbone of the system? So I suppose there is some settlement layer there like either like a cross settlement or like like I would assume some settlement roll up or something something that is managing that or I think even even unis swap is developing something that is chain agnostic like I think it's called tribal so

I want to hear more about like what is the tech behind the whole chain abstraction because I think that is the main issue here because if you don't uh like because of the root finding and optimization of the fees Okay. Uh let me go back to to the beginning. Okay. Uh wait this one. Okay.

So the tech behind chain abstraction is currently we work with different providers in order to facilitate this. We we don't like hold assets ourselves. We are not liquidity providers. Um there are many other companies who are think across uh and different ones. So what we do now is we communicate with across and they and we ask them hey um can you fulfill this uh and if you can uh we use their solware network in order to facilitate chain abstraction and then uh basically yeah it's it's settled on chain so it it depends on which chain um you're doing it from which to which one.

Um so it also depends on how fast it is. So basically you're like connected with the cross settlement and you use their tac in order to optimize the UX. Am I getting that right?

Um I'm going to say that we use different providers. So we don't use one provider specifically like across. We currently use multiple of them. I think four. Um and we use them depending on the chain specifically.

So if it's a USDC, we know Circle is going to offer the best uh transfer with with their own bridging service. So we just communicate with circle and we tell them hey um how do you do this? Give me a quote and after they do it we build the transaction. So for the wallet how does this look like? For the wallet you receive a list of transactions.

Um and it says okay these are the intermediary like steps required in order for the initial intent to be completed. So you need to execute this transaction first. You don't care from where it is if it's from circle across um whoever. You just need to do this and then you can do the first one. So that's how we expose this interface to the wallets.

Hello.

I've got a question about the abstraction of the transaction fees. Do you have a way for the end user to know exactly how much he's going to pay in transaction fees or the the seller?

That's a very good question. So um when we communicate with the providers specifically for chain abstraction we do ask for quote and we do incorporate this uh into the transaction fee at least this is the guidance we give to wallets um the I should have I guess u put some wallet screen here um the guidance we give to wallet is this this is the bridging fee we give you this information please sum it up and display just transaction cost to the user don't display bridging fee tx fee blah blah five different fees um or like try to do something like if you're a smart account do pay masters abstract this from the users completely but yes uh there is a cost associated with the action of course because it's an onchain action um and we do need to think carefully about how do we present this to the users

thank you thank you everybody Thank you.

Automatic transcript — names and jargon may be misspelled.