# 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,
})
```
