Ledger Direct Connectivity for dApps I Mathieu Bertin
ETHGlobal·Tue, Dec 9, 2025, 12:00 AM
Join Mathieu Bertinv for a workshop titled "TLedger Direct Connectivity for dApps", featured at ETHGlobal Buenos Aires 2025! _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 🇦🇷 *ETHGlobal Buenos Aires* This workshop is specifically for ETHGlobal Buenos Aires, a 3-day hackathon held November 21-23 at the Centro de Convenciones Buenos Aires, bringing together the most skilled web3 developers, designers and product builders from all around the globe for a weekend-long adventure to advance the Ethereum ecosystem! Watch the full ETHGlobal New Delhi 2025 playlist here: https://www.youtube.com/playlist?list=PLXzKMXK2aHh76O7FfAHPJkZcqTIfYpoyf _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ✅ *Follow ETHGlobal* X: https://x.com/ETHGlobal Warpcast: https://warpcast.com/ethglobal Website: https://ethglobal.com YouTube: https://www.youtube.com/c/ETHGlobal _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Are you interested in Ethereum development and entrepreneurship?_ 👉 Sign up for the next ETHGlobal event: https://ethglobal.com/events 🎁 Get exclusive access and perks with ETHGlobal Plus! https://ethglobal.com/plus 📣 Want us to throw an event in your city? Tell us where! https://ethglobal.com/city
Transcript
I'm a developer advocate and Macho here is engineering manager at Ledger and uh today we'll have a little look at our tracks and uh some of some implementations as well on the device side of things. Um so a little bit about Ledger first. Ledger is a French company created in 2014. Um we build hardware devices that help you secure cryptocurrencies. We have sold over 8 million of these devices so far and today we secure roughly 20% of the world's crypto assets.
Um, Ledger devices are secure by design and this is done through the combination of a secure element which is the chip inside the device and a secure display which is immediately on top of this chip. What this means essentially is that whatever you see on your ledger, whatever you see on your device is what you are about to sign. Um, who in this room can tell me what this transaction does? And yeah, if you're having a hard time, it's quite normal because the only thing you see here is a message hash. And a hash is not very friendly.
It's not human friendly. Very hard to understand if you're a human. Um, this is typically what we call blind signing. So in blind signing, it's very hard to see if it's a legit operation. Maybe the payload is malicious or is it even the right contract or function.
uh maybe we are authorizing something we don't intend to. Um blind signing is a lot like signing a blank check. Uh you would not sign a blank check yet sometimes you blind sign transactions. Uh the general rule is if it's unreadable it's also unpredictable and if it's unpredictable it's not safe to sign. On the other side, we have an ERC ERC7730 which is called clear signing.
And this is the opposite where the transact is transparent, human friendly and empowering. So we can see here on three screens. We have the first screen which really prepares us in the right context. We are about to swap tokens. The second screen is very detailed.
We can see exactly which contract we're interacting with. We can see we are about to send 1,000 rapmatic and receive 554.91 USDT. And we can check if the receiver is correct. You know, does this match my address?
And if so, we just hold and we sign the transaction. Um, so this brings us to the first track, which is clear signing. We have $4,000 here on this track. Um, so you're free to to have a look uh to dig deep in the documentation we have, but essentially we reward uh the creation of JSON files for ERC7730. You can also win a free Ledger device by doing that.
Um but yeah, you can also build any tooling for ERC7730 creation or validation or improve the creation tool that we have at leisure that is open source. Uh so that's the first track clear signing $4,000.
Okay, thank you. Um so let me present you Ledger wallet button. So I would say this is a new product we have done in this summer at leger and so basically if you have if you are DAB developers and you want to integrate ledger this is the solution for you. So what is it basically this is just the capability to have direct connectivity to ledger device on your DAP. So just by clicking a button you can enter to a flow where you will be able to retrieve your your ledger accounts and then you will be connected like every other wallet because basically through the different screen you could select which connectivity you can connect it by USB by Bluetooth using web APIs after you will be you will have your account on the right side and then you will be able just to connect like you will do on your uh usual software wallet Um and you will select your account.
Um Ledger wallet button is fully relying on EIP193 and EIP uh 6963. So basically uh the EIP193 for having the common JavaScript interface JavaScript wallet provider JavaScript interface and the 6963 is more about having multiple provider in the same web page. So you don't so basically in your in your DAP if you already support uh supporting uh metam mask or rabi or other software wallet should work directly uh with few line of code. So also great feature we are providing great features like clear signing transaction checks. So you have the same secure services that you could have in ledger wallet application but directly on your dabs without having to going back and forth to the ledger wallet application.
Uh we are only all the flows uh pairing con selection connection states and also all the sign signing states which could be signing transaction sign transaction sign type message etc. And as I said and this is the first one uh we are using we are uh compatible sorry with the web B API. So now on web you can also connect your ledger device um through uh B. So how it works basically we are relying on different I would say libraries or solutions. So the main one are uh device management kit which is basically uh the ledger library that allow you to handle your device to connect to it to exchange to send data to it.
Uh we are also relying for fetching all the accounts on ledger sync. So basically Ledger sync it's a secure and private solution for um savings your meta your account metadata in Ledger wallet and so you can if you are connecting on your mobile phone you will be able to retrieve all your metadata from on it. Uh obviously we have the ser kit Ethereum so which is really tied to the device management kit. uh this module provide uh clear signing transaction checks capabilities and also I already said it we are relying on EIP and last last one we are uh all of this has been done using lit so web component technologies uh why just because uh it gave us a ability to be everywhere to not rely on a specific uh front front end frameworks and so you can integrate it whatever you are using angular React or other UI libraries. Uh for now the ledger wallet button it's mostly comp it's only compatible with EVM.
Uh we are supporting some networks uh uh around 14 networks at the moment but it will be increased uh in the next months. And like I said, you can sign your personal message, sign transaction, sign type message and also we are broadcasting the transaction like a software wallet. Regarding how to integrate it, this is really simple. Basically, you just have two steps before doing it. First one, you will install this uh this dependency.
So it's natur button. So now it's a release candidate 11. But basically this is really stable. it's already in production. So don't be afraid to use a release candidate version.
And then once you have um installed it and import it in your project, you just have to initialize it in your code. So basically in your index js uh then you can pass different. So you will call the initialize ledger provider uh you can define different uh parameters but the main one are the target by default. We will inject our model uh through the body at so the body will be the the parent but you can choose your um your your component if you you want to also you will have to to say your DAP identifiers and the API key. So API key uh if you want to do it during the uh go by the booth and we will give you an API key for being able to have access to all the services and that's mainly all after we have logger level DMK config.
This is more advanced features. So basically you will not you don't need it for now except if maybe but I will be here with some colleagues to uh to help you uh if you have any question and yeah that's all and also yes we are we are live uh on one in so it's already in production uh and I will I will do a quick demo. So this is uh like you can see this is production. So and there when you are connecting so you are listing also all the software wallet I have but you can see there is ledger wallet here. So you can just click on it then you select your transport.
So I'm I'm using Bluetooth with my uh nano gen 5. Okay I'm connecting to it. So it will ask me to open ledger sync application on my device. So basically you don't have to to code anything. It's already handle.
Okay. Okay. It was and so now I'm connecting. So it will um I will fetch my uh I think this pretty it's a small longer than expected because uh due to the Wi-Fi but with say normal connectivity should work and I should be able to retrieve all my accounts. Yeah, I think.
Okay. Okay. Uh whenever basically you have an idea of what it looks I think this is a network connect connection issues here. Uh and basically you are seeing this popup. So when you will enter in a swap close uh basically you will have the same stuff.
So and you will just have to validate it on your device. Also good great feature we have added in the with the ledger button provider. If you don't have the app installed so the etherum app installed on your device we will directly install it in line. So you don't have to go back to Ledger wallet to install it. It will be done.
The only I would say uh prerequisite is to have Ledger sync enabled. Otherwise, you will be redirected to um you will be redirected to Ledger wallet. You have to enable it and then once your account are synchronized, you will be able to to play with it. And yeah. Okay.
And also if the ledger button does not fit exactly to your needs, maybe it's only EVM uh support only and you want to do something else maybe on Bitcoin or Solana, you can go through the device management kit which is also a solution we have. So it's a use in our uh tools. So uh ledger button is relaying on it, ledger wallet is relaying on it regarding everything regarding connectivity and so it's consistent. It has been released more than a year ago. So now we have a implementation web react native one.
It's really modular. So you can be able to select the different transport if you want to use a react native B instead of web web B for example. It's pretty easy to use. Uh it's well documented. Uh also I didn't say it but you will have all the documentation I showed uh before for the button and also for DMK on the ledger developer portals.
Um and yeah and also it's it give you the clear signing supports too and just showing you how it's organized. So you have the device management kit in the middle you can select the different transport and also we have different signers. So for the lab button for now we have Ethereum one but if you want to do something on Bitcoin Solana you can the serer already exist and are working and after we have ledger sync but I think on this one maybe you will not uh you will not use it. Um also we are giving you some common commands just for opening apps closing an app having the list of installed application etc. So we are giving you really a set of capabilities and you should be able to exploit I would say ledger device at maximum and yes of we have uh the track hardware integration so it could be use implementing the button it could be also use the DMK uh you could also as you can see we already we only have three different signer for now so ledger is already supporting I don't remember it's more 100 different chain so something like that so the firmware application should already exist but there is no shiner yet so if you want to add a new support you can also do it uh you can also build a new app if you have a you have a new blockchain you can build a new uh device application in C or rest using the device SDK for it and uh yeah so
yeah just uh and yeah just one thing on Um so the DMK device management kit replaces the legacy LedgerJS set of libraries and as you can see there are still some web 3 connectors out there which use the old libraries. So one of the ideas here in the hackathon is to replace you know to implement the DMK in popular connector libraries such as you know web 3JS Wagmi um and so on and so forth.
Yeah. Thank you. And that's it for me and I let you to finish.
And uh yeah, finally we do have a creativity award. So if you feel like your project does not fit in any boxes, uh we reward creativity as well. Uh it's a winner take all prize. So only one prize here of $1,000. Um but yeah, feel free to build anything that doesn't necessarily fit the the tracks we have.
Um, and one thing to note as well is that everything we just mentioned is also available on the developer portal which is the documentation for developers and we have a specific page for this. So it's developers.leedger.com/eglobal and you will see a detail of all the tracks with links inside the page that will take you to all the right documentation. Uh, you know for the signers, for the DMK, all these all these good things.
Um, so yeah, please do check that check out this page. It's very new. It's for this hackathon specifically. Um and finally uh we are quite a big team here uh at ETH Global. Uh so feel free to come to see us at the booth.
Uh we have a team of engineers that can help you uh the whole hackathon and we opened a telegram group specifically for this event. Uh so there's yeah a QR code here and the ID if you need to join it manually.
Also if you don't have ledger device with you we are giving you a spare one. So, we will uh lend you a device if you want to work on it and you don't have it.
Automatic transcript — names and jargon may be misspelled.