Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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 methodStatusNotes
addmultisigaddressNot yet implementedBlocked on P2SH support in zcash_client_sqlite (#48, librustzcash#1370)
backupwalletNot plannedNot planned as an RPC; may become a CLI command (#49); robust backup is tracked in #195
dumpprivkeyNot planned#50
dumpwalletNot plannedAlready removed from zcashd itself (zcash#5513); a ZeWIF export is planned instead (#71)
encryptwalletOmittedNote: key material is always encrypted
getbalanceNot plannedUse z_getbalanceforaccount (#51)
getnewaddressOmittedUse z_getnewaccount + z_getaddressforaccount
getrawchangeaddressOmittedNote: change is handled internally
getreceivedbyaddressNot yet implemented#52
gettransactionNot plannedSuperseded by z_viewtransaction, which now includes its top-level fields (altered semantics); gettransaction cannot represent partially-shielded transactions correctly
getunconfirmedbalanceNot yet implemented#54
getwalletinfoImplemented (partial)Balance fields will not be populated — use dedicated balance methods (#55); most other fields are currently placeholders, and only unlocked_until is meaningful
importaddressNot yet implementedPlanned to import into the legacy transparent account (#56); if you have the public key or redeem script, z_importaddress covers this today
importprivkeyNot yet implemented#57
importpubkeyOmittedUse z_importaddress
importwalletOmittedUse z_importkey per key, or zallet migrate-zcashd-wallet; a CLI import may be considered (#81)
keypoolrefillOmittedNote: no key pool exists
listaddressesImplemented (altered)Changes
listaddressgroupingsNot planned#59
listlockunspentNot yet implementedPlanned with modified semantics (#60)
listreceivedbyaddressNot yet implemented#61
listsinceblockNot yet implemented#62
listtransactionsNot yet implementedProvided today in modified, account-scoped form as z_listtransactions (#63)
listunspentNot plannedSubsumed by z_listunspent, which now includes transparent outputs (changes, #64)
lockunspentNot yet implementedPlanned with modified semantics (#65)
sendmanyNot plannedUse z_sendmany, or z_sendfromaccount once implemented (#66, #217)
sendtoaddressNot plannedUse z_sendfromaccount once implemented (#217); z_sendmany covers most uses today (#67)
settxfeeOmittedZIP 317 fees are always used
signmessageNot yet implemented#68
walletconfirmbackupNot plannedInternal zcashd method not intended to be called directly (related: #201)
z_converttexImplemented
z_exportkeyImplemented
z_exportviewingkeyNot yet implementedPlanned as UFVK/UIVK export (#70)
z_exportwalletNot yet implementedPlanned as a ZeWIF export, likely a CLI operation rather than an RPC (#71)
z_getaddressforaccountImplemented (altered)Changes
z_getbalanceOmittedUse z_getbalanceforaccount
z_getbalanceforaccountImplemented
z_getbalanceforviewingkeyNot plannedImported viewing keys get accounts with UUIDs, so z_getbalanceforaccount covers them (#74)
z_getmigrationstatusOmittedNote: no Sprout support; may be revisited for a future pool migration (#481)
z_getnewaccountImplemented (altered)Changes
z_getnewaddressOmittedUse z_getnewaccount + z_getaddressforaccount
z_getnotescountImplemented
z_getoperationresultImplemented
z_getoperationstatusImplemented
z_gettotalbalanceImplemented (deprecated)include_watchonly = false is not yet honored; use the account-scoped z_getbalanceforaccount / z_getbalances instead (#324)
z_importkeyImplemented (altered)Sapling extended spending keys only
z_importviewingkeyNot yet implementedPlanned for Sapling keys, UFVKs, and UIVKs (#80)
z_importwalletOmittedUse z_importkey per key, or zallet migrate-zcashd-wallet; reconsideration tracked in #81
z_listaccountsImplemented (altered)Changes
z_listaddressesOmittedUse listaddresses
z_listoperationidsImplemented
z_listreceivedbyaddressNot yet implemented#84
z_listunifiedreceiversImplemented
z_listunspentImplemented (altered)Changes
z_mergetoaddressNot yet implemented#87
z_sendmanyImplemented (altered)Changes
z_setmigrationOmittedNote: no Sprout support; may be revisited for a future pool migration (#481)
z_shieldcoinbaseImplemented
z_viewtransactionImplemented (altered)Changes
zcbenchmarkOmittedNote
zcsamplejoinsplitOmittedSprout-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.