Grant Application - Fix BTCPay Zcash plugin

So your answer to pacu’s post is that you want to submit a grant. Seriously?

Rejected.

It would be nice to have some technical details first instead of having to wait for the grant to be approved.

Could you explain how you came to this conclusion? Which part of the module are you referring to? The ASP.NET integration? Or Rust lightwallet client RPC server? @hanh is one of the most respected Zcash developers and thanks to his wallet Zcash remained usable during the spam attack, with YWallet/Warp Sync. He has a deep understanding of the Zcash protocol/stack. It would be great if you could share some examples of projects that your developer has worked on, or GitHub profile.

Am not quite sure what stops a regular developer with knowledge of Docker from deploying BTCPayServer with ZEC support? Yes, the original grant didn’t include a maintenance contract, so some small fixes are needed such as for BTCPayServer 2.0 and version 5 transactions, since the original project was developed over three years ago. You are proposing taking control over the BTCPayServer Zcash plugin repository, but I don’t see a clear plan for active maintenance. Would the grant include yearly maintenance support, and how much funding would be required for this?

He has been responsive to forum replies. I understand that you’re frustrated with the reception to this application, but this looks pretty disrespectful.

I like this suggestion/comment.

Two quick notes:

  1. When Zallet is ready I’m pretty sure we can just point BTCPayServer at its RPC and it will do most of the work, my assumption is that it will be very close to Bitcoin RPC in terms of addresses and wallet management.

  2. Grants are useful for helping developers prioritize things that the community believes are more urgent than the developer does, money talks. I’m too busy to start working on this now, but I want my business to accept ZEC, which I think will make it to the top of my todo list in April range. Also starting on this work before Zallet is ready feels like reinventing the wheel, I’d build this on zcashd if I had to do it urgently today, but would use Zebra+Zallet if I built it later.

I’m all about businesses accepting Zcash!

1 Like

i find it commendable that they are interested in integrating zcash as a means of payment for their business and that after almost 8 years of existence.

However, you seem to be almost the only merchant here for whom this is so important now, and that says a lot about the actual use case in the future. To make matters worse, not only merchants want to use this plugin but also their customers are willing to buy with zcash. If there really was a worthwhile demand, merchants would have contacted zcash a long time ago.

Zenith’s RPC is already available.

4 Likes

Okay. This has been such an incredibly exhausting, frustrating, discouraging process. I see that the committee has put some notes and questions about this grant application into their meeting minutes, but I am too exhausted from dealing with this thread to even think about answering the committee’s real questions.

1 Like

No. That’s not going to happen. This is the last time I’ll post in this thread. I’ve passed my limit.

For the people on the internet who are just reading all this with no background, you should know that before I wrote up this grant application, there was a period of a few weeks where I communicated in calls with an ambassador from the grant committee. I told them that in the process of talking about the original Birdcalls integration grant, we’d become aware of the BTCPay problem, and that the BTCPay problem seemed urgent and important to take care of immediately. I asked the committee if they had anyone internally who could take care of the BTCPay problem because I didn’t want to step on anyone’s toes, and they told me that the only people talking about it were people who didn’t have a great reputation for follow-through on previous grants, and so our help would be appreciated, and to please submit the grant proposal.

So just to make this very clear to internet readers: what you’re witnessing here was a solicited grant application.

Another thing that has me at my breaking point:

Quote from the Birdcalls proposal:

What’s surreal and exhausting about this repeated critique is that not only did I directly address it already in the application itself, but I’m pretty sure I’m the person who brought awareness to the Zcash community grants team that maintenance was important in the first place:

When we first submitted our analysis of the Zcash BTCPay module two years ago, we realized that the Zcash ecosystem was littered with projects that had been completed for grant funding and then abandoned. So when I wrote up the original Birdcalls updated grant two years ago, I specifically included that milestone payout for 1 year of repository maintenance. I remember that it was really scary to put that in because it wasn’t the way that things were done back then and I was afraid I’d get ripped up in the forums for asking for it. But I saw that there was a toxic culture in the community where people didn’t understand that it’s always their continued responsibility to maintain their code, so I thought it might be helpful to model out a structural fix in the form of a milestone payout specifically for maintenance.

I didn’t do a maintenance milestone payout here, because when I talked to the committee ahead of time, I told them that it sounded like they had a minor emergency on their hands that needed to be dealt with as quickly as possible. So I just wrote up the grant proposal as quickly as I could, so that we could get to solving the immediate problem as quickly as possible.

Another thing that’s surreal to me is that y’all don’t seem to care that BTCPay is talking bad about you. If I were a decision maker here, and I saw that a big, reputable payment gateway service like BTCPay was calling out Zcash for shoddy work, I would consider that a reputation emergency to be fixed immediately.

Don’t y’all live or die based on the value of ZEC? Don’t individuals make their decision to buy, hold, or sell based on the reputation of the coin? If I were trying to decide whether or not to hold ZEC, and so I did an internet search, and I came across that BTCPay thread where BTCPay is calling out Zcash for shoddy work, seeing something like that would make me change my mind, not buy ZEC, and go buy another coin instead.

It just seems so clear to me that it’s a reputation emergency, and as such, it ought to be taken care of quickly, and done well.

What I’m hearing here is that you want my developers to do their work for free, immediately after lowballing us over and over. It’s so, so disrespectful. I’m not going to show up for it any more.

Another thing I thought would be very clear is that Birdcalls is competent to solve this problem. We pointed out the problem to you TWO YEARS AGO. Now BTCPay is echoing what we said you TWO YEARS AGO. Isn’t the fact that we pointed this out to you two years ago proof enough that we can handle fixing the problem in a way that will make BTCPay happy and help restore your good reputation?

I agree that it’s disrespectful. I really tried hard to be more diplomatic, but it got to the point where so much disrespect was being flung at me that I felt like the best way to maintain my dignity was to just speak truthfully and plainly. It’s great that hanh has done such great work with YWallet. I’m so glad that the community has him in that capacity. I don’t know anything about that. All I know is that, in this forum, regarding BTCPay, while he was responsive yes, a lot of time that he was responding he would ignore the parts of the critique that were valid and instead try to deflect attention onto something that put him in a better light. I thought this would be obvious to other people reading the forum and that I wouldn’t have to be rude and point it out, but here we are. Apparently only aggressiveness is rewarded in this culture. Real prisoner’s dilemma you got here.

This is another thing that’s surreal to me. If you go back to the original discussions about there being a problem with hanh’s BTCPay module, for a while hanh kept trying to insist that there was nothing wrong with his BTCPay module except that people didn’t use it.

So then he built up this whole deflection thing that turned into the commission-based salespeople idea. The idea itself is good and I told him so in an earlier post:

But I want to make it clear here that the whole reason that this became a theme that bubbled up to the top of the grant committee notes, is that hanh was trying as hard as possible to not have to take accountability for the criticisms that BTCPay was leveling on him.

I’m not saying this to be aggressive. I’m saying this because as a project manager who wants Zcash to be healthy, I think that’s a really scary trait to see in your culture. If the culture rewards problems being swept under the rug, then you’re doomed.

That being said, though, I think that probably the reason that hanh does it, is because this forum IS genuinely psychologically unsafe. To be clear, the definition of “psychological safety” in teams is that team members believe that they can take risks without being shamed by other team members.

Wikipedia ought to put a link to this forum in a section on examples of psychologically unsafe spaces.

What is the goal of this forum? Is one of the goals to attract new competent developers who might want to submit a grant proposal to Zcash in the future? How many competent developers might be silently reading this thread this week, and are now silently thinking to themselves, “Wow, remind me to never submit a Zcash grant.”

Furthermore, how many people this last month saw the BTCPay thread calling out Zcash and then silently sold their ZEC?

And, how many BTCPay businesses over the last few years told their developers, “We’d love to support multiple coins, I don’t know which, you decide," and then the developer implemented Monero but not Zcash because Monero was the one that clearly worked?

At Birdcalls, we call things like this “silent killers.” It’s so easy to ignore them. It’s so easy to pretend that they don’t exist. And then you have no idea why you’re failing.

This theme is the absolute final straw breaking point for me. This part seems like just straight up gaslighting on the part of the entire Zcash community. I just can’t even. Y’all paid hanh $120k to build the original BTCPay Zcash module in a way that BTCPay themselves said wasn’t usable. Hanh also didn’t document it properly and he didn’t maintain it. Nobody in the community ever expressed any sentiment that this original $120k was an exorbitant price that shouldn’t have been paid. So it just seemed logical to me that if Birdcalls were going to rebuild the module in a way that BTCPay approves of, properly document it in a way that BTCPay approves of, and then maintain it like respectable developers, that surely a logical, reasonable price point for this ask would be 1.2X of the original. What didn’t I understand? Maybe the thing I didn’t understand is that there’s a secret double standard in the community? Is it that there’s prices that Hanh can charge, and then there’s a different set of price points for outsiders? I’m genuinely bewildered here.

Birdcalls was genuinely just trying to help. But, at this point, from the beginning of my calls with the committee, this process has taken a month of my life. It was a miserable experience. I don’t think you realized that while you were interviewing us we were also interviewing you.

We care about value-alignment. One of our core values is to be able to warmly embrace uncomfortable truths and discuss them productively and cooperatively. In this coliseum-esque defend-to-the-death, grant-proposer-alone-against-the-community forum culture, I have seen no evidence that Zcash is currently capable of that. For that reason, Birdcalls withdraws our grant proposal. We are no longer interested in fixing the BTCPay module for Zcash.

Over and out,

Sunny @ Birdcalls

PS For anyone else out there, Birdcalls is a team of developers who run The Internet Phone Booth. We also function as mercenaries-for-hire. If you’d like to hire us to do a job, - perhaps build a payment gateway! - we’re available.

I don’t love social media, but recently we’ve been experimenting with hanging out on ig. It’s pretty relaxed over there. You’re welcome to say hello.

1 Like

You can certainly criticize Hanh for what he has done so far, but not how and not for everything.
But that goes for you too. It is important that the community thinks three times about what is being approved here and especially for what. (I also believe that many, many developers here could support zcash much more efficiently with things that would have real benefits.)

That they are now shifting the responsibility onto Hanh is simply wrong.

If you look closely, it was not Hanh’s fault but that of those who are constantly approving some nonsense. But after this discussion, I am confident that it will not be so easy in the future and I am very sure that once potential developers realize that it is no longer so easy to get funds from Zcash, this will ensure that the suggestions and ideas have to get better so that Zcash has real use but also so that the developers get funds approved in the first place.

1 Like

Am sorry that you feel this way. I think there are valid concerns about the cost of the grant given that there isn’t any guarantee that merchant adoption of the BTCPayServer ZEC integration would improve and there seems to be mixed messaging about whether it would involve fixing @hanh’s existing implementation, or be a rewrite from scratch; there would be a considerable difference in cost based on these two approaches and I think it would be fair for the community to request a technical assessment re this.

I’m supportive of your suggestions around trying to get existing BTCPayServer merchants to start accepting Zcash such as Namecheap, and the idea of unlocking grant milestones/funds based on the success of this could be worth taking forward. Doing the minimum amount of technical work to fix the current integration, then working towards increasing merchant adoption and improving documentation would be great.

BTCPayServer is a bitcoin-first project that is not known to be the most accommodating to altcoins, and this style of communication is normal in the open-source world where many people are volunteering their time for free and don’t want to be burdened with maintaining too much code. Also, they are not asking for a whole new implementation to be created from scratch, but for the current one to be maintained; they’re not critiquing the quality of the code.

I don’t believe there was anything wrong with the implementation two years ago? I ran into some errors when trying to run it over the past couple of weeks, but these don’t appear to have been raised by anyone else, and @hanh has gone out of his way to work on updating zcash-walletd to NU-6. Re Docker Compose fragment integration and documentation, I don’t believe this should be more than a couple days work, and this was outside the scope of the original grant. Also, for extra context, the ASP.NET part of the Zcash BTCPayServer integration is mostly code that was reused from Monero’s integration.

Wow, not sure what to say to this; if you feel that anyone has been hostile, you’re free to take it up with a moderator. Also, this is a public forum, not a workspace.

I wish you and your team the best of luck with Birdcalls. Again, am sorry to see you so frustrated and that you feel the need to withdraw the grant proposal.

3 Likes

My personal opinion is that, according to the laws of the market, demand begets supply. And never the other way around. The only exception is when supply deliberately generates demand with the help of advertising.

If Tesla had decided to accept Bitcoin or Zcash for whatever reason, the lack of an off-the-shelf payment gateway wouldn’t have been a hindrance for them. That’s not how businesses behave. And if there is a demand for it, they would just order it themselves. They would adopt it not because there is a gateway, but because they saw a demand for this type of payment. And even if Tesla came to this forum and said we need a Zcash gateway to do business, I would answer them that you have to fund it yourself, because it’s you yourself who will make money from it, not our community.

If some other type of business realized that transparent bitcoin payments were not the best option for them, because people started to realize the vulnerability of those payments, they would come here themselves with a proposal.

The mere fact that the gateway exists, as well as the fact that ZGo! exists in an archive not add value to Zcash in and of itself. Value is created by the demand for payments. These processes cannot be reversed.

As for the credibility of the project in the eyes of bitcoiners - that’s the least of my worries at all. They themselves have no credibility from average Zcashers because they ignore the vulnerability on the surface.

PS

Supporting local communities is not nothing. And if possible and the market allows it, then is necessary according to the same logic:

  1. Local communities spread information about Zcash to new users, generating potential demand.

  2. They can’t be backed by funding from anyone else but ZCG. At least I have never heard of such cases.

5 Likes

By the way, I paid for NordVPN in 2018 with Zcash and they supported it.
This was provided by BitPay, for whom the payment gateway is a separate business, as it was paid for by commissions.

And today they don’t offer payment with cryptocurrency at all. Apparently they think that there is no demand for this type of payment, that’s all.

2 Likes

I’m glad Birdcalls have withdrawn the grant application as I’m getting a huge sense of entitlement and aggressive tone reading these posts.

Do you just expect that a $150000 grant will be approved with no scrutiny / commentary from the community? Surely you’d expect that, especially seeing as you think the community is toxic.

Instead of reading this thread and thinking “Wow, remind me to never submit a Zcash grant.”, many might think “Wow, remind me never to work with Birdcalls”

Anyway, I agree with others that there doesn’t seem to be any real demand at the moment for a new BTCPay plugin.

Best of luck in your next endeavour.

3 Likes

Why don’t the zcash devs simply develop a ZECPayment server that merchants can then use for a small fee per transaction.

I completely agree with you, if any companies want to use zcash because of its unique privacy function so that their customers are protected then they should also be prepared to pay something for this service. If a merchant uses mastercard/visa he also has to pay up to 5% per transaction. That is not free for the merchant.That would be a great opportunity to work on something that also brings a return for zcash when used.

@joshs In my opinion, Zcash needs a business and development department to offer security solutions for transactions but also for the inventory management system and intranet of a company. Cybersecurity in companies is becoming increasingly important.

They want zcash to be used, then they go that way and grow up by developing and offering real world utility solutions. Which are then used in real life on a daily basis. Think of crypto as a playground. Crypto will not secure the existence of zcash nor will it bring any real benefit but zcash can bring real benefit to the world and I don’t mean any bridges from network to network.

2 Likes

ZGo already exists and probably is best fit to fulfil the purpose of a “ZECPayment server”. The problem with having a separate payment processor for each cryptocurrency is that merchants have to make the choice of accepting only one cryptocurrency or go through the burden of having multiple payment processors which will most likely be run in addition to Stripe/Paypal. If going down this route, they should have a pluggable API, i.e. RPC/REST API that can be unified into a single UI and invoicing system.

It’s going to be a lot harder to onboard merchants to Zcash if you tell them that they can’t also accept bitcoin. BTCPayServer makes the most sense as a solution that supports both bitcoin, Zcash and other cryptocurrencies.

We should encourage businesses to use self-custodial and open-source solutions that they can run on-premises. A transaction fee goes against this idea, unless it’s an optional feature that merchants can opt-in/out of. I like the idea of suggested donations for each transaction and this is something I plan to work on.

2 Likes

Not for every crypto a own payment processor. A ZecPaypment processor that also supports other cryptocurrencies.

But to be honest, I’m not really a fan of it because I think it requires the merchant to have technical understanding. Solutions for merchants should always be as simple as possible. Preferably plug and play without the risk of loss. But forget my suggestion. It was just about building something as a zec version instead of an extension for the btcpaypment processor.

Yes, the idea is good, but the crypto world is still miles away from that.

As I said, it has to be simple, preferably plug and play without any real knowledge and, above all, secure. For merchants, in this case, and to make it suitable for mass use, I clearly see the advantage of a centralized, secure all in one solution like https://www.coinbase.com/de/commerce.

Yes, that’s perfectly fine if they want to develop it for free, as long as zcash doesn’t have to pay for it. But as soon as zcash has to provide money for the development, it’s perfectly legitimate that something has to refinance it.

What I really think is best would be an all-in-one business solution for merchants developed and maintained by zcash that secures transactions and the merchant infrastructure.(Not for free) :slightly_smiling_face:

1 Like

That was the idea behind btcpayserver. Like many open source software platforms , there is a self hosted solution and a “as a service one”.

zcash can be offered as a service but since the demand didn’t show up, they didn’t include it.

If/when merchants want to accept zec, I think we just need to upgrade to UA and orchard, (or remain sapling if we don’t want to modify the plugin.)

2 Likes

It’s good that you were so open and communicated this from the beginning, even if you would have benefited from it. As I said before, your opinion regarding the submission of grants in the future is helpful and welcome. :muscle:

As i read, if zec is accepted, all zec payments will be converted to btc.
If this is the case, this is also a point that bothers me at this solution.
And then there is actually a lack of demand from merchants, but there also needs to be customers who would use zcash, and not just merchants who offer it. If the BTCpayserver with zcash extension were approved the project would have cost 270k by then and the running costs would not yet be foreseeable. If at all, and only in the event of strong demand from merchants and customers, the plugin should be repaired, but not developed from scratch.