Sign and verify a message
signMessage requires an active session. When verification omits both walletAddress and walletId, the SDK targets the active wallet ID, so this form also depends on active wallet state.
Verify an explicit wallet publicly
PasswalletAddress or walletId to remove the verification call’s dependency on an active session. The client still needs the project’s publishable key.
Sign and verify typed data
typedData is typed as unknown in both public parameter interfaces. The SDK accepts a JSON-compatible typed-data object and converts nested bigint values to decimal strings for the wallet API. Use the same semantic typed data for signing and verification.
The explicit walletAddress above makes verification use the public target path, but signTypedData still requires the active session that produced the address. If you already know the target address or wallet ID and signature, you can verify with a newly constructed unauthenticated client as shown for messages.
isValidMessageSignature and isValidTypedDataSignature return Promise<boolean>. A false result means the signature did not validate for the supplied target and payload; request or response failures still throw SDK errors.