
In this conversation, Stephan Livera and Keith from Branta discuss the intricacies of Bitcoin payments, focusing on the importance of address verification and security in the context of increasing digital threats. They explore how Branta’s zero-knowledge verification process can enhance user experience and security, particularly in the face of potential scams and malware. The discussion also touches on the integration of Branta with Lightning and other Layer 2 solutions, as well as the future of Bitcoin user experience in an AI-driven world.
Takeaways:
🔸Bitcoin payments require careful address verification to avoid scams.
🔸Branta uses zero-knowledge proofs to enhance security.
🔸User experience in Bitcoin transactions needs improvement.
🔸Address replacement attacks are a significant risk.
🔸Branta aims to provide a seamless verification process.
🔸Integration with wallets and exchanges is crucial for adoption.
🔸AI may introduce new scamming vectors in cryptocurrency.
🔸The goal is to make Bitcoin as user-friendly as credit cards.
🔸Businesses adopting Branta can enhance customer trust.
🔸Future developments will focus on consumer use cases for Branta.
Timestamps:
(00:00) – Intro
(00:35) – What’s new with Branta?
(01:32) – Address verification risks
(04:59) – What is Branta’s Zero-Knowledge verification process?
(08:36) – Where is the verification taking place?
(11:55) – Address verification in mobile and web interfaces
(15:50) – Branta’s integration with Lightning and L2s
(18:17) – Costs of using Branta
(18:58) – Future of Bitcoin security and AI threats
(21:03) – Branta’s role in consumer adoption
(25:25) – Closing thoughts
Links:
Stephan Livera links:
- Follow me on X: @stephanlivera
- Subscribe to the podcast
- Subscribe to Substack
Transcript:
Stephan Livera (00:00)
Hi everyone and welcome back to Stephan Livera podcast. Today we’re going to be talking about Bitcoin payments and how to verify the addresses and how do we make sure we’re secure in this age of AI and deepfakes and malware and all this. So rejoining me on the show today is Keith from the team at Branta. Keith, welcome back to the show.
Keith (00:19)
It’s great to be here. Thanks, Stephan.
Stephan Livera (00:22)
So Keith, give us the latest. I know you guys had some recent partnerships or deals signed. I think you did one with Amboss as well.
Keith (00:28)
Yeah, yeah, there’s been a lot going on. I think we last spoke in 2024. So, yeah, just for the audience, I’m Keith. I founded Bronten 2023. The goal is to have people never lose their Bitcoin when they think they’re sending it to a certain counterparty. But yeah, since 2024, there’s been a lot of action. We’re on BTC Pacer, we’re on Zaprite, Amboss was announced yesterday, Remittance Company in Africa. So…
Yeah, there’s been a lot happening since then.
Stephan Livera (01:00)
Yeah, now I guess let’s take it back to the start. So for most people, know, just basics, when you go to send Bitcoin, the experience typically is you might be copy pasting an address and putting that into your wallet. If it’s an online wallet interface, like whatever, Electrum and Sparrow and so on, or Blockstream or whatever. ⁓ Or you may be copy pasting it on your phone, or you may be used to the kind of scanning experience. But the question that we’re exploring here is more like…
what are the ways that can fall down, or where are the ways you can be tricked? Because there are various ways you can be tricked there. Do you want to just take it from there?
Keith (01:36)
Yeah, let’s go into it. So actually, I think it was last week, Stephan. There was quite the nice thread on Twitter with Mr. HODL. Now, yeah, now you were going back and forth with him. And so I think there is some misunderstanding to clear up, but backing way up. ⁓ Bitcoin is different than fiat because when you send Bitcoin, we settle with finality. Right. And this is beautiful because this is a bear instrument like cash. Now with credit cards,
Stephan Livera (01:44)
Yeah, I was going back and forth with him on that, yeah.
Keith (02:04)
Maybe this isn’t popular with your audience, but credit cards are kind of the UX we’re aiming for. How many credit cards does the average American have versus how many ⁓ Sparrow installations does the average American have? So we have work to do with Bitcoin payments. And what we really want to be able to do is verify the counterparty address in a zero-knowledge way before I send my Bitcoin. Now, what that means for me at home, whether I’m paying a bill,
that’s large or small, ⁓ if I so choose, can check that the ⁓ recipient is actually correct and confirmed and I’m not getting phished, man in the middle, address swap, any of this nasty stuff that is a tail risk but does happen too much.
Stephan Livera (02:52)
Yeah, I see. And so the issue is now, yes, there’s certain best practices that of course check the address on the, so a typical piece of advice people give is when you’re about to send money, check the address that’s listed on your hardware wallet that you’re about to send to is the address on your screen. But it gets deeper than that, right? Because yes, that’s best practice, that ⁓ doesn’t change, that’s still correct, but.
there are still other ways that we can be pwned without even knowing. And I think what we’re talking about, look, sympathy for Mr. Hoddle because I think he didn’t quite understand what was that risk, and then after that thread he sort of got it a bit better, the point being…
Not everyone is just sort of only periodically doing a transaction, right? Like if you’re just kind of DCA-ing and every now and again you’re spending a little bit or maybe you’re selling a bit of fiat on the exchange, this kind of thing, well, that’s a different case to imagine if you’re a business and you’re doing like regular payments and you’re just kind of receiving invoices all the time, how do you verify that that Bitcoin address is truly…
Belonging to the actual counterparty who you think and it’s not like a hacker who has sent you a malicious invoice or that your browser that you go on hasn’t had some kind of malware to add do what’s called an address replacement attack, so I think that’s ⁓ Probably the the key or at least one of the key risks, right?
Keith (04:17)
Yeah, that’s exactly right. yeah, I think Mr. Hoddle was kind of falling into the trap that, you know, the hardware device and that screen is great, but Bronte is upstream of that. And the attack is also upstream of that. So that’s why Bronte’s, you know, ⁓ product placement is where the attack will happen. And, you know, the pitfall with just matching the address on the screen to your hardware wallet, if you’re even using a hardware wallet, is you’re actually matching a bad address to a bad address.
So, you know, if you… Exactly, you were pwned before you realized it.
Stephan Livera (04:47)
Right, like you were already pwned before you even started that process.
Okay, so talk me through how does Branta work in terms of making like stopping that, right? As I understand you have like a ZK verification. Talk us through that process.
Keith (05:05)
Yeah, so that’s a good point. We should probably touch on that a bit more too. So when Bronta initially launched, our, you know, vision was always to be completely private. We don’t want to be a middleman. We don’t want to be liable for any data period. And we had a good design from the beginning, but we made it like fully zero knowledge now. So we can, Bronta can verify the address that you sent to without ever seeing that plain text address. ⁓
Yeah, and what was your question before that?
Stephan Livera (05:35)
So
around the ZK verifying aspect, like how is Branta working to stop these attacks like address replacement or poisoning?
Keith (05:43)
Yeah,
right. So essentially what Branta does is open up another channel from you to the counterparty. And we call the product guardrail because it’s just kind of a nice term. You don’t want your car to drive off the road or your Bitcoin to go to an attacker. Right. And so today, like if I go to send Bitcoin to whether it’s a multi-institution custody setup, whether it’s literally a Zapra invoice. Well, Zapra has adopted Branta. So ⁓
That’s not a problem there anymore. ⁓ But that’s one channel, right? The single channel is the issue. And really what we’re talking about, if we go even more upstream, is a computer science concept called the man in the middle. And ⁓ it’s very bad attack because in computer systems, there’s many, layers. Like you could probably list a hundred discrete layers that are used in any given channel. And let’s just pause on the channel word again. So if this is me paying you back for lunch, Stephan,
Maybe signal suffices, signal’s a channel. But what happens there? There’s Wi-Fi, there’s my iPhone operating system, there’s the screen, there’s the UI rendering components, there’s the ISPs, there’s the telecom, there’s so much infrastructure in between your screen and what I paste into my screen to get to you. And that’s all susceptible to a man in the middle ⁓ over one channel, which is not great.
Now previous solutions have been around maybe you send a test transaction on chain. Okay, cool. Maybe fees are low. It’s still slow though. Like if we claim to have the best money ever, why are we sending, you know, on chain transactions? Like are we really gonna stay with on, sorry, with test transactions for the next 10 years with this pristine collateral, this perfect money?
It’s not a knock on test transactions, they’re fine. You do end up with address reuse. The other way, you know, maybe over lightning or if you’ve ever been known somebody for the first time is to send a $1 payments, the same concept. But anyways, back to the man in the middle ⁓ and how Branta solves this. This will be a bit abstract, but the base concept is, you know, if your counterparty has the good address that you want to receive that. They can encrypt and then duplicate that address into Branta.
So now this, and they keep the key, we don’t see the key. So the counterparty has duplicated the good information. That’s the first step. So duplicate the good information. And then for the end user, there’s now another channel, like across space. So there’s two elements, the time and the space. So temporally, you duplicate the good address, and then across different spatial channels, the user can verify. This is being embedded in wallets, you can do it over web browser or mobile, and I’ll pause there.
Stephan Livera (08:27)
Yeah, okay, gotcha. let’s just as an example, just make a example, you know, big exchange, you know, whatever, Kraken or Coinbase or whatever, just imagine a big exchange is like, Hey, Stephan, here is your deposit address. There it is. And then I the customer, I’m like, okay, I want to, you know, let’s say I want to put some Bitcoin on the exchange, because I need to sell to pay my bills, whatever.
Keith (08:35)
Yeah.
Stephan Livera (08:50)
At that point, what you’re saying is, in this example, let’s say this exchange has signed up with Branta, they have in the background also duplicated that address and they have…
You know, they’re doing that way. We’re doing a bit of a proof there such that when I go to pay now how it so where is the proof taking place? Where’s the verification taking place is I guess is the question right because how do I the customer of that exchange know that yes, that is truly crack ends address or coin basis address or whatever whatever exchange
Keith (09:20)
Yeah, so first part of the question, you’re using an exchange and you want to send Bitcoin to the exchange. The exchange shows you an address. Now the kind canonical way to implement Bronto right now is much like in early credit card payments, there was TLS, there was SSL, there was HTTPS. And now this is just a standard and it’s kind of in the background. So much like that, ⁓
When you see that address, a verify with Brontolink will be there. Now what that does, if you want to click that, can. That also indicates to you that certain wallets, you can also scan with our web app. You can verify across different devices that that address is correct. So that’s from the usability.
Stephan Livera (10:05)
Okay, so talk to me about that address,
that button. Like let’s say I’m using the web interface for Big Exchange. I click that button. What’s happening there when I do that?
Keith (10:15)
Yeah, so what’s happening there, this will be a bit technical, but you click the link and the link links to Branta and in the slug of the URL is a ciphertext blob, just like an encrypted blob of gibberish basically. So one key point is we don’t want to be scrapable against the mempool. We don’t want Branta to be a massive KYC lookup like Chainalysis or any of these other tools. It’s actually much more ephemeral and it’s encrypted so there’s no way to scrape this.
And what happens when you click the link, it’s very important that you can do this in the same browser. So I’m on Brave right now and I can just one click link. It takes about a hundred milliseconds to load and I see the address mirrored back to me. And that attests that the exchange has partnered with Bronta and this encrypted text has been decrypted with the key. And this is great because it’s no friction, there’s no log in, there’s no download.
And if I want, the user going to send, I can check that same link from any computational device, like any Android, Graphene, etc.
Stephan Livera (11:21)
Right, like on a phone or
on another computer or this kind of thing. help me understand this part. So it’s like, think of it like a one click pop-up verify sort of thing to make sure this address is truly exchange address and not the hacker’s address kind of thing. So as an example, if I click that and it shows a different address, then alarm bells should be going off being like, whoa, hold on, hold on, I might be malware, someone might have like done an address replacement or address poisoning attack on me, I should stop now.
Keith (11:48)
Yeah, exactly. Exactly.
Stephan Livera (11:50)
Gotcha.
And this would be especially important in the cases of, you know…
like large, obviously, large value transactions. So let’s say if you’re doing big boy transactions, you’re transacting millions of dollars on chain, maybe you’re doing like whatever, some big transaction or a loan or something and you’re transacting the collateral or your whatever, you wanna obviously verify that before you send a large amount. And historically, as you said, a lot of people have done these test transactions, but again, bad UX, slow address reuse, there’s lots of bad reasoning around that.
Now, I guess the other question people will have is, what about on the phone? So, you know, like I guess I was imagining, let’s say I’m going to the exchange, I’m looking at the website interface on the web browser on my laptop or my desktop. What about when I’m on a phone interface? Like, let’s say I’m using a big exchange phone app. Is there something Brantode is doing there or how does it work when it’s a phone UX?
Keith (12:52)
Yeah, phones are a huge focus point for us as well. I mean, essentially the same thing applies because you still have a screen that’s connected to the internet and you have a keyboard and you can click and point. So the link thing still applies there. That’s the first thing, but looking forward, what’s really cool is if wallets adopt Bronta so that from your wallet, you can do a real time zero knowledge check, like a private lookup of the QR code.
One this is a really kind of silly example But one attack that happens is if you’ve ever been to a gas station and you’re filling up your car Whatever you drive right there’s a QR code on the little pump But what happened was some scammer came along and just bam. They slapped up like their own Bitcoin address Yeah, it’s like very old school. It’s like it’s like a cartoon and in that case Maybe you’re using your mobile like you said and if you scan that
Stephan Livera (13:37)
right it’s like it old-school address replacement yeah interesting
Keith (13:48)
And you know this is like Sunoco or Golf or whatever gas station. The wallet can do a private lookup in real time and say, yeah, this address checks out to Golf. ⁓ That’s really cool because then there’s really no friction and it’s fully end to end. And our ultimate goal is for end users.
Stephan Livera (14:00)
Yeah, okay.
Gotcha.
So I guess the point you’re making is eventually
this will be built into the wallets we use. And so as an example, nowadays, Sparrow has a little mempool.space thing in there. It’s already just kind of built in. Or like, Zeus will give you the mempool.space estimates. It’s just like doing some kind of API call out to mempool.space to give you that. So it’s a similar kind of thing. You guys, Branta, and maybe competitors of you guys, will get built in as an API service to verify automatically. I guess in my mind, I’m making a loose parallel.
I use my Android phone and I download an app on Google Play Store or whatever, there are certain checks built in already. Like it’s already doing certain checks to make sure that the Android app developer has signed that app with his key so that I’m not getting a malware app kind of thing. And there’s kind of automatic checks built in. So I guess what we’re getting at here is this kind of address verification check and a cryptographic check will get built into our wallets and our exchanges and our services over time.
Keith (15:05)
Yeah, that’s exactly right. mean, know, Bronte is like very specific too. And, you know, ultimately if we’re aiming for a credit card UX, you know, if you think about credit cards, they’re everywhere. They’re super high volume. They’re robust. You can do charge backs. So you can literally get your credit card stolen. It’s like zero responsibility. But until we get Bitcoin wallets and spending like close to that, or ideally 10x the UX.
It’s kind of one of our slogans is like, we want a 10x the UX of credit cards and cash. And until we get there and really obfuscate all these gnarly issues that can come up, ⁓ you know, we have work to do and that’s our mindset.
Stephan Livera (15:45)
Now we’ve spoken mostly about on-chain. Let’s talk about Lightning and Arc and other L2s and things like that. How does Branta and the ZK verification of addresses work in a Lightning or an L2 context?
Keith (15:59)
Yeah, I mean, there’s a couple of different designs possible just based on like the network topology of lightning.
Stephan Livera (16:22)
Okay. Yeah, but okay, well,
why don’t we talk through the AMBOSS example then? So in the AMBOSS L2 example, I presume, you it’s lightning. So how are you verifying on the lightning side of things?
Keith (16:27)
Yeah.
Yeah, so lightning works the same exact way in the sense of you see an alphanumeric string and you want to be sure that belongs to the counterparty. ⁓ Now one very important thing to note with Bront is we don’t touch your Xpubs, you don’t want private keys, seed phrases, and we don’t even touch the transaction once it’s in flight. This is purely like a prepayment sort of ⁓ layer.
Stephan Livera (16:57)
Yeah. So basically it’s a similar UX or flow and instead of doing it for the on chain address, you’re also doing it for the lightning address. Is that what, well, lightning invoice to be more, let’s say, technically precise.
Keith (17:07)
Yeah, exactly. Same apply.
Yeah, same applies to ARK as well. So like if you go to AMBOSS and you want liquidity for your lightning channels, you can buy that with Bitcoin through AMBOSS’s BTC pay server. And in real time, you can just verify like if you’re buying a ton of liquidity through Magma, you can verify that you’re actually paying AMBOSS. So it’s a very simple check, but it is a very important check.
Stephan Livera (17:36)
Okay, and so on the Amboss side, are they doing like a ZK, like they’re doing a, like they are presenting the invoice to the end customer, but also creating a second copy of that invoice and doing a ZK proof and showing that to Branta? Is that what’s happening there or something similar?
Keith (17:56)
Yeah, that’s exactly what’s happening. So for the AMBOSS integration, this is through the BTC pay server infrastructure. And actually the plugin is open source on Bronta’s GitHub. So anybody’s welcome to check it out. And what happens is before Bronta ever receives data, the data is encrypted in the plugin ⁓ with an algorithm. And so we don’t ever see the plain text in the first place.
Stephan Livera (18:21)
Gotcha. A lot of builders and developers are listening usually, so can you give an idea on the cost that Branta charges?
Keith (18:29)
Yeah, so mean the general cost we haven’t published like public ⁓ pricing yet. The general model is monthly you can pay us like a flat fee and then volume tiers above that depending on your volume.
Stephan Livera (18:45)
Gotcha. ⁓ And just kind of zooming out a little bit, where are we going? Like obviously AI is like the super hot thing. Everyone’s talking about AI. Everyone’s using AI. ⁓ Are there going to be new scamming vectors enabled by AI? How do you as Branta help with that?
Keith (19:05)
Yeah, I think this question generally falls under like consumer anxiety. Right, like what we don’t want is for Bitcoin to induce like emotional feelings of anxiety and apprehension and fear because emotions are very sticky and that’s actually what’s happening today. So like if you asked an average person on the street, like what do they think of maybe Coinbase or the crypto casinos? Well, there’s a lot of opinion.
Stephan Livera (19:29)
Well that Super Bowl
ad was a clear example,
Keith (19:31)
It
was a clear example, like we’re not doing good enough. Like we are not catering to people at home that want to use this that are not cypher punks and writing code and doing PGP checksums and all of this. So, you know, I generally think the safer we can make Bitcoin Lightning Arc.
the more anxiety we can remove is a good thing for the industry. Because yes, we can keep selling to each other in the industry, but what we really want is no coiners, rather pre-coiners, to come in and use this best money. And my kind of challenge to the industry is that if we really claim to have the best money ever, well, why hasn’t everybody adopted it?
It has to be so good that I can pick it up like a Swiss Army knife or, you know, a Ford F-150 or the original Apple iPhone. has to be product design that is so good. It’s just like, duh, of course I want this. Like, I will make room in my budget. I will make room in my week to just install the wallet and start spending at these great businesses that are using Brontas. So I really challenge the industry to look back at the product design and figure out how can we meet the pre-coiners.
Stephan Livera (20:39)
Yeah.
Yeah, totally. I think that it makes a lot of sense. Obviously, the people listening, they might be builders or developers or academically interested or just kind of intellectually interested. But of course, rubber meets the road is when you’re trying to get pre-coiners and or even people who have just started with Bitcoin to actually, so as an example, someone who only uses custodial Bitcoin or ETF Bitcoin to actually go further down that rabbit hole of like, yeah, I want to actually use it myself for real. Now, another example I’m
curious is it possible that Branta will be built in now we’ve been talking mainly from a sort of like a b2b sense or almost like business uses are there going to be consumer uses of Branta on the receiving side like will it ever be the case that I let’s say I’m a everyday Bitcoiner with a Bitcoin wallet would I ever be using Branta when I am trying to receive from my friends
Keith (21:33)
Yeah, you will. It probably won’t be like Q2 2026, but it’s coming. The real challenge there, Stephan, is like, we have to be very careful of adding friction. So like our general go-to market and our roadmap and the way we’ve approached this problem is how do we reach the masses like instantly and also, you know, make revenue as a company. And the easiest way to do that by reaching the mass is just going to businesses that accept Bitcoin.
Now the business doesn’t want to get man in the middle, the consumer shouldn’t have to ever get man in the middle, Bronte. It’s super simple, it just fits in. And there’s no work for the consumer.
Stephan Livera (22:07)
Yeah.
And I mean, to your point,
it’s really like, few individuals are doing their own wallet, right? Like, really, it’s more like, brand to the technology needs to be built into, let’s say, businesses or the wallets that everyday, know, Bitcoiners are using. And so really, your interactions are more to the businesses. And so in a way, you’re selling your product to the businesses, but for the benefit of the end user, obviously. So it’s kind of end users should not even have to care or think about this stuff. It should just be built into the background and, you know, like the same way
my example earlier about the Google Play Store or the Apple App Store, very few users are thinking, yeah, did Google Play verify the developer signature on this APK or whatever? No, like they’re just not thinking about that. They’re just like, I want to download the app, I want to use the app. It’s the same thing, like I want to send a payment or I want to receive a payment in Bitcoin.
Keith (22:58)
Yeah, has to be dead easy. And that is the specific challenge with B2C or with end users at home. We already have BronteCore, is, it’s MIT licensed software you can run. It’s open source under GitHub as well. And that gives you, I think we spoke about this last time, but it gives you real time notifications about what’s in your clipboard. So that’s kind of like your, like that’s internally looking on your own system. ⁓
There’s also a solution that is, it’s not, don’t, haven’t announced it yet, but it’s a solution for receiving Bitcoin as an individual. So we’ve really talked about business deposit side, but the other side is like, you know, businesses sending Bitcoin to a user. ⁓ So yeah.
Stephan Livera (23:44)
Yeah, gotcha. Any other, like I guess, talk me a little bit, you touched on this before around BTC Pay, but just talk me through how that part works. Like, is it a plugin for BTC Pay? How does that part work for users?
Keith (23:59)
Yeah, 100%. So we’ve been like really blown away by the prevalence of BTC Pay server. And I think the actual team behind BTC Pay has as well because it’s decentralized, right? It’s open source.
And so Bronta has first class support for BTC Pay server with our plugin. It’s already installed ⁓ on the BTC Pay Italy instance with over 1500 businesses running it. Bitcoin Aruba as well. Voltage is running the plugin. And users can, yeah, sign up with Bronta, drop in an API key and it just works. It works across Tether, ⁓ Onchain, Lightning, Arc, right out of the gate. The other two platforms…
that anybody can use today are Zaprite and TakeMySats. think a lot of your listeners will know Zaprite. So there’s a Bronto connection within your Zaprite page that you can drop your Bronto API key in and then all of your addresses will be verified. And same with TakeMySats, which is a very, very tech-forward sort of NOSTER, NOSTER-forward platform. Yeah.
Stephan Livera (25:05)
Excellent. Well, yeah, I mean, it sounds like a no brainer for most cases, right? Because it’s just, it’s, it might be a sort of a tail risk in certain cases, but it’s like you can almost fully prevent it.
⁓ with this kind of address verification technology and it’s almost like a no-brainer that it should just be built into most exchanges, wallets, services, like it should just be kind of an automatic thing, happens in the background, end users don’t have to think about it, but let’s say we in the industry, developers, investors, and like, you know, if you’re like a serious Bitcoiner, let’s say, it’s probably something people should think about. So anyway, I think that’s probably the key point, so we’ll leave it there. Any final closing thoughts and where can people find you?
Keith (25:45)
No, it’s been great. We’ll get back with Mr. Hoddle on Twitter too. But yeah, for everybody, our website is Bront.Pro. I’m Keith and our Twitter is Brontopop. So yeah, look forward to more discourse with the community, more engagement and yeah, really just making Bitcoin the absolute best possible UX because we actually have like programmable money. So I say let’s just program it and make it the absolute best.
Stephan Livera (25:48)
Ha
Fantastic, thanks for joining me, Keith.
Keith (26:13)
Yeah, thanks so much, Stephan.