Skip to main content
Signing creates a signature without submitting a transaction. Each wallet family has its own methods: the EVM methods require an active Ethereum wallet, and the Solana and Tron methods require an active wallet of that family. Calling a method with an active wallet of another family throws OMSWalletValidationException before any request. Verification can target any wallet. Pass walletAddress to verify a signature from a specific address, even while signed out. Omit it to verify against the active wallet’s address, which then requires an active session and a wallet of the method’s family.

Sign and verify a message

The message API accepts only String. It does not provide a byte-array or hexadecimal-message overload.
Verify with the exact original string and network. Verification returns false for a signature that OMS does not validate; request or session failures throw an OMSWalletException. To verify a signature from a specific wallet, pass its address:

Sign and verify a Solana message

For a selected Solana wallet, use the Solana-specific methods. Off-chain messages do not take a network because they are not cluster-specific.

Sign and verify EIP-712 typed data

Typed data uses JsonElement. Build the complete EIP-712 payload expected by the application and contract:
Use the same typed-data value and network for verification. isValidTypedDataSignature also accepts walletAddress. Verification does not create a transaction.

Sign and verify Tron messages and typed data

For a selected Tron wallet, use the Tron-specific methods. They do not take a network.
signTronTypedData and isValidTronTypedDataSignature sign and verify TIP-712 typed data. Build the complete TIP-712 payload as a JsonElement, as in the EIP-712 example. Address values in the payload may be Base58Check strings that start with T.
Both Tron verification methods accept an optional Base58Check walletAddress.