> For the complete documentation index, see [llms.txt](https://docs.cometh.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cometh.io/core-features/sign-verify-a-message.md).

# Sign/Verify a message

With Cometh Connect, we deploy a smart account for our users.&#x20;

With Connect, we deploy the smart account at the first transaction of the user, allowing to reduce gas cost for our clients (it's a feature called lazy deployment). You might want to verify the signature of a wallet that is not yet deployed. We follow the [ERC6492 standard t](https://eips.ethereum.org/EIPS/eip-6492)o enable this.

In practice, this is what it looks like:

```typescript
import { createPublicClient, http } from "viem"

const message = "hello world";
const signature = await smartAccountClient.account.signMessage({ message });

export const publicClient = createPublicClient({
  chain,
  transport: http()
})

const valid = await publicClient.verifyMessage({
  address: smartAccountClient.account.address,
  message,
  signature,
})
```
