> For the complete documentation index, see [llms.txt](https://docs.fuelet.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fuelet.app/wallet-api/signing-messages.md).

# Signing messages

You can request a user to sign a message with a private key of his connected account. This can be achieved in two ways.

You can call the `signMessage` on the `fuel` object providing the account address (in [Bech32 format](https://fuellabs.github.io/fuels-ts/guide/types/bech32.html)) you want to sign message with, and the message itself:

{% tabs %}
{% tab title="TypeScript" %}

```javascript
const signature = await fuel.signMessage('fuel1j0nym7r7twmy8cs6gx2yhd042n38znkeghyjw3dtp0g6tkju34zq2fwltf', 'Message to sign');
console.log("Sign message response", signature);
```

{% endtab %}
{% endtabs %}

Or you can get an instance of the wallet first and then call the `signMessage` method on it:

{% tabs %}
{% tab title="TypeScript" %}

```javascript
const wallet = await fuel.getWallet('fuel1j0nym7r7twmy8cs6gx2yhd042n38znkeghyjw3dtp0g6tkju34zq2fwltf');
const signature = await wallet.signMessage('Message to sign');
console.log("Sign message response", signature);
```

{% endtab %}
{% endtabs %}

After calling any of the methods, the app will prompt the user to authorize the request. The following screen will appear:

<figure><img src="/files/xtItWIjvPOlWOQ1L32Ub" alt="" width="183"><figcaption></figcaption></figure>

Once the user approves the request, the promise is finalized with a string - the signature. If anything goes wrong, e.g. the user cancels the request, the method call will result in an exception.
