# Zcash Extensible Wallet Interchange Format (ZeWIF) Meeting

**URL:** <https://forum.zcashcommunity.com/t/zcash-extensible-wallet-interchange-format-zewif-meeting/49927>\
**Category:** Community Collaborations\
**Created:** [January 3, 2025, 10:59pm UTC](https://forum.zcashcommunity.com/t/zcash-extensible-wallet-interchange-format-zewif-meeting/49927 "2025-01-03T22:59:02Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![BC-Shannon](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/bc-shannon/32/30022_2.png) [@BC-Shannon](https://forum.zcashcommunity.com/u/BC-Shannon)\
**Post date:** [January 3, 2025, 10:59pm UTC](https://forum.zcashcommunity.com/t/zcash-extensible-wallet-interchange-format-zewif-meeting/49927/1 "2025-01-03T22:59:02Z")

</div>

Hey Folks,

Blockchain Commons & Zingo Labs were recently awarded a grant to produce a ZCash Extensible Wallet Interchange Format, libraries for moving things in and out of the format, and a ZExCavator tool to extract and export content from Legacy wallets.

The first step, which we’re taking in January, is to survey and report out on what data is being stored in current wallets, so that we can accommodate all widely used data in the interchange format itself (which we’ll be designing in February).

We’d like your input!

Tell us what you think is particularly important in your wallet data, what we might miss as we survey, and what’s important for you as a feature in the new interchange format.

We’re happy to receive any input here, but more importantly we’d like to invite you to a meeting on Friday January 24th at 10am PT (1pm ET, 7pm CET) to discuss the topic.

WHERE? Zoom ([Launch Meeting - Zoom](https://us02web.zoom.us/j/86565418494?pwd=gaWzreS9TgMW1sO7NCX1uFJlmilYMi.1))  
WHAT? Zcash Wallet Developers Meeting  
WHEN? Fri. January 24th, 10am-noon PT

We expect to have initial surveys fully done by that point, covering wallets such as Zcashd, Zecwallet, Zashi, eZcash, and Zingo!, but we want to make sure our final report of wallet contents (scheduled for the 29th) is as comprehensive yet focused as possible, as it’ll be the basis of the interchange format, and that’s where you can help.

Hope to see you there, but if not, as I said, comments here are very welcome.

Shannon

---

<div class="post-metadata">

**Author:** ![BC-Shannon](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/bc-shannon/32/30022_2.png) [@BC-Shannon](https://forum.zcashcommunity.com/u/BC-Shannon)\
**Post date:** [January 7, 2025, 11:23pm UTC](https://forum.zcashcommunity.com/t/zcash-extensible-wallet-interchange-format-zewif-meeting/49927/2 "2025-01-07T23:23:13Z")

</div>

Hi Folks,

We are moving to the 24th (10am PT still) with the Z|ECC Summit. On the bright side, we’ll also have the complete survey done by that point, for anyone who wants to review in advance of the meeting. (The final report is still scheduled for afterward, on the 29th.)

I’ll update the original post.

Hope to see you there!

---

<div class="post-metadata">

**Author:** ![pitmutt](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/pitmutt/32/20544_2.png) [@pitmutt](https://forum.zcashcommunity.com/u/pitmutt)\
**Post date:** [January 9, 2025, 2:52pm UTC](https://forum.zcashcommunity.com/t/zcash-extensible-wallet-interchange-format-zewif-meeting/49927/3 "2025-01-09T14:52:25Z")

</div>

For Zenith, we would need at least the seed phrase and the birthday height. It would be great if the format included a list of derived accounts and the indices of the addresses that have been derived for each account, including change addresses.

---

<div class="post-metadata">

**Author:** ![james\_katz](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/james_katz/32/26780_2.png) [@james\_katz](https://forum.zcashcommunity.com/u/james_katz)\
**Post date:** [January 9, 2025, 3:23pm UTC](https://forum.zcashcommunity.com/t/zcash-extensible-wallet-interchange-format-zewif-meeting/49927/4 "2025-01-09T15:23:08Z")

</div>

I was working on a project called `uzw-parser` or Universal Zcash Wallet Parser:  
[https://github.com/james-katz/uzw-parser](https://github.com/james-katz/uzw-parser)

### Concept

The idea was to create a lib that can parse many wallet formats and export into a common rust structure, so it can be used to extract seeds, keys or even convert to another formats.

Here’s the basic struct:

```rs
pub struct WalletAccount {
    pub name: String,
    pub seed: Option<Vec<u8>>,
    pub birthday: BlockHeight,
    pub keys: WalletKeys
}

pub struct Wallet {
    pub wallet_name: String,
    pub version: u64,
    pub accounts: Vec<WalletAccount>
}

```

Explanation:  
A `Wallet` struct holds information about the source wallet, e.g. ZecWallet Lite, YWallet, and so on … and version number, for compatibility tracking.  
A `Wallet` also has one or more `WalletAccount`s, which hold a account name, seed and keys. The keys is yet another struct that contains sk, ivk, account index and key source (HD or imported)

### Parsing wallet files

I implemented parsers for ZecWallet lite, but it’s imcomplete, it can only parse ZecWallet files version 25 (latest), cannot parse encrypted wallet files and cannot parse the birthday height.  
I also implemented basic YWallet parsing.

### Maybe Ze-WIF prototype?

I believe this lib and structs are basically the skeleton for a ZeWIF of some sorts. Just remove redundancies, serialize and encode this struct and there we go.

### WalletParser \<\> WalletWriter

Basically the project has a `WalletParser` and `WalletWriter` trait bounds, which when implemented can generate the struct mentioned above and save to another format.

As a test, I implemented a writer for YWallet, so the lib can parse a ZecWallet lite file, construct a `Wallet` struct and then write it to Ywallet compatible seqlite db. No tests was made to see if the generated wallet actually works, but at least it syncs.

I’m still very new to Rust development, but in this project I was trying to use generics to allow implementations for any wallet format in a easy manner, anyone fell free to fork the code and do your own parsers and writers.

### See it in action

If you wan to see the parsing in action, edit `cli/src/main.rs` and uncomment lines 6 and 17 (and maybe comment lines 7 and 8) , then run `cargo run` to see the the results (example wallet files are provided in the repo).

This was a learning project and should not be considered a production ready code.

I’m probably attending the zoom call, I want to learn more from the experts.

---

<div class="post-metadata">

**Author:** ![BC-Shannon](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/bc-shannon/32/30022_2.png) [@BC-Shannon](https://forum.zcashcommunity.com/u/BC-Shannon)\
**Post date:** [January 22, 2025, 1:32am UTC](https://forum.zcashcommunity.com/t/zcash-extensible-wallet-interchange-format-zewif-meeting/49927/5 "2025-01-22T01:32:49Z")

</div>

Hi folks, just a reminder that the meeting is this Friday at 10am PT. The Zoom link is in the initial post ([Launch Meeting - Zoom](https://us02web.zoom.us/j/86565418494?pwd=gaWzreS9TgMW1sO7NCX1uFJlmilYMi.1)).

On Friday, we’ll talk about where we are in the project so far and share some of work product (a survey of wallets and the start of a spreadsheet collating data so that we know what to extract).

Generally, we’re going to be looking for the following at the meeting:

- What is the 20% of data that will get you 80% of the value?
- What data might we be missing?
- What key-value matches should be updated for the format?

Basically, we want to make sure we’re capturing the most important data in the core format, but just as importantly we want to make sure that we don’t burden the format with the technical debt of data that’s no longer or poorly used. (Everything will ultimately be stored by our library and our best practice suggestions, but we need to figure out what data is core!)

Here’s a preview of the survey that also has a link to our spreadsheet to date (there’s a few days of work still to do before we close out, but we’re closing on a standardized way to list out data and have zcashd and zecwallet contents listed out).

> **[GitHub - dorianvp/zcash-wallet-formats: Zcash Wallet Survey](https://github.com/dorianvp/zcash-wallet-formats/)**
>
> Zcash Wallet Survey

---

<div class="post-metadata">

**Author:** ![decentralistdan](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/decentralistdan/32/28747_2.png) [@decentralistdan](https://forum.zcashcommunity.com/u/decentralistdan)\
**Post date:** [January 24, 2025, 5:59pm UTC](https://forum.zcashcommunity.com/t/zcash-extensible-wallet-interchange-format-zewif-meeting/49927/6 "2025-01-24T17:59:39Z")

</div>

Starting now:

> **[Join our Cloud HD Video Meeting](https://us02web.zoom.us/j/86565418494?pwd=gaWzreS9TgMW1sO7NCX1uFJlmilYMi.1)**
>
> Zoom is the leader in modern enterprise video communications, with an easy, reliable cloud platform for video and audio conferencing, chat, and webinars across mobile, desktop, and room systems. Zoom Rooms is the original software-based conference...

---

<div class="post-metadata">

**Author:** ![BC-Shannon](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/bc-shannon/32/30022_2.png) [@BC-Shannon](https://forum.zcashcommunity.com/u/BC-Shannon)\
**Post date:** [January 25, 2025, 12:34am UTC](https://forum.zcashcommunity.com/t/zcash-extensible-wallet-interchange-format-zewif-meeting/49927/7 "2025-01-25T00:34:31Z")

</div>

Thanks for everyone’s interest!

I created a new thread with the links to the meeting output and requests for comments on it & the survey to date:

> [@ZeWIF: First Meeting & First Results](https://forum.zcashcommunity.com/t/zewif-first-meeting-first-results/50159):
>
> We held out first meeting on the Zcash Extensible Wallet Interchange Format (ZeWIF) today and also presented the first results of our survey, with the intent of getting feedback and expertise before we close out the survey and our related spreadsheet of data at the end of this month. The initial survey is at [zcash-wallet-formats/README.md at master · dorianvp/zcash-wallet-formats · GitHub](https://github.com/dorianvp/zcash-wallet-formats/blob/master/README.md). It currently includes a look at the Zcashd, Zecwallet, Zingo, eZcash, Zashi, and YWallet wallets. The st…

---

<div class="post-metadata">

**Author:** ![Reiko](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/reiko/32/31698_2.png) [@Reiko](https://forum.zcashcommunity.com/u/Reiko)\
**Post date:** [February 5, 2025, 5:58pm UTC](https://forum.zcashcommunity.com/t/zcash-extensible-wallet-interchange-format-zewif-meeting/49927/8 "2025-02-05T17:58:55Z")

</div>

Hello folks

We have been receiving requests in the Zcash Brazil Community for the legacy Electrum Zcash wallet.

Could you let me know if the ZeWIF project will also support fund recovery for this wallet? (Considering that I haven’t seen it mentioned in the topics on this subject.)

---

<div class="post-metadata">

**Author:** ![zancas](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/zancas/32/42011_2.png) [@zancas](https://forum.zcashcommunity.com/u/zancas)\
**Post date:** [February 5, 2025, 7:29pm UTC](https://forum.zcashcommunity.com/t/zcash-extensible-wallet-interchange-format-zewif-meeting/49927/9 "2025-02-05T19:29:19Z")

</div>

Hi, can you provide more resources here? Does electrum have a github repo?

---

<div class="post-metadata">

**Author:** ![E-zec](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/e-zec/32/29347_2.png) [@E-zec](https://forum.zcashcommunity.com/u/E-zec)\
**Post date:** [February 5, 2025, 9:06pm UTC](https://forum.zcashcommunity.com/t/zcash-extensible-wallet-interchange-format-zewif-meeting/49927/10 "2025-02-05T21:06:59Z")

</div>

- [GitHub - Electrum-Zcash/electrum-zec: Electrum Zcash (ZEC) Wallet - offering private, secure, and fast transactions, featuring support for shielded addresses.](https://github.com/Electrum-Zcash/electrum-zec)

- [GitHub - zebra-lucky/electrum-zcash: Zcash fork of electrum wallet](https://github.com/zebra-lucky/electrum-zcash)

These are the repositories I found, I think the more old structures we can reach, the more positive the feedback on the zeWIF product

hope it helps!

---

<div class="post-metadata">

**Author:** ![E-zec](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/e-zec/32/29347_2.png) [@E-zec](https://forum.zcashcommunity.com/u/E-zec)\
**Post date:** [February 5, 2025, 9:13pm UTC](https://forum.zcashcommunity.com/t/zcash-extensible-wallet-interchange-format-zewif-meeting/49927/11 "2025-02-05T21:13:35Z")

</div>

This is the case presented for people in the community

´´goodnight! I’ve always used Electrum-Zcash, but I’m experimenting with other software. I need help importing private keys as I’m not a fan of “seeds”. I have already looked in the documentation and wallets recommended by the community, but I was unable to solve my problem with importing my old Zcash wallets.

I tried using WIF as per the Zcash documentation, but it didn’t work. One of my wallets, which has 130 reais, accepted the seed, but showed the message: “Not enough funds to pay for the fees”. When I use WIF, the message is: “Invalid Key”.

My private keys are for uncompressed addresses. Also, I tried to consolidate all the wallets, but the indexing has been running since Monday, and I get the error message: “error code: -28 error message: This wallet operation is disabled while reindexing”.

I appreciate any help you can offer.``
