# Sign Messages

> Documentation index: [llms.txt](https://namera.ai/llms.txt).

Source: https://namera.ai/docs/cli/guides/signing/sign-messages

Create an account signature for a UTF-8 message.

Install the CLI and [sign in](https://namera.ai/docs/cli/authentication). Replace the example
account ID, session-key ID, and recipient with your own. Use an active key
installed on **Base Sepolia** with permission for the operation.

The key must allow message signing on that network. Transfer-only permissions
are not sufficient.

## Sign the Message [#sign-the-message]

```sh
namera sign \
  --namespace evm \
  --wallet 0199dfe1-0000-7000-8000-000000000001 \
  --session-key 0199dfe1-0000-7000-8000-000000000002 \
  --network 'Base Sepolia' \
  --type message \
  --message 'Hello from Namera'
```

<div className="docs-response">

```text
Signature created
-> Account: 👛 Example account
-> Network: Base Sepolia
-> Session key: Example session
-> Type: Message
-> Signature: 0x0000000100111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111b
```

</div>

The command does not broadcast a transaction. The signature is for the smart
account, not a plain externally owned account signature.

## Save the Signature [#save-the-signature]

Use `--output json` when passing the signature to another application:

```sh
namera --output json sign \
  --namespace evm \
  --wallet 0199dfe1-0000-7000-8000-000000000001 \
  --session-key 0199dfe1-0000-7000-8000-000000000002 \
  --network 'Base Sepolia' \
  --type message \
  --message 'Hello from Namera'
```

This is another signing operation, not a read of the previous result. Choose the
output mode before signing rather than rerunning just to change formatting.

<div className="docs-response">

```json
{
  "namespace": "eip155",
  "walletId": "0199dfe1-0000-7000-8000-000000000001",
  "chainId": "eip155:84532",
  "account": "0x1111111111111111111111111111111111111111",
  "signature": "0x0000000100111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111b",
  "type": "message"
}
```

</div>

Keep the original message, account, and network with the signature. Use
[Verify Signatures](https://namera.ai/docs/cli/guides/signing/verify-signatures) to check it.
The fixture signature shown here is illustrative, not a signature to reuse.

Example output uses fixture accounts and hashes, captured with the CLI's output
formatters. Plain-text output is shown without terminal colors; your values and
relative expiry dates will differ.
