JSON-RPC method status
This page lists every wallet JSON-RPC method that zcashd provided, and its
status in Zallet. Use it to inventory your RPC usage before migrating.
Statuses:
- Implemented — available in Zallet with
zcashd-compatible semantics. - Implemented (altered) — available, but with altered semantics.
- Not yet implemented — intentionally absent so far; implementation is tracked in the linked issue. Whether each of these ships will be decided during the beta phase (#287).
- Not planned — not intended to be implemented; the Notes column says what to use instead. These reflect current team intent and may be revisited during the beta phase (#287).
- Omitted — intentionally not implemented; see the omitted methods table for replacements.
zcashd method | Status | Notes |
|---|---|---|
addmultisigaddress | Not yet implemented | Blocked on P2SH support in zcash_client_sqlite (#48, librustzcash#1370) |
backupwallet | Not planned | Not planned as an RPC; may become a CLI command (#49); robust backup is tracked in #195 |
dumpprivkey | Not planned | #50 |
dumpwallet | Not planned | Already removed from zcashd itself (zcash#5513); a ZeWIF export is planned instead (#71) |
encryptwallet | Omitted | Note: key material is always encrypted |
getbalance | Not planned | Use z_getbalanceforaccount (#51) |
getnewaddress | Omitted | Use z_getnewaccount + z_getaddressforaccount |
getrawchangeaddress | Omitted | Note: change is handled internally |
getreceivedbyaddress | Not yet implemented | #52 |
gettransaction | Not planned | Superseded by z_viewtransaction, which now includes its top-level fields (altered semantics); gettransaction cannot represent partially-shielded transactions correctly |
getunconfirmedbalance | Not yet implemented | #54 |
getwalletinfo | Implemented (partial) | Balance fields will not be populated — use dedicated balance methods (#55); most other fields are currently placeholders, and only unlocked_until is meaningful |
importaddress | Not yet implemented | Planned to import into the legacy transparent account (#56); if you have the public key or redeem script, z_importaddress covers this today |
importprivkey | Not yet implemented | #57 |
importpubkey | Omitted | Use z_importaddress |
importwallet | Omitted | Use z_importkey per key, or zallet migrate-zcashd-wallet; a CLI import may be considered (#81) |
keypoolrefill | Omitted | Note: no key pool exists |
listaddresses | Implemented (altered) | Changes |
listaddressgroupings | Not planned | #59 |
listlockunspent | Not yet implemented | Planned with modified semantics (#60) |
listreceivedbyaddress | Not yet implemented | #61 |
listsinceblock | Not yet implemented | #62 |
listtransactions | Not yet implemented | Provided today in modified, account-scoped form as z_listtransactions (#63) |
listunspent | Not planned | Subsumed by z_listunspent, which now includes transparent outputs (changes, #64) |
lockunspent | Not yet implemented | Planned with modified semantics (#65) |
sendmany | Not planned | Use z_sendmany, or z_sendfromaccount once implemented (#66, #217) |
sendtoaddress | Not planned | Use z_sendfromaccount once implemented (#217); z_sendmany covers most uses today (#67) |
settxfee | Omitted | ZIP 317 fees are always used |
signmessage | Not yet implemented | #68 |
walletconfirmbackup | Not planned | Internal zcashd method not intended to be called directly (related: #201) |
z_converttex | Implemented | |
z_exportkey | Implemented | |
z_exportviewingkey | Not yet implemented | Planned as UFVK/UIVK export (#70) |
z_exportwallet | Not yet implemented | Planned as a ZeWIF export, likely a CLI operation rather than an RPC (#71) |
z_getaddressforaccount | Implemented (altered) | Changes |
z_getbalance | Omitted | Use z_getbalanceforaccount |
z_getbalanceforaccount | Implemented | |
z_getbalanceforviewingkey | Not planned | Imported viewing keys get accounts with UUIDs, so z_getbalanceforaccount covers them (#74) |
z_getmigrationstatus | Omitted | Note: no Sprout support; may be revisited for a future pool migration (#481) |
z_getnewaccount | Implemented (altered) | Changes |
z_getnewaddress | Omitted | Use z_getnewaccount + z_getaddressforaccount |
z_getnotescount | Implemented | |
z_getoperationresult | Implemented | |
z_getoperationstatus | Implemented | |
z_gettotalbalance | Implemented (deprecated) | include_watchonly = false is not yet honored; use the account-scoped z_getbalanceforaccount / z_getbalances instead (#324) |
z_importkey | Implemented (altered) | Sapling extended spending keys only |
z_importviewingkey | Not yet implemented | Planned for Sapling keys, UFVKs, and UIVKs (#80) |
z_importwallet | Omitted | Use z_importkey per key, or zallet migrate-zcashd-wallet; reconsideration tracked in #81 |
z_listaccounts | Implemented (altered) | Changes |
z_listaddresses | Omitted | Use listaddresses |
z_listoperationids | Implemented | |
z_listreceivedbyaddress | Not yet implemented | #84 |
z_listunifiedreceivers | Implemented | |
z_listunspent | Implemented (altered) | Changes |
z_mergetoaddress | Not yet implemented | #87 |
z_sendmany | Implemented (altered) | Changes |
z_setmigration | Omitted | Note: no Sprout support; may be revisited for a future pool migration (#481) |
z_shieldcoinbase | Implemented | |
z_viewtransaction | Implemented (altered) | Changes |
zcbenchmark | Omitted | Note |
zcsamplejoinsplit | Omitted | Sprout-specific benchmarking helper; no Sprout support |
Methods Zallet adds
Zallet also provides methods that zcashd’s wallet did not have:
getwalletstatus— wallet and sync status.z_getaccount— details for a single account.z_getbalances— balances for all accounts.z_importaddress— import a transparent P2PKH public key or P2SH redeem script into an account.z_listtransactions— account-scoped transaction listing.z_recoveraccounts— re-create accounts from existing seeds.rpc.discover— an OpenRPC description of the full interface.
Zallet additionally implements these methods that lived outside zcashd’s
wallet category: getrawtransaction (with
altered semantics), decoderawtransaction,
decodescript, validateaddress, verifymessage, help, and stop, plus
the wallet encryption methods walletlock and walletpassphrase.