# Sign message

Sign arbitrary messages using your Openfort Solana embedded wallet. Openfort uses Ed25519 for Solana wallets, which signs raw message bytes directly.

```tsx [SignSolanaMessage.tsx]
import { useEmbeddedSolanaWallet } from '@openfort/react-native'

function SignSolanaMessage() {
  const solana = useEmbeddedSolanaWallet()

  const handleSignMessage = async () => {
    if (solana.status !== 'connected') return

    const signature = await solana.provider.signMessage('Hello from Openfort!')
    console.log('Signature:', signature)
  }

  return (
    <Button
      title="Sign Message"
      onPress={handleSignMessage}
      disabled={solana.status !== 'connected'}
    />
  )
}
```

:::info
The Solana provider's `signMessage` accepts a `string` argument and returns a `Promise<string>`. Openfort uses Ed25519 for Solana wallets, which signs raw message bytes — no hashing options are needed.
:::
