Episode 2 of the SLP BTCPayServer series! Pavlenex (BTCPayServer contributor and Operator of BitcoinShirt.co) joins me to talk about his journey in becoming a bitcoiner, and becoming a BTCPayServer contributor. We talk:
- How BTCPayServer helps a merchant accept Bitcoin
- Creating BTCPayServer Guides
- Cost of running BTCPayServer
- BTCPayServer misconceptions
- BTCPayServer with Lightning Network
- BTCPayServer Merchant Directory
See other episodes in the series here: https://stephanlivera.com/slp-btcpayserver-interview-series/
- Twitter: https://twitter.com/pavlenex
- Website: https://bitcoinshirt.co/
- BTCPayServer Misconceptions: https://blog.btcpayserver.org/btcpay-misconceptions/
- BTCPay vs Third Party Processor https://docs.btcpayserver.org/btcpay-basics/btcpayvsothers
- Infographic for common merchants problem https://twitter.com/BtcpayServer/status/1097931640494608389
- Third-Party hosts https://docs.btcpayserver.org/deployment/thirdpartyhosting
- Kraken: http://www.kraken.com/?utm_source=podcast&utm_medium=stephanlivera
- Unchained Capital: https://www.unchained-capital.com/?utm_source=Stephan%20Livera&utm_medium=Referral&utm_campaign=Affiliate
Stephan Livera links:
- Follow me on twitter: https://twitter.com/stephanlivera
- Show notes and website: https://stephanlivera.com/
- Subscribe to the podcast: https://anchor.fm/stephan-livera/
- Rate and Review the podcast: https://itunes.apple.com/podcast/stephan-livera-podcast/id1415720320?mt=2
- Email contact: firstname.lastname@example.org
Podcast Transcript Sponsored by GiveBitcoin.io:
Stephan Livera: Hi and welcome to the Stephan Livera podcast, focused on Bitcoin and Austrian Economics. Today we are continuing on with the BTCPay Server series, but first let me introduce the sponsors of the podcast.
Stephan Livera: Firstly, Kraken. Over my years in Bitcoin I’ve been really impressed with the way Kraken operate in terms of offering really strong security and just acting ethically in the space under Jesse Powell’s leadership, supporting various initiatives. They’re one of the longest standing Bitcoin exchangers, they are consistently rated the best. They have a high quality platform, the best liquidity in the industry. They’ve got high trading volume, low fees, no minimum or hidden fees as well. Kraken have 24/7 support and I’ve found it extremely fast to go through the sign up process as an individual. They offer the highest available API rate limits for institutions and business solutions and there’s also a Kraken OTC desk. Kraken offer five fiat currencies and also offer margin and futures trading. To learn more and sign up, go to the Kraken link in the show notes.
Stephan Livera: Check out Unchained Capital. They’re a Bitcoin financial services company offering a two of 2-of-3 keys multi signature vault product. You can use Trezor or Ledger wallets and you still maintain control with your two keys, reducing the single point of failure risk. And Unchained Capital can act as that third signature. Note also they’ve open sourced some of this solution as well. Multi signature helps protect you against that proverbial 5 Dollar Wrench Attack. Customers that create an Unchained vault also get three free months of access to Saifedean Ammous’s Bitcoin Standard Research Bulletin. Unchained also offer Bitcoin collateralized loans, allowing you to get USD liquidity without selling your Bitcoins, meaning you don’t trigger a capital gains event. So consider your scenario, but that might be more tax efficient for you. While that loan’s outstanding, it’s stored under collaborative custody. So to learn more and sign up, go to the Unchained Capital link in the show notes.
Stephan Livera: Pavlenex from the BTCPay Server team has a really interesting story. He came in as a merchant, helping to write some guides to help out other merchants. And then he became a key member of the team, so he has a really cool story and I think you’ll also find that there’s some really underrated or under-known aspects about BTCPay Server which you’ll find out from this interview. So onto the show.
Stephan Livera: Pavlenex, welcome to the show.
Pavlenex: Hi Stephan. It’s a pleasure to be here. As a long term fan I am so happy to talk to you today.
Stephan Livera: Well it’s a pleasure to have you on. So Pavlenex, I think we should start with a little bit of your story. I want to know how did you get into Bitcoin?
Pavlenex: Yeah, so when I write down my Bitcoin story I always like to start how I did not get into Bitcoin like most of us. But my story is extra special because I was extra stupid. So here is the story. Somewhere in 2012, 13, I have a younger brother so he was 12 at that time. And he worked on a web project with some guy and they worked together and he needed to send the money to that guy abroad. Let’s call that guy Abdul. So my brother needs to send the money to Abdul and they are both underage, so they’re both 12 years old. There is no way for them to send money to each other.
Pavlenex: So one day I was sitting at my desk and my brother approaches me and, “Hey Pavlenex, I need your help, man. I need you to borrow me $100 and buy Bitcoin for me.” And I was like, “Dude, what’s Bitcoin?” And he starts, “It’s all that internet money, it’s mined and they made it out of thin air.” And I was like, “You can’t make money out of thin air you fool. Don’t let me bitch slap you. You can’t do that, it’s a Nigerian Prince scam, it does not work that way.” So he was like, “Okay, it really works, I tried it actually but I need you to borrow me money so we can buy to make a transaction.” And I thought he meant … “that’s not how it works, let me do the transfer for you.” So we ended up doing a wire transfer. We paid 1/5 of the fees. I need to do a bunch of KYC stuff and we sent the money to Abdul. Actually, to Abdul’s father. So it was three or four hops with a bunch of paperwork and stuff and it was super annoying.
Pavlenex: And yeah, looking back at that moment, I’m so embarrassed for this, missing Bitcoin. Especially because I’m a communist and what they teach at school about money, money’s actually made out of thin air. The state makes it out of thin air. So I’m now super embarrassed that I did not understand my brother and the ability for Bitcoin to allow people to transact without permission, without fees, without asking anyone, without government and that’s my Bitcoin story, how I did not get into Bitcoin.
Stephan Livera: Well that’s very typical for most people. I think the first time you hear it you just don’t get it, but it’s good, we’re glad to have you working on Bitcoin projects now. So you are now working on BTCPay Server which I believe is a very important project in Bitcoin. And the other funny thing is that you weren’t actually a technical guy before you got started in this. So tell us, how did that come about? How did you get started in BTCPay Server without being a technical guy yourself?
Pavlenex: Yeah, so as I said, my background is in economy and marketing actually, so marketing people are not always smart and tech savvy. So I just got into Bitcoin in 2016, or it was maybe 2017, I’m not sure exactly, but I started learning about it and I stumbled upon a bunch of videos and I wanted to buy a t-shirt. I wanted to proudly say I know what this Bitcoin thing is, so let me show it off. And I searched for t-shirt stores and I couldn’t find any store. So I decided I will make a t-shirt of my own and I showed it to people in IRC, because that was where we communicated on IRC, the chatroom. And I showed it off to people and someone told me, “Hey, you should sell these t-shirts, they look nice.” So that’s how I began searching for how to make a website and how to accept Bitcoin payments.
Pavlenex: I will tell you a little bit into details about that, but I found out about BTCPay on Reddit. Actually some user was giving me a very hard time for using a third party payment processor, she was, “You’re so dumb for using this, man you should use something better, here is this project that started a few days ago, check it out.” So that’s how I ended up on BTCPay Slack. There were five or six people at that time, Nicolas, Mike from Coincards and maybe a few more guys. So I just came there, asked a bunch of questions, nothing made sense at that time. It cost $60 to deploy BTCPay and Nicolas told me, “Okay, you deployed it, now you need to wait 10 days for it to sync” and I was like, “Wow, this is not going to work.” And yeah, we actually managed to get it to work and I started asking questions.
Pavlenex: And at that time Nicolas was a core developer, he still is, so he also helps developing Bitcoin Core. I was like a fan boy, I was like, “Oh man, this is Nicolas Dorier and he’s talking to me and he’s even helping me.” And he was so kind, he still is, he helps a bunch of people, he’s always open to discuss and help. And that’s how I actually wanted to help him to help other members because I wanted to offload that effort that he was doing. So I kind of started contributing, giving tips to people and that’s how we got started.
Stephan Livera: Fantastic story.
Pavlenex: But yeah, so actually how I started contributing to BTCPay, I made a guide on Reddit because at that time nobody knew exactly what BTCPay is. And me going through all that trouble setting it up, understanding it for a few weeks, talking with Mr. Dorier for such a long time and I just made a guide on Reddit. And then the influx of people started coming to our Slack. I mean people finally understood it and they were coming to BTCPay Slack, asking questions and that’s how this whole BTCPay thing started to become … it’s not still mainstream, but let’s say mainstream in Bitcoin communities, so that’s how it all started.
Stephan Livera: Excellent. And with the setting up of the guide, I think that was really the point at which a lot more attention started to come onto BTCPay Server. But actually just before we get to that though, I would like to just discuss for the listeners out there who are thinking, “Oh hey, if I wanted to set up a Bitcoin store, what are the difficulties that I would typically face?” A quick example would be instead of … a common model now when people want to put donations is they just put up one address and then, what are they doing? That’s a bad practice, that’s address reuse, right? And they might not understand that, oh, when I set up BTCPay Server it takes time for it to sync, I just want something that works straight away, but they’re not understanding the benefit that comes with running a full node, so can you outline some of those difficulties that a typical person might face and why BTCPay Server helps them solve that?
Pavlenex: So for merchants specifically, when you start a store you need something of course to accept Bitcoin payments. And most people will tell you that you can just use a Bitcoin wallet, but that’s not how it works. Merchants need an automated way for everything to be handled for them. So BTCPay is like an invoicing system, simply said, which
and collects all of your orders in one place and informs you that a certain order has been paid or not paid or requires certain action. So what BTCPay does is that it gives, for each order it creates an invoice and each invoice has a new Bitcoin address. So there is no address reuse as you mentioned. And when you run BTCPay you are running a full Bitcoin node so you’re not linking any UTXO’s or anything to a third party, everything is private and that’s how actually Bitcoin should be, without intermediaries, third parties.
Stephan Livera: Another example might even be with customer support. So let’s say I did, in the naïve way, I just put up a Bitcoin address and then if somebody tries to send through and maybe they sent me the wrong amount, it’s difficult to deal with. Whereas BTCPay Server has that invoice function and you can see each specific sale, can you outline that a little bit?
Pavlenex: Yeah, you really said it well. So yeah, if you had a single address there is no way for you to know who paid, how much they paid, when they paid, it’s so confusing. There is no way for you to actually manage it unless you have one order per day, maybe even then it would be very hard and it would take you five, 10 minutes to figure things out. But as you said, BTCPay handles everything in the background and just presents everything for you on the front end. Nice invoice, you’ll see this guy paid this much, you can ship it, this guy needs to pay a little bit more because the invoice was underpaid and BTCPay handles everything for that. It’s a really automated invoicing system. That’s the best way to explain it to merchants, I think. Then they understand why it’s better than any other system out there.
Stephan Livera: Excellent. And you were, funnily enough, you were previously known as Bitcoin Shirt and that’s actually when I first met you on Twitter, kind of virtually met you, I knew you as Bitcoin Shirt because that was your online name. So tell us a little bit about your experience setting up BTCPay Server for your website, Bitcoin Shirt.
Pavlenex: Yeah, so I still struggle with that nickname Bitcoin Shirt. Nicolas always calls me Bitcoin Shirt on podcasts, so Nicolas if you’re listening to that, don’t call me Bitcoin Shirt please. Or even worse, just Shirt. Yeah, so the whole experience at the beginning was a bit hard to understand for me because there was no documentation, we didn’t have any videos, so it was a bit trial and error but eventually, once you set up BTCPay Server, you just need to install a plugin for your store and everything is ready, there is not much to do. But the whole problem was setting that server up. Now we have an insane amount of ways to deploy BTCPay Server, we have documentation, we have videos and there are lots of community members that can help you out. So now it takes … if you use a web deployment tool it’ll take a minute to start deploying BTCPay Server, whereas in the past it took me 10 days to figure everything out.
Stephan Livera: Fantastic. How about customer problems or did you ever have any issues around that? Let’s say the customer sent through the wrong amount, did BTCPay Server help you deal with that?
Pavlenex: Yeah, so the biggest problem with being a Bitcoin merchant and problems with customers paying is that the customer will use an exchange wallet. So they will send you, pay the invoice from the exchange wallet and then that exchange wallet takes a little bit of fee from them which makes then the amount that arrives to the merchants address is always a little bit smaller and the order is always underpaid. So that is the biggest issue that merchants face in my experience. It also happens that customers can … you know, the QR code and then they manually enter a fiat amount. And depending on the rate that their vault uses, they can overpay or underpay again, so it’s a bit frustrating.
Pavlenex: Luckily with BTCPay it recognizes those type of invoices and it will mark them in red or in yellow depending on which status the invoice is. And you will see them in the invoice list that you need to do a certain action like reach out to customer and ask them to pay, or you can just accept that tiny loss and mark the invoice completed on your end. So that’s one of the issues that we face. Also customers simply do not understand Bitcoin yet, so they ask all sorts of questions so in a way merchants are also educating people how they can get Bitcoin, how they can pay, which wallet should they use, so we deal with the questions like that all day at Bitcoin Shirt. So it’s not that frustrating actually, I feel good that I’m able to help out people and actually provide good resources for them to properly learn how to use Bitcoin.
Pavlenex: With Lightning Network those issues do not exist, like underpayment and overpayment because there is just … everything encoded in the invoice and you just copy. There are some wallets allow you to change the amount and I’m very … I’m not so happy that those wallets allow you to change the amount because they are not merchants, the developments of those wallets and, yeah, it’s a problem for merchants. But as I said, Lightning Network really solves some of those issues but it opens a whole set of new issues so, yeah, we are still in early days. I must say that we are in the early days of the Lightning Network, but I’m hoping that it will solve most of the issues. If not Lightning maybe something else will, but I’m sure that it will be solved.
Stephan Livera: Just with Lightning Network and enabling Lightning Network on BTCPay Server, can you tell us a little bit about what that looks like and what are some of the challenges and difficulties? And maybe even touch on channel management as well.
Pavlenex: Yeah, sure. So specifically Bitcoin Shirt was one of the first stores that used the Lightning Network. I think that we were one of the 15 stores that actually set it up in store and started accepting it. So I know how painful it can be. The first time I experienced the Lightning Network, it was with João who was a guest on your podcast from OpenNode. So yeah, he was developing a plugin which connects to your Lightning node and you plug it in into your wooCommerce and he was searching for merchants who could help him test that. So I always applied and João and I, it was, I think, in September 2017, something like that, very early, we started experimenting and I did not understand a thing. So I did not understand liquidity, I did not understand channel management, it all seemed so hard to understand and it made no sense at that time.
Pavlenex: But later that plugin became OpenNode, they are also a good payment processor. They’re now developing stuff and they’re also helping the adoption of Bitcoin just as BTCPay Server is. Anyway, to get back on the point, BTCPay specifically, if you are self-hosting … you cannot use BTCPay if you’re using a third party host, but if you’re self-hosting your server, BTCPay comes with the full Bitcoin node and Lightning node already implemented, so you just need to click one button. You will see in the store settings you have Lightning Network and you click on it and it will automatically connect and deploy your Lightning node. So that, it is easy to deploy it. But since your new node, you do not have any liquidity coming your way, so basically you are alone on the network. Centralized payment processors of course have their own nodes which are connected, so for merchants it is easier to use those type of solutions. But if you are a new merchant using BTCPay, you need to ask someone to send the liquidity your way because you won’t be able to accept payments.
Pavlenex: So there are LNBig, their website now has a copy paste link which you can implement into your BTCPay and they will automatically send incoming capacity to you so that you can receive payments. We are also working on some ways making it in the user interface to make other nodes for merchants to easier connect to other nodes. So we’re working on solving that right now. Deploying is not a problem but capacity and liquidity is, so people ask those types of questions very often on our chat.
Stephan Livera: Sure. And so with setting up channels, what about if you were to fund the BTCPay Server instance with your own Bitcoin and obviously you can open channels outgoing … although obviously that would not be incoming capacity but is that, do people do that also?
Pavlenex: Yeah. People … actually we have a Lightning channel now in MatterMost, so people open up channels to each other, they connect, it all grows organically for now. But as I said, we are working on finding ways to get that, to make it easier for merchants so that they do not have to come and ask, “Hey, I set up a Lightning node but a customer can’t send me a payment.” And yeah, it’s a bit of a problems but, as I said, I hope that we will solve that very soon. We actually have some issues open on GitHub already, Nicolas opened some of them, suggestions on how we can speed up that process.
Stephan Livera: Yeah. And another interesting idea there is also that idea of flow. So let’s say you get some incoming capacity but maybe it’s only two or three hundred dollars worth and then as soon as you have sold, say, $300 worth of product, now your channel is, in some sense, exhausted in your direction, right? Because all the money in that … just for the viewers it’s like you’ve got an abacus and all the beads are sitting on the merchant’s side and now they cannot receive anymore because all the beads are already on that side. But I suppose even here there are things like Lightning Loop or Submarine Swaps that are potential proposed ideas?
Pavlenex: Yeah. So balancing the channel is another problem, but in my specific case, in Bitcoin Shirt store, so I use my Lightning node to also pay, spend and in a way I always organically balance those channels. I never worry about … even if I want to convert into on-chain I use an exchange such as ZigZag, so we always have to balance this organically. It’s not perfect but for me it works. Yeah, as you said, it’s also a problem but I think that won’t be a problem soon. But there … liquidity I think is a bigger problem and also the lack of Lightning exchanges for merchants because merchants usually need to sell something to pay their expenses in fiat and right now maybe there are one or two, I’m not sure that … I think that recently some exchange announced, I can’t remember the name now-
Stephan Livera: Bitstamp, I think.
Pavlenex: Yeah, yeah. It was Bitstamp. So sorry, I’m not the exchange guy, the only exchange I use is Bisq so-
Stephan Livera: Oh very nice.
Pavlenex: I’m not good with exchanges. So yeah, I’m hoping that exchanges will provide ways for merchants to … and make their life easier because right now it’s a bit tough for merchants who accept Lightning. They get all of these channels and stuff and then when they need to convert it or spend it it’s a bit tough. But yeah, as I said, it’s not a big deal, it will improve soon.
Stephan Livera: Excellent. Okay. And how about any other points around Lightning Network? Are there any other things that … let’s say I’m a merchant and I want to think about using BTCPay Server, anything else I need to consider from a Lightning Network point of view?
Pavlenex: Yes. So Lightning Network is a hot wallet. So in BTCPay we do not have … the only thing that BTCPay requires from you is your public key, there is no private key, so if someone hacks your BTCPay Server, the worst thing they can get is your xPub key. But if you use Lightning Network and someone hacks your BTCPay Server, it’s a hot wallet and they, in theory, can steal all of the money from your Lightning Network node. That’s why when deploying a Lightning node on BTCPay Server, we have a huge warning of things that people should be aware of, that it is still reckless and the risks that are out there and we’re, of course, emphasizing that it is a hot wallet and that people should pay attention not to put that much.
Pavlenex: But I think that hacks are not that big of a problem. For me personally the problems are the instability of the software itself. So I lost $600 so far in the Lightning because I used an old deployment node and things change, so yeah, it’s something that I was aware of and I understand that it’s still early days and I’m not mad about losing all that money because, as I said, reckless until death.
Stephan Livera: So yeah, so I guess just to explain it then, as a merchant you have probably two main pathways you can go. If you want to be reckless you can turn on Lightning, but then obviously now you are, you’re using a hot wallet and that means the private keys now live on that instance. And if you’re hosting it in the cloud somewhere, that means if somebody gets access they can steal your bitcoins.
Pavlenex: Yes, that’s correct.
Stephan Livera: The other way is to basically just go no Lightning, right? And in that case I would, for example, if I’ve got a Trezor or a Coldcard or something, I would take the xPub and put that into the BTCPay Server when I set it up, but the private key is still held on the hardware wallet or somewhere else if I keep it that way. And then BTCPay Server can use that xPub to generate an invoice and generate addresses, but it cannot spend from those addresses.
Pavlenex: Yes. That’s correct. You can even use multi signature to be sure that you can … we’re working actually at adding the interface so that two people at one BTCPay wallet can do multi sig and stuff like that, so it will be even more interesting. So I’m hoping that will actually bring more users to … because, let’s say you and I set up a store and both of us, you have one signature I have the other and we want to spend money from our store, so you sign it then I login and I sign it and we’re all good. But yeah, right now on-chain is way more secure but in BTCPay you can actually limit it. You can say if the invoice is over $10, do not suggest Lightning network, suggest only on-chain. So you can do that, there are lots of stores doing that, just testing out.
Pavlenex: Because I also think for merchants it is very important to test this technology. If you understand it now, you will be far in front of your competition later, because if you understand it now how it works, you’ll be able to move faster than your competition and I do think that Lightning network and such solutions are the future and I encourage people to please test those tiny amounts in the Lightning. It is interesting at least to test it out and try out how it works.
Stephan Livera: Also I’m curious, can you, is it possible to segregate the wallets in some way? Like have an xPub just for the on-chain Bitcoin transactions and a separate one for Lightning, or is it kind of all together in one at this point?
Pavlenex: No, it’s not into one and I that’s, I think, the problem actually. Because people think that it is all into one but actually those are two separate wallets. We have the wallet for the Lightning Network and we have the one for the on-chain. So if you receive the money, you will see only the on-chain balance, whereas you won’t see the Lightning balance in your wallet in BTCPay. And we hope to make them united and maybe separate on-chain and Lightning so it’s a bit of a UX issue right now but I think that we will solve it eventually. But right now, as I said, those are two separate wallets and you can actually use … lots of people use Zap for instance if they’re LND or they use spark-wallet if they use c-lightning. And they scan the QR code, connect to their node right away and they manage everything from their phone or desktop, whichever. Because BTCPay supports c-lightning, LND, I think that also we now support … I’m not sure what the implementation-
Stephan Livera: ACINQ?
Pavlenex: Yeah, yeah, yeah, yeah, yeah. I think that Kukks added it, I’m not quite sure, it’s better that you ask him-
Stephan Livera: Okay, sure.
Pavlenex: … the progress on that one.
Stephan Livera: Yeah, sure. Let’s talk about some misconceptions now. Are there any common BTCPay misconceptions out there?
Pavlenex: Yeah, so lots of people think first of all that BTCPay is a centralized company. They see a nice neat looking website and they then think that we’re multi-billionaires and they’re not behaving that way. They think that they’re entitled to get support and stuff like that, but that’s okay, we’re used to it. So BTCPay’s not a company, it’s an open source project, it’s a community of people who work in their spare time on the project and help. Even the people who provide support, they’re also volunteers. We do get donations from people but those are really not enough to cover anyone’s full time salary. So please sometimes be patient with us, but actually I think that the support in BTCPay is way better than any other BitPay or anything. You will get an answer much faster because there are 600 people there willing to help you. But as I said we’re not a company and that is, I think, the first misconception about BTCPay.
Pavlenex: Furthermore, people still think that it costs $60 to host BTCPay because in the past it cost $60. Right now it does not cost $60, you do not need to use Azure, Microsoft Azure deployment, you can deploy BTCPay Server on any virtual machine or on any server which meets the minimal requirement. So basically you need 50 gigabytes of storage, you need to gigs or one gig of RAM and Docker and that’s everything that you need to deploy BTCPay. You can run BTCPay even at your home in a box on a Raspberry Pi. And we have all of these deployment methods documented.
Pavlenex: Also people do not understand that there are no fees with BTCPay so there are no fees, there are no third parties, you are your own payment processor, that takes a bit of responsibility on your end. You need to manage your keys and your stuff. And also I would like to tackle a controversial topic because I heard people, centralized payment processors saying, yeah, but we’re a Bitcoin only payment processor whereas BTCPay accepts Shitcoins, they promote Shitcoins and I will tell you right away that core developers are 100% Bitcoiners, I’ve never in my life had any other coin besides Bitcoin cash because I sold it. The first day I was able to pull it out I sold it so, yeah, I was a B-Cash holder, but we are 100% focused on Bitcoin. You can accept altcoins in BTCPay server, those are maintained by separate communities, the altcoin communities, we do not help them integrate. I heard people saying that we are paid by Shitcoiners to integrate Shitcoins, that’s ridiculous really. I cannot understand those sorts of social attacks people are trying to do on open source software. But yeah, as we grow we get used to those kind of attacks. So we do not maintain those outgoings, we do not test them, we do not advertise them in any way, we do not Tweet about them and we do not do invasive changes on our software in order to accommodate Shitcoin.
Pavlenex: When you deploy BTCPay out of the box there is not any shitcoin, you need to have a certain level of technical knowledge in order to activate shitcoin, so we do not promote an easy way to add shitcoins. Also it costs in resources to run shitcoins so if you want to run it you need to pay for it. It’s like Nicolas calls that a shitcoin tax in a way because you need a better virtual machine, you need a better server to run all of those nodes, so yeah. We are focused on that, we do not maintain and it is a bit sad and I will be honest with you, it hurts sometimes to see comments like that because that is the only thing that people attack us about and we are just not focused on that.
Stephan Livera: Sure, sure.
Pavlenex: And I think those are some of the most common misconceptions. There are a few more, but I think those are the main ones.
Stephan Livera: Let’s also talk about the decision a merchant has to make when they’re thinking about whether they want to use BTCPay Server versus using a more centralized payment processor. Now my view on this is I think we want there to be many different options, but it is very important that BTCPay Server exists as that final option that if no-one else, it’s there. So do you want to just touch on your thoughts there?
Pavlenex: Yes. So first of all I completely agree with you on that one. So as someone who’s working on BTCPay, I do not wish death to all of the third party payment processors. I think that centralized payment processors at this stage are important, people need them, they need something easy, they need instant fiat conversion, that’s what they get when using a centralized third party. So differences between BTCPay and third party, or centralized processors let’s call it today, let’s call it like that, but the biggest difference, I think that BTCPay versus the centralized processor is not even comparable because it’s like comparing the car factory with the car. When you deploy BTCPay Server, you’re actually becoming a centralized payment processor. If you want you can use BTCPay to advertise it and allow other people to attach to your node and use it to process payments for them.
Pavlenex: So what BTCPay provides you is the technology to become a payment processor. So it’s like a mini BitPay factory, that’s how we call it. So when you deploy BTCPay Server it’s like you’re deploying your own BitPay. You can allow your friends or you can allow your whole community, you can make a company out of it if you want and allow them to easily connect and transact. So it is not easy to compare such solutions because BTCPay is so much more than just the way to accept BitCoin payments in my opinion. And actually it’s a fact because we have way more features than those centralized servers.
Pavlenex: Also with BTCPay it is very important that there are no fees, there is no KYC AML, there’s nothing because you’re your own payment processor unless you want to dox yourself to yourself then you do not need to provide any sort of data. When customer pays to your BTCPay, if you’re self-hosting, no information is shared with third parties. You know that PayPal shares information with 600 companies I think, so when you pay with PayPal you share your information with a bunch of other companies. When you pay with BTCPay the information is only shared between you and the merchant, no third parties are involved in that process. So also in BTCPay you can use it as a full node wallet. When you deploy BTCPay you can use Nano Ledger S for example and just use it as a full node wallet for maximum privacy and security. And as I said, I think that centralized payment processors are important at this stage, but that model is not something that makes sense in the long run I think.
Stephan Livera: Excellent. So just with that idea of having multiple people use the same BTCPay Server, can you just explain a little bit just for the merchants who might not be clear on how that might work, does BTCPay Server, does it have segregated wallets and different xPubs, let’s say?
Pavlenex: Yeah, that’s exactly true. So when someone deploys we call those type of people third party hosts. So when you deploy BTCPay Server you have this box which you can tick and say, yes, I want to open registration for other people and then you’re opening your server for other people to register. They input their own xPub key so you do not see that, of course. Whoever deployed it does not see it out of the box that someone even entered the xPub and you can allow those people to connect and receive payments for free. You can of course modify it if you’re a developer to charge fees, charge subscription fees or whichever you want but third party hosts are free BTCPay Server instances which allow other people to join and just receive Bitcoin payments for free without hosting their server.
Pavlenex: And there are, I think, a bunch of those instances. We have them listed if you go to BTCPay documentation you can see third party hosts and you can also read about the privacy issues that can bring because you’re essentially using a centralized payment processor when you’re using a centralized BTCPay Server. I mean the BTCPay Server hosted by a third party. But it’s better for people to read that document because we go quite in detail why it is important to run your own server, which privacy and security advantages and disadvantages are there when you use a third party host, but there are instances, for example BTCPayJungle hosts, I think, 800 merchants so there is just one BTCPay instance allowing people to accept Bitcoin payments for free.
Pavlenex: The thing is anyone can use that, anyone can become a third party payment processor and allow their local community in their country to accept Bitcoin for free or they can modify and charge fees, as I said.
Stephan Livera: Now you mentioned the idea of using it as a full node and with your hardware wallet, so can you just explain that? Because I think some listeners might like to know about that option.
Pavlenex: One issue that merchants face specifically is gap limit in the wallet. Gap limit is usually marked to 20 addresses. What that means is if someone creates 20 invoices on your BTCPay server, you won’t see … your wallet such as Electrum stops following after 20 first is created, they stop following the balance from it, they just think, you know, stop following. In Electrum you can increase the gap limit and you can follow it, but in BTCPay you’re relying on your full node. So in Electrum you’re depending on third party servers, when you use BTCPay you have your own full node. So you can use a BTCPay wallet to send your funds and do not share your UTXOs with anyone. So everything goes through your own funnel, you just plug in your Ledger Nano S and you can send payments. Right now we only have Ledger Nano S integration, but we’re working on adding Trezor and I think you can actually also use Coldcard wallet, it’s also supported. So it’s Ledger and Coldcard are supported.
Pavlenex: And you can use BTCPay wallet in a way more private way. For example if you go to Trezor’s website you use their wallet, but you’re linking your information to their servers, right? You can, in the same way, use your BTCPay wallet, but you’re linking information only to your node, so you’re not linking basically information. It’s a way more private way of using a Bitcoin wallet. I hope that I was clear on that one, I’m not sure-
Stephan Livera: Yeah, I think so. I just wanted to clarify then, so for example, if I use a Coldcard and I put the xPub for that into my own BTCPay Server, could I then use it to sign the transaction itself or how would I do that part?
Pavlenex: Well with Coldcard you could also use partially signed Bitcoin transactions. So it’s also a way more secure way of using it, it’s not something that I recommend for newbies to use. For newbies I think Ledger is way more easier to understand and use, but you can also sign the transaction partially with your Coldcard or any other wallet. We also added an option for you to sign a transaction with your mnemonic seed, but that’s just because we needed for people, to add a way for people to spend from their BTCPay wallet. But if you do not want to, it’s not the best security practice, you need to use Tor browsers and stuff like that. If you want to use, you can use Electrum wallet, maybe it’s better to use it, that way, with BTCPay. So my point is here that BTCPay wallet allows you sign transactions with Ledger, with Coldcard and also your seed if you want, but we do not recommend that you use it.
Stephan Livera: Yeah, I think that might be another handy option that I think a lot of my listeners might not have thought of before. Because it’s not a very well known fact, I would say.
Pavlenex: Yeah, so one of the things that I always like to … I thought that I need to make a video about it because people just did not, are not aware of the possibilities of BTCPay Server. We allow you to connect your Lightning node via just a simple QR code scan, so there are many things that we do not advertise yet but you can do that.
Stephan Livera: Excellent.
Pavlenex: So it’s not just a payment processor, it’s also a very private web vault.
Stephan Livera: I love it, yeah. So let’s talk about some of the guides and the videos, because I think you have been very instrumental in making some of those guides and videos. Tell us a little bit about your experience there.
Pavlenex: So usually open source software has a documentation which is technical and they usually tell you just run this command and you’re good to go. When I first came to BTCPay Server, documentation and everything was exactly like that, made for developers, but for regular people, in order for them to understand your open source software, you need to make it a little bit newbie friendly, guides and videos. What we saw at BTCPay Server is that people nowadays love watching videos and tutorials, so for each new feature that we add in BTCPay I make a video. I explain it, because no matter how hard something is to understand, if you guide a user step by step, do this, click here and you’re explaining why you’re doing that, why it is better, in a 10 minute video everyone can do anything with BTCPay.
Pavlenex: So you just watch a video and you will understand it and that’s why we’re making lots of videos. Our YouTube channel has I’m not sure how many videos right now, but I really try to make a video for every feature we have on BTCPay because people like watching them and it also reduces the amount we have to spend on supporting them because you watch a video, everything is clear, you do not have questions, good for us, we do not have to provide support to you. But yeah, videos are something that I really recommend to other open source software, that they need to find someone because developers don’t like doing videos, even if they do it it’s so technical that I just tell them, “Okay, we’re not doing this video, let me do it in a newbie friendly way so that people can understand it.” So yeah, I recommend to open source software that they should have one of two videos at least to explaining the software to people and just help to use it, help to run it, walk people through that because it really reduces that stress that people have with complicated software like this one.
Pavlenex: So yeah, videos are a great way to get more people to use your software. And yeah, as you said, we really see an increasing amount of users after those videos and documentations and decreasing the amount of support, so it’s win-win for everyone.
Stephan Livera: Great. And do you see any difficulties, I suppose, when you come up with a new feature and then sometimes the old videos are now out of date? So you’ve got to update those?
Pavlenex: Yeah. So that is one thing that we really try to be careful with. When adding a feature, we always try to see how it will change our videos and documentations. Docs are great, you can change them right away, we change them, but with videos, as you said, it is tricky and we try not to make that much breaking features. But at some point we will completely rewrite the user interface on BTCPay and that will be the day when I need to spend a month or two making all of these videos again. But I don’t mind it, I’m certain that when making videos I even learn something new that I didn’t know, so it’s fun for me to make those videos and people like them, so yeah, it’s hard to edit them but yeah, you have user documentation so you can always balance those two a bit.
Stephan Livera: Yeah, and I suppose even though it costs time to make the video, it saves you still because that saves all of these other people coming and asking support questions as well. And it helps people use it.
Pavlenex: Yeah, exactly. It does not cost much time if you get used to it. I mean you can get a decent mic, like this one I have here, and just use a screen recording software, I use Snagit I think it’s called so you can just showcase. It’s really not that hard I think. So yeah, people make videos for your software, it really, really helps users and it will decrease the time you have to spend supporting them.
Stephan Livera: Great. Let’s talk about the BTCPay Server community. What has your experience been in building that?
Pavlenex: I must say that BTCPay Server community is one of the best communities I’ve ever came into and experienced. People are so open there, it’s quite different from other Bitcoin communities. We really try to help each other, support each other, everything is open. BTCPay for me is like an open organization because everything is open. Each change, each decision is discussed publicly so everyone can see what we are working on. That way you get people’s feedback. So when we want to add a feature in BTCPay, we discuss it with our community, we ask people on Twitter, we ask people on MatterMost what they think and that’s how the best idea always wins, no matter where it comes from. The best idea always wins and that is why closed source software will never be able to beat open source because even for our website we have 20 people, or 15 people constantly providing feedback to developers of our website and our website is pixel perfect, it works just because everyone is so excited about it and everyone wants to help in a way. And people provide feedback and help us improve everything. So everything is openly discussed, it’s really a pure joy to be a part of such a community.
Pavlenex: Building such a community can be a bit hard because you need to channel all that energy that people have. Everyone wants to help, everyone has some sort of idea and how do you choose the best one? So, as I said, we always discuss the ideas but sometimes you need to say, okay, this is a bad idea because such-and-such reason, technical or UX reasons and, yeah, you need to communicate that idea to people so that they do not get frustrated or offended. You need to engage them to maybe improve that idea or provide another one and I think that we are quite good at that because we try to get the best out of everyone who wants to help us build BTCPay. We do not dismiss them in any way. When someone new comes to BTCPay community chat and they say, “Hey, I want to help.” I usually approach them in private and ask them, “Okay, what are your skills?” “I’m a designer.” “Okay, could you make us a poster for BTCPay?” “Okay sure.” And then slowly step-by-step they get bitten by the BTCPay bug because they get addicted to helping.
Pavlenex: When someone provides or works on open source software like BTCPay, I at least feel that I’m on a mission from God and I’m not even a religious person, but it really gives you the good sense in your heart that you’re working on something good and that you’re helping someone, that your work is appreciated and that you’re helping in making something very big.
Stephan Livera: I love it, that’s great. Let’s talk about what open source tools that you guys use when you’re working on BTCPay Server. I can think of already you’ve got MatterMost, you’ve got GitHub, go on.
Pavlenex: So the first software we use is of course GitHub, that’s where all development happens there. Second we use MatterMost, I will now show you I have their pen because I’m their fanboy. MatterMost is an open source solution to Slack. In the past we had our community on Slack and we had over 1000 users out there, but we really felt that as an open source project we really needed to use something that is open source. So we migrated to MatterMost and MatterMost is a fantastic piece of software, I would recommend it to any open source project out there. It is also free and if you want a better license they will give it to you. If you’re an open source software, they will give it to you for free. So it’s an amazing piece of software and we run it on $10 virtual machines, so it is incomparable to Slack where you need to pay that amount just for a single user that you have.
Pavlenex: So we also use Transifex, Transifex is also great software. You can discuss that with Britt Kelly, she handles that. It’s a software that helps us translate BTCPay software, website, videos, everything. They also provided us with the free and open source license for us to use. And I think there are a few more but I cannot remember them now. But basically we use a lot of open source tools. We try to use everything open source because we’re an open source project.
Stephan Livera: How about this project that you’re running as well, it’s called BTCPay Server Merchant Directory, what’s going on there?
Pavlenex: So that’s one of the ideas that we recently started to implement into BTCPay. On MatterMost we divide channels into small projects. So let’s say someone has an idea and wants to make, as you said, BTCPay Merchant Directory. So we create the private channel, BTCPay Merchant Directory and I ask people in public, who wants to participate into this small team? Let’s create something. People volunteer and that’s how, in all of those small channels, there are all sorts of people discussing things and making software, improving it. We have designers, testers, we have marketing people, everyone likes helping.
Pavlenex: So Merchant Directory is actually a website which we’re working on. I think it should be ready in, I think, five or six days. Basically we want to help merchants advertise themselves. So they will, we will have Merchant Directory which will list all BTCPay stores, projects, apps, whatever people are working on they can submit their project there and we will list it for others to showcase it, for others to see, read about it and click a link or maybe test it or buy something. As I said, being a Bitcoin merchant is sometimes hard. Advertising platforms like Facebook, Google, they ban you. I experienced that with Bitcoin Shirt. I made an ad and they simply banned because it just mentions the word Bitcoin so merchants do not, especially those accepting Bitcoin, do not have a way to advertise themselves. That’s not something that’s known that much, but it’s really an issue because we are subject to censorship in that way.
Pavlenex: So merchants either post on Reddit, spam the Reddit and people are not happy about it or they use their Twitter to promote their store, so we are trying to make a website where merchants using BTCPay can get the word out and people can buy from their stores and stuff like that. So I think it’s a very nice little project, it’s very simple, anyone can contribute and, as I said, we engage people. We now have five or six new contributors working on that single thing and they feel happy about it, they’re excited, we just help them with the direction in which that has to go. We do not order them what to do or anything, we just let them develop something good and I think that you will be happy when you see that Merchant Directory live. So it will be very good.
Pavlenex: We also have channels for websites and stuff like that, or MatterMost, so we have small teams, I call them task force teams, so they are just small teams working on all sorts of things. And it is a way better way to organize open software like that. So small teams working on different projects.
Stephan Livera: What about working with Rockstar and his Rockstarism philosophy, what are your thoughts on that?
Pavlenex: Yeah, so Rockstar is my favorite person, besides, of course, Nicolas and Kukks, I love those guys, Rockstar is an amazing psychologist. I talked about him in one of my tweet storms, but Rockstar seems like a goofy guy, nobody takes him seriously at first because he’s Rockstar, he always has some joke to tell, you know? But actually he’s a great psychologist. We are so lucky to have him inside our community because he has that talent to notice when someone in the community is not good and that’s very important. And I do not know how he has time to talk to all these people, but when someone … you see that people are just, not toxic, but they’re just not themselves, so Rockstar creates a session, video session with them and talks about their problems and he solves their problems and we call that Rockstarism.
Pavlenex: And you shouldn’t do Rockstarism when you drink because it won’t work with girls. I tried it and, yeah, I was not … that does not work with girls when you’re drunk. So Rockstar is sorry but your Rockstarism does not work well for me with girls. But for other things I think it works, it helped me find my focus, what I’m happy about, so thank you God Rockstar for your Rockstarism. But to be back on point it is very important to have people like that in your community. I mean Rockstar is a developer, he’s a marketing guys, he’s a product manager, whatever, he has all sorts of talents but first of all he’s very good with people and getting the best out of them. And I think that is very important, so yeah, thank you Rockstar for that.
Stephan Livera: Fantastic. All right, Pavlenex, let’s talk a little bit about how you think BTCPay can be improved.
Pavlenex: So Stephan, one great thing about BTCPay is that it works the way it is. It is great, people use it, people are happy. But there is an insane amount of improvements that we can make to make it so much better, so much easier to use to get people, even less tech savvy people to it. So first of all I hear from people that BTCPay UX is good. I have never seen an open source project with the UX like this. My opinion is that it is not good, we still have a mountain to climb when it comes to UX so if there are any UX people out there looking to help or work on open source software, please come to BTCPay, we will be happy to help you out and ask you for tips and help.
Pavlenex: So first of all we need to improve that UX. Personally what I would love us to improve is that initial set up process. So you set up your BTCPay server and then you need to create the store, create your account and connect your wallet. I would love if we could connect those three steps into one. Imagine that you can just plug in your Ledger and it creates everything for you. That’s one way I think that we may be able to reduce two steps, with Ledger, it creates your account, it secures with U2F authentication and stuff like that. Furthermore, sometimes in this era of course when everything is mobile, I would really love if we could have at least a remote BTCPay Server app for a start, which would allow you to scan a QR code and remotely manage your BTCPay Server. Unfortunately we do not have that many mobile developers out there, so again, if there are mobile developers who want to build BTCPay up, come to our chat and let’s discuss it.
Pavlenex: And besides that, one day I would really like if we would be able to run a full node on a mobile phone and BTCPay Server running on a mobile phone for people. We are still not there, there are many things before that we need to do, but if we manage to do that that’s going to be crazy. Imagine just installing an app and running a full node with your BTCPay Server. It’s like having your own bank in your pocket and that’s crazy, that’s one of many dreams I have for BTCPay.
Stephan Livera: That’s awesome.
Pavlenex: But yeah, so yeah ease of setting up, UX and mobile app are top three things. And also if there are developers out there, we have all of our GitHub issues labeled, UX, UI, you know, good first issues, so everyone can … people who want to help us can tackle those issues, we try to manage them very clearly so that they can help us out easier.
Stephan Livera: Yeah, that sounds awesome. I think that’s a great vision to build towards. I want to finish on this other point that you were making, I saw you making it and you were saying that essentially BTCPay Server adoption in some way actually helps Bitcoins decentralization. So a quick example, Luke Dashjr has spoken about how he believes something like 85% of Bitcoin’s network should be running a full node to help protect Bitcoin. I think you were touching on that. Do you want to expand on that?
Pavlenex: Yes, sure. So one of our goals actually is to make running full nodes fun and easy. People will run a full node only when they have a benefit of running it. So if your full node allows you to have Lightning node, you will run it of course. We see an increasing amount of nodes now because of BTCPay Server, because of all those Lightning apps, software, you know? So our goal is to increase the amount of full nodes on the network because it is the only way any of us in the community sees, that is the only way Bitcoin should go. So of course not everyone will run a full node but if we can get as many people as we can, that would be great.
Pavlenex: When you deploy BTCPay, as I mentioned already, you’re running a full Bitcoin core node, you’re running a Lightning node and all other things that maybe Kukks can touch up on the architecture later. I can, but I will leave that to him because he’s tech savvy, but as I told you it is my dream that anyone can run a full node, especially every merchant out there running a full node. And I think that BTCPay can make that happen. One of the ideas that I have is if a big or any point of sale company implements BTCPay Server on their own hardware, imagine millions of merchants out there running full nodes. The impact for the network would be crazy. I mean can you imagine some small shop just running a node without even knowing that they’re running a node, that’s the ultimate goal. People should not be scared of running a full node, it should be fun, it should provide you with the features that you otherwise would not get and it should be implemented in the way for people to not even be aware that it is implemented.
Pavlenex: So if we can get as many merchants running full nodes that would be great because for them it is also important their node validates all of the transactions they receive, it makes sure that nobody’s cheating them, it makes sure that everything is running nicely and secure and that you’re making your own rules on the network. So it’s your vault on the network and people should be running a full node. Especially merchants.
Stephan Livera: That’s a great vision to really finish things off with. So look, Pavlenex, lastly before we let you go, let’s make sure, just tell the listeners where they can find your if they want to follow you online and where they can obviously keep up with BTCPay Server.
Pavlenex: Yeah sure. So first of all BTCPayServer.org is BTCPay Server’s website. We have documentations there where you can read more about BTCPay, we have videos where you can watch everything that I just talked about, you can find me on Twitter at Pavlenex. Sorry, I have no idea how to spell it.
Stephan Livera: There’ll be a link.
Pavlenex: Yeah. So you can find me there. You can visit my shop, BitcoinShirt.co and you can find me on BTCPay Server MatterMost if you have any questions about BTCPay Server at Pavlenex. I’ll be happy to help you out, set it up and even talk about the ideas you have for BTCPay Server. So just ping me and I’ll be happy to talk to you. And you can also ping Rockstar if you would like some philosopher to help you out with your life, you can ping Rockstar.
Stephan Livera: I love it. All right, well look, I think that’s pretty much it. So thank you very much for coming on the show.
Pavlenex: Yeah, thanks for having me, Stephan, it’s been a pleasure.
Stephan Livera: So there you go. Make sure you share this particular episode with some of your friends who are looking to use BTCPay Server as a merchant and this will give them just an overview on some of the key things to think about in terms of how they would set it up for themselves. If you want to find the show notes you can go to StephanLivera.com and just keep an eye out for the upcoming episodes. We’ve got a few more to come in the BTCPay Server series. That’s it from me, thanks for listening and I’ll speak to you soon.