Wallet Integration

Not a very technical person here, but is it possible to integrate functionality into a zec wallet? is no KYC token swap service which accepts shielded zec from a sapling address only at the moment, however it would be a useful way for people to use their shielded zec and provide some anonymity on other chains

I can’t find an exact number on the fees for the service, but anecdotally they seemed pretty low when i used the service.

I’m interested to hear your thoughts on this one


i think its in nighthawk already, would be cool to see it on other wallets too :+1:


Yes it does, I don’t personally use it but someone out there is always tweeting about swaps they do and I think it’s with this not sure

1 Like

Ah i see, looking at thay screenshot it appears ypu can only fund your wallet. I would like to see a way where you can pay for things in any crypto and you use your shielded zec as the source of funds and the wallet swaps everything in the background

Ie choose outgoing address and crypto type, then just confirm swap quote.

I will give it a go though, i havent looked too deeply at nughthawk as i couldnt get it to sync when i first downloaded it


For the current implementation, we decided to redirect the user to an external website, outside the app as we were not in control of the swap experience.

In the coming future, we have plans to integrate deeper with third-party services like following collaboration with their team and simplifying the user interface when swapping cryptocurrency within Nighthawk.


Thanks for the reply, this sort of integration would go a long way for UX imo and give people an easier way to store and use their shielded zec


That’d require the wallet to support multiple currencies. At least BTC and ETH. It is one of the motivations behind adding support for these currencies to Ywallet.


Not necessarily right? If all swap activity was going through sideshift behind the scenes then you wouldnt need to store btc or eth in the wallet.

That being said having btc and eth capabilities in a zcash wallet is probably not a bad thing

1 Like

Then there is no real value to have a wallet, is there? You are just launching an external website and you are storing your coins in another wallet.

1 Like

Correct me if I’m wrong, but I think the idea here is Flexa style payments, where I can store shielded ZEC but the payee can receive the funds in Bitcoin, without the payee being able to see the payer’s details.


Flexa is different. They are custodians of your funds. You send them your ZEC and they give you a balance that you can spend in other crypto currencies at a POS.
Sideshift works as an automated escrow service. You also send them coins but they only hold them for the duration of the swap.

1 Like

Yes exactly this, not sure RE flexa but having this swap integration in a wallet would be a good use case, and would make it simpler for people to store and use their shielded zec with flexibility. Rather than having to go to directly to the website (which they might not know exists), it removes this step entirely

That step is redirecting you to a website?

Remeving the steps of

  • Going to a website
  • Choose which coins you want to spend and receive
  • Going back and forth between the wallet app and the website

I think this solves a problem for a user who:

  • Only wants to hold ZEC
  • Need to send some BTC/ETH/USDC to someone
  • Wants to receive BTC/ETH/USDC and converts them immediately into ZEC

Having that ability in one app with a few steps is neat.


Yes imo being redirected to a website is a painful barrier for UX, having that backend connection to sideshift all done within the wallet app without the user seeing any of it is magnitudes better

1 Like

You would still need to do that with the second leg of the swap…

If that is all what you are after, you can trivially integrate with them.

Consider this user story:

As a user who only holds ZEC, I want to be able to immediately send BTC to my friend’s BTC address without needing to use a separate app. I need the ability to input my friend’s BTC address and select the amount of BTC I wish to send, and then have the ZEC in my wallet automatically converted into the appropriate amount of BTC based on current exchange rates. After confirming the details of the transaction (including the ZEC amount I have to spend, the final BTC amount and the recipient address), I click send button which automatically signs the ZEC transaction to the swap service address which will send the BTC. I expect the BTC to be sent to my friend’s address within a few minutes, with a notification or confirmation of the successful transfer provided for my own records.

The above assumes that a user experience of sending ZEC and sending BTC is very similar from the wallet UX perspective.

I don’t know if it’s trivial or not, but I don’t think any Zcash wallet supports it.


Yes, that is simple. It is just a bunch of REST calls.

I would argue that it isn’t much easier or faster than doing it from their website.

1 Like

Personally, swapping between a browser and an app, to copy and paste an address is a stressful experience it is much more enjoyable to scan a QR code from the app itself and not have to visibly interface with another service at all

1 Like

My point is that you would still have to do it because of the other leg.
You either copy paste in your wallet and the wallet sends it to the website, or you copy paste it on their website.

1 Like