Overview
The WalletService provides a comprehensive gRPC API for interacting with the Muun Wallet libwallet. It includes operations for NFC security cards, diagnostic mode, recovery code setup, and key-value storage.Service Definition
Security Card Operations
SetupSecurityCard
Initialize a new NFC security card and retrieve its extended public key. Request:google.protobuf.Empty
Response: XpubResponse
The base58-encoded extended public key of the security card
SetupSecurityCardV2
Initialize a new NFC security card (V2 protocol) with enhanced validation. Request:google.protobuf.Empty
Response: SetupSecurityCardResponse
Indicates whether the card provider is recognized
Indicates whether the card has been previously used
SignMessageSecurityCard
Sign a message using the NFC security card. Request:SignMessageSecurityCardRequest
The message to sign, encoded in hexadecimal format
SignMessageSecurityCardResponse
The signed message in hexadecimal format
Indicates whether the signature was successfully validated
ResetSecurityCard
Reset the NFC security card to its factory state. Request:google.protobuf.Empty
Response: google.protobuf.Empty
SignMessageSecurityCardV2
Sign a message using the NFC security card (V2 protocol). Request:google.protobuf.Empty
Response: google.protobuf.Empty
Diagnostic Mode Operations
See Diagnostic Mode APIs for detailed documentation.Recovery Code Setup
StartChallengeSetup
Initiate the recovery code challenge setup process. Request:ChallengeSetupRequest
The type of challenge being set up
The public key for the recovery code
Salt value for key derivation
The encrypted private key
Version number of the challenge setup protocol
SetupChallengeResponse
The Muun server key (optional)
Fingerprint of the Muun key for verification (optional)
FinishRecoveryCodeSetup
Complete the recovery code setup process. Request:FinishRecoveryCodeSetupRequest
The recovery code public key in hexadecimal format
google.protobuf.Empty
PopulateEncryptedMuunKey
Populate the encrypted Muun key during recovery setup. Request:PopulateEncryptedMuunKeyRequest
The recovery code public key in hexadecimal format
google.protobuf.Empty
Key-Value Storage Operations
See Key-Value Storage APIs for detailed documentation.Error Handling
All RPC methods may return errors with the following structure:The category of error (CLIENT, LIBWALLET, or HOUSTON)
Numeric error code for programmatic handling
Human-readable error message
Detailed error message for debugging
Source Reference
Protobuf definition:libwallet/presentation/api/wallet_service.proto