{
  "episodeId": "SLP743",
  "speakers": {
    "stephan": {
      "name": "Stephan Livera",
      "role": "host",
      "tag": "STEPHAN"
    },
    "steven_roose": {
      "name": "Steven Roose",
      "role": "guest",
      "tag": "STEVEN"
    }
  },
  "segments": [
    {
      "speaker": "stephan",
      "time": "00:01",
      "start": 0.92,
      "text": "Hi everyone, welcome back to Stephan Livera podcast. Today we're trying something a little bit different. We're gonna try a shorter format, faster interviews. We're gonna call this SLP Fast, try to get through things with, no fluff. So right to it. My guest rejoining me today is Steven Roose from Second, which is the, they are the creators of Bark. so Steven, welcome to the show, welcome back, and, give us the update, what's new with Bark? I know you guys just had your mainnet launch on June 9th"
    },
    {
      "speaker": "steven_roose",
      "time": "00:28",
      "start": 28.18,
      "text": "Yeah, thank you for having me. we're very excited to announce that our ARC server is finally publicly available on mainnet. So it's been about two years that we're developing an implementation of the ARC protocol, we call it Bark. It's a payments SDK using the ARC protocol. we've been on Cygnet for about a year. We have some dev tooling there, and for the last few months, we've been running a mainnet server in beta, in beta, and, last week we announced, this mainnet server to be publicly available Available. We announced a few integrations. So there's a few people building wallets on top of the SDK. We have Noah Wallet, which is available for iOS and Android. it's built from scratch on, our SDK. We also have Christoph from the Bitcoin Design Community, who built RK Wallet, which is like a, implementation of the design principles that the Bitcoin Design Team have been, creating, also using our SDK. we also announced that AlbyHub, is integrating Bark is one of their, new experimental backends for, for the AlbyHub wallets. We built our own web wallet that we call Bark, Bark Wallet or Bark Web. We launched this on Umbral. We're building also an implementation of this for Startnine. We're basically packaging the web wallet for these like, hosted on your, at your home, platforms. And we're also gonna announce a BitsyPay server plugin, with like one-click in-install configuration to be able to receive Lightning payments. So yeah We're super excited, with all of these inte-integrations, it's been like a really exciting week for us. yeah, excited."
    },
    {
      "speaker": "stephan",
      "time": "02:05",
      "start": 125.47,
      "text": "So how does Bark solve Lightning's onboarding and liquidity problems?"
    },
    {
      "speaker": "steven_roose",
      "time": "02:11",
      "start": 130.52,
      "text": "Yeah, so, the main reason for building this SDK was that we noticed that Lightning, while it's really good for routing payments, it's not so good, for user experience at the edges. So if you want to have a self-custodial Lightning experience, if you want to run your own, like, have your own keys, sign your own Bitcoin transactions, it's, it comes with some like, UX hurdles, mostly around on-chain transactions to maintain your channels and liquidity. So you need to manage your inbound liquidity if you want to be able to receive- Receive, you need to purchase liquidity, which comes with costs. So the ARC, protocol makes it possible for users at the edge of the Lightning Network to be able to route Lightning payments without having these like technological burdens like channels. So ARC is like a currently mostly like a what we call, last mile solution where users connect to an ARC server, the ARC server functions as their gateway, but the client server ARC protocol is totally trustless. So the user can have full self custody, they sign all the transactions, they always have an emergency exit available that they can use whether the server goes offline or becomes malicious, so the, the user is always in full control of their funds, but you can route Lightning payments,"
    },
    {
      "speaker": "stephan",
      "time": "03:27",
      "start": 207.38,
      "text": "Very easily. How should Bitcoiners think about ARC compared to Lightning? Is it a replacement or is it a teammate of sorts?"
    },
    {
      "speaker": "steven_roose",
      "time": "03:36",
      "start": 215.75,
      "text": "Yeah, so like I said, it's, it's definitely a like complement. So it's like a last mile solution, especially initially, maybe in the, in the, in the future also routing channels could exist on the ARC if like on-chain fees would go really high. Currently, that's not really, an interesting, path. So we're mostly focusing on end users who want to have self-custodial Lightning. Steve sent, but don't wanna maintain channels, don't wanna have the on-chain cost of like creating channels, managing their inbound liquidity. So it's basically a companion for the, for the last mile for the users, which can be merchants, which can be like regular users with a phone wallet, stuff like that, sending lightning payments."
    },
    {
      "speaker": "stephan",
      "time": "04:16",
      "start": 255.74,
      "text": "So can you give us a quick overview on the user experience? What does it look like for the end user?"
    },
    {
      "speaker": "steven_roose",
      "time": "04:21",
      "start": 261.19,
      "text": "Yeah, so the end user, like, we're building an SDK, right? So our users are developers, and these developers hopefully will create like amazing wallets for end users. And for an end user, the experience is, is pretty seamless. So you don't have any setup, you just create a wallet, you write down your twelve words or whatever your wallet can store the, the, the words in, like, your, your phone device or, or on your cloud, something like Wallets can, can choose there, but you basically have your, your seed, your, your seed phrase, and then you get a, a, a balance that you can use to both send on-chain payments, Lightning payments, receive Lightning payments, And you don't see like inbound capacity errors, you don't see channel closures, you don't see like even the word \"channel\" at all. So it's, it's a pretty, it's an experience pretty close to like the on-chain ex-experience, only that you can do lightning and your payments can be, instantaneous and really cheap, the, the cost of- Our, our payments are kind of, just paying the operator, the, the server to maintain the arc itself, which is almost kind of a fixed cost. So like, the, the arc server makes on-chain payments to basically anchor all the users' funds into the blockchain, and the more users are in the arc, the lower the cost per user will be for, for, for these two to exist. Currently, our server is kind of subsidizing this cost while we're like, growing, adoption, but eventually, like, it'll, it'll probably just be divided For the users, and it should be a really, really small cost to, to have your balance in the"
    },
    {
      "speaker": "stephan",
      "time": "05:53",
      "start": 352.99,
      "text": "ARK. What is the developer experience like with Bark SDK and what languages does it support? Yeah, so,"
    },
    {
      "speaker": "steven_roose",
      "time": "06:01",
      "start": 361.14,
      "text": "we have three Big pillars. Obviously, our SDK is written in Rust, so Rust is always gonna get the best developer experience. all our APIs are natively Rust. And then we have what we call Bark D, which is basically a standalone program that runs all the background tasks and maintenance that you need to do, and it gives you a nice HTTP REST interface that you can then just from any system call into, to make payments, check your balance, but it will do all the heavy lifting in the background. And then we have language bindings, which are libraries in- Different programming languages that also like call into the REST code and run the background processes in, in the, in the, in the backgrounds. We currently support TypeScript, both for React Native and for web. We support Swift, we support Kotlin, we support Dart for Flutter, we even support Python and Go. Basically, any of the languages that the UniFi framework provides. We did a bit of custom tweaking for each of the languages to make sure that all the like background async working, works, works nicely. But other- Other than that, you get like the full, API experience in all of"
    },
    {
      "speaker": "stephan",
      "time": "07:06",
      "start": 425.96,
      "text": "those languages. I see. And so just making sure I've got my understanding correct, there's, I guess, different parts to this puzzle because you could be using Bark SDK to build an app, and then on the, another o-op option would be, as we mentioned, Bark D, which is like Bark Daemon, right? You are running this for your online service, and then on your side, you're running the Ark server, which I believe is Captain D, but that's more like your server that's And these components. So is that correct, those three kind of pieces to this puzzle? Yeah. So,"
    },
    {
      "speaker": "steven_roose",
      "time": "07:38",
      "start": 458.1,
      "text": "so we run the ARC server, which, which we call Captain D. users who want to integrate don't have to worry about that at, at all. They just need to know our endpoints. Obviously, the server is also open source, so anyone can run their own server if they, if they're interested in doing that. and yeah, so you have Bark D, which is kind of like a mini server that then connects to our actual ARC, ARC server. This, So let's talk a little"
    },
    {
      "speaker": "stephan",
      "time": "08:04",
      "start": 484.06,
      "text": "bit about Bark D. Can you explain on Bark D for merchants and online services? Explain a little bit about that, what does that look like, how is it helping them to accept Ark payments? Yeah,"
    },
    {
      "speaker": "steven_roose",
      "time": "08:14",
      "start": 494.22,
      "text": "so it's a small, daemon program that has a easy API that you can just ask balance for, you can ask your history of all your payments, you can create invoices, send payments, and the program will be running in the background so it will make sure that whenever your vDexos need to be refreshed, because in ARC vDexos need to be periodically refreshed, it will do all of that in the background automatically so you don't have to do any like special calls for that. And for systems that are always on, online, this is def- definitely the best solution. Pay servers, umbrellas, systems like that, they can just run the Bark D, it will do everything for you, and whenever you need to know something, you can just ask it, what's my balance, what are my transactions, stuff"
    },
    {
      "speaker": "stephan",
      "time": "08:54",
      "start": 534.11,
      "text": "like that. And I noticed you have put out some new dev tools, one of which is the vtxo inspector. So what is the vtxo inspector?"
    },
    {
      "speaker": "steven_roose",
      "time": "09:04",
      "start": 544.34,
      "text": "yeah, it's kind of like a webpage where you can visualize some of the internals of the vtxos. there's definitely, if you-- the deeper you dig into the protocol, the more technical new things come up. we try to hide most of that in our SDK, so if you want to use it, you don't need to know those things, but some users might be interested in that, some developers might want to Expose these things. So we created a visualizer for vTXOs which show you, like, for example, your unilateral exit path or your emergency exit path, it shows all the transactions you'll have to broadcast, it can show you, for example, how much total, virtual bytes or transaction weights you have for your vTXO, stuff like that."
    },
    {
      "speaker": "stephan",
      "time": "09:43",
      "start": 583.34,
      "text": "Gotcha. And just, so I've got my understanding correct, and for listeners also, the idea is when you, you, you can kind of receive these vTXOs, but they're not on chain until you actually This is off-chain scaling, so the user can off-- can onboard into an ARC wallet without actually going on chain. He has a VTXO. That's the point we're talking about here, right?"
    },
    {
      "speaker": "steven_roose",
      "time": "10:04",
      "start": 604.34,
      "text": "Exactly, exactly. Yeah. So the whole point is that as long as the ARC server is cooperating with its users, no one has to broadcast, Bitcoin transactions except for the server doing it once per hour. So one transaction per hour can basically anchor all the ARC funds into the blockchain, and only when the user-- when the server disappears or is acting in a, in a bad way, the databases, to get their funds back on chain, similar to how when you have a lightning channel, you also have like all your HLCs that are going on in your lightning channel and your like, commitment transactions that you broadcast in, in, in the case of your, your channel peer going offline."
    },
    {
      "speaker": "stephan",
      "time": "10:40",
      "start": 640.22,
      "text": "Gotcha. any-- I mean, you mentioned a little bit earlier about some wallets. What's the current status of adoption and what's coming next there?"
    },
    {
      "speaker": "steven_roose",
      "time": "10:49",
      "start": 648.53,
      "text": "Yeah, so we went live last week. some of the integrations that we announced, we've been working with, for over a year. So these people were also very excited, to, to go live with us, especially Noah and our ARKE. so,"
    },
    {
      "speaker": "stephan",
      "time": "11:03",
      "start": 663.38,
      "text": "yeah, we're gonna-- Okay, just for listeners, that's A R K E, yeah? Yeah, ARKE. Just Yeah, go on."
    },
    {
      "speaker": "steven_roose",
      "time": "11:11",
      "start": 671.04,
      "text": "Yeah. so yeah, we're definitely getting very positive feedback from the first week, and we're gonna see how it will go. we're gonna launch our BtCPay server plugin very soon, so we also hope that, this can like drive people to more easily onboard merchants into lightning payments, Yeah, going next, we have, a bunch more people interested in, in, in, integrating. The launch definitely triggered people to take it seriously and, and, and think about if they can in, integrate, lightning using Bark. So yeah, we're super excited that we have a pipeline full of integrations and we're gonna be announcing them as, as, as we finish."
    },
    {
      "speaker": "stephan",
      "time": "11:50",
      "start": 709.67,
      "text": "And can you explain a little bit on the fees in Ark? As I understand, it's maybe a little bit closer to like a liquidity leasing model, and, But the inc-important difference is, it's not like in Lightning where it's per channel, it's maybe done kind of more at the, as a cohort. Can you explain a bit of that?"
    },
    {
      "speaker": "steven_roose",
      "time": "12:09",
      "start": 728.73,
      "text": "Yeah, so the ARC server sets the, the fee policy. The, the cost for the ARC server to run your payment is kind of in a Non-trivial way dependent on how old your VTXOs are and all that, so we tried to simplify that a bit. So we basically have for each of the outgoing payment types, we have three tiers. So if your VTXO is less than seven days towards expiry, you, you pay point two percent. If it's between fourteen and seven days, you pay point four percent, and then over fourteen days, you pay point five percent. We expect that a user that has several VTXOs, just like a Bitcoin wallet has several UTXOs, because you like at regular intervals receive some We'll be able to make some payments in the, in the cheapest category because the wallet automatically picks the cheapest vDexos to use, so it will always try to get the soonest expiring vDexos first to get the lowest fee category. but yeah, you can find it all on our, on our website, it's very clearly, ex-explained. We have the off-board, we have the like on-chain payment fee, Lightning send fee, refresh fee, Lightning receives are free, and ARC payments are also free. so Free transactions, receiving Lightning is also free, and sending. Yeah."
    },
    {
      "speaker": "stephan",
      "time": "13:20",
      "start": 799.59,
      "text": "And just to be clear, this is, best for payments and hot wallets. This isn't like a long-term cold storage thing, right? and quick overview of the transaction types, so we can take them one at a time. There's boarding, refresh, and out-of-round transaction. So what is a boarding transaction?"
    },
    {
      "speaker": "steven_roose",
      "time": "13:34",
      "start": 813.86,
      "text": "Yeah, so boarding is what you use to, and to enter into the ark with your existing on-chain funds. So with the SDK, we, we generalized, we ab-abstracted the on-chain wallet so you can, people that already have an on-chain wallet implemented can basically use this on-chain wallet, or we support PSBT where you can just a-ask your hardware signing device to onboard some of your funds. So with boarding, we mean getting some of your on-chain funds into the ark. And then we have offboarding, which is the other way around, which is basically sending your funds from into to an on-chain address, you can do this just to send, or you can say, \"Offboard all, basically get all my money out of the ARC,\" that's one of the, one of the types that you have available. And then our core transactions are out of round, which we now call like ARC transactions, or basically the transactions that happen inside the ARC, so that you don't need-- Gotcha. This is an"
    },
    {
      "speaker": "stephan",
      "time": "14:22",
      "start": 861.72,
      "text": "off-chain transaction, right? Like I'm sending to you, it doesn't actually"
    },
    {
      "speaker": "steven_roose",
      "time": "14:26",
      "start": 866.36,
      "text": "hit the chain, that's the point. Exactly."
    },
    {
      "speaker": "stephan",
      "time": "14:31",
      "start": 871.11,
      "text": "It Gotcha. And then the refresh, that's just like this, monthly thing or what's that? Oh, you said every hour. Sorry, explain that for me."
    },
    {
      "speaker": "steven_roose",
      "time": "14:40",
      "start": 879.75,
      "text": "every hour, every user has a chance to refresh their VTXOs. They have to do it only once a month, right? So every month,"
    },
    {
      "speaker": "stephan",
      "time": "14:46",
      "start": 886.44,
      "text": "eve- every hour- Oh, I gotcha. So you're, so I guess on your side, the Ark server is, is doing it like once an hour, but let's say if I'm the end user, I just need to make sure"
    },
    {
      "speaker": "steven_roose",
      "time": "14:56",
      "start": 896.3,
      "text": "my but if you come online about once a month, you just send the server like, \"Hey, I want to, refresh my VTXOs,\" and in the next hour, the server will do it for you and, and tell you like, \"Hey, here is the, the new VTXO that"
    },
    {
      "speaker": "stephan",
      "time": "15:11",
      "start": 911.03,
      "text": "you get.\" Excellent. Alright, now a very quick summary that I, I've put together just for listeners to take away. So this is self-custody with keys on the device. You control your funds, you can unilaterally exit, there's no channel management, and"
    },
    {
      "speaker": "stephan",
      "time": "15:32",
      "start": 931.73,
      "text": "Provides the tools, but wallet builders just sign up for a refresh regularly. There's a very low on-chain footprint, as you mentioned, one on-chain transaction can support thousands of users. the Ark server provides the liquidity, but it's-- and it's leased to users by the server on demand for payments and refreshes. As, as we mentioned, there are multiple language SDKs, easy to build wallets, and Bark D is a good one for merchants to consider. It, and this is designed for active use, best for payments and hot wallets, not long-term cold storage."
    },
    {
      "speaker": "stephan",
      "time": "16:02",
      "start": 961.73,
      "text": "My guest is Steven Roose from Second. You can find them over at second dot tech. Steven, thanks for joining. Thanks a lot"
    }
  ]
}
