Skip to main content
Modular wallets sign offchain messages for Sign-In With Ethereum (SIWE) authentication, EIP-712 typed data for offchain orders, and other flows where your backend or a contract needs to prove the user authorized the data. Plain messages and EIP-712 typed data are two independent flows. The examples below use the smartAccount, client (Web SDK), bundlerClient (iOS, Android), and modularTransport (iOS, Android) returned by Create a modular wallet.

Sign and verify a plain message

Use signMessage for plain strings, such as SIWE messages or human-readable consent strings. The Web SDK verifies through viem’s verifyMessage. iOS and Android verify by calling isValidSignature on the smart account contract directly.

Sign and verify EIP-712 typed data

Use signTypedData for structured data. Define the domain, types, and message, and the SDK produces an EIP-712 signature your contracts and backend can verify.