> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://www.openfort.io/api/mcp` to find what you need.
>
> **Have feedback?** Use `submit_feedback` on the same MCP server.

# Wallet actions

After initializing `OpenfortProvider` and creating an embedded wallet, you can execute transactions from React Native. The transaction model differs between Ethereum and Solana:

* **Ethereum**: Smart account calls via [`wallet_sendCalls`](https://www.openfort.io/docs/products/cross-app-wallet/rpc/wallet_sendCalls) with optional gas sponsorship
* **Solana**: Transaction signing via [`@solana/kit`](https://www.npmjs.com/package/@solana/kit) with Ed25519 signatures

Every action on this page starts from the chain's wallet hook — `useEmbeddedEthereumWallet` or `useEmbeddedSolanaWallet`. Both return a union discriminated on `status`, and `provider` only exists on the `'connected'` variant, so narrow on it before signing or sending:

```tsx
const ethereum = useEmbeddedEthereumWallet()
if (ethereum.status !== 'connected') return null
// ethereum.provider and ethereum.activeWallet are safe to read here
```

## Ethereum

* [Send transaction](https://www.openfort.io/docs/products/embedded-wallet/react-native/wallet/actions/send-transaction/ethereum) — Send ERC-20 transfers and contract calls, with optional gas sponsorship.
* [Sign message](https://www.openfort.io/docs/products/embedded-wallet/react-native/wallet/actions/sign-message) — Sign hex-encoded personal messages and EIP-712 typed data on the Ethereum provider.
* [EIP-7702 authorization](https://www.openfort.io/docs/products/embedded-wallet/react-native/wallet/actions/eip-7702-authorization) — Sign the one-time, per-chain authorization that gives a delegated account smart account features.

## Solana

* [Send transaction](https://www.openfort.io/docs/products/embedded-wallet/react-native/wallet/actions/send-transaction/solana) — Send SOL transfers and sign Solana transactions with @solana/kit.
* [Sign message](https://www.openfort.io/docs/products/embedded-wallet/react-native/wallet/actions/sign-message-solana) — Sign arbitrary messages using Ed25519 Solana signatures.

## Both chains

* [Export a wallet](https://www.openfort.io/docs/products/embedded-wallet/react-native/wallet/actions/export-key) — Call exportPrivateKey() on either wallet hook to hand the user their key.

:::info
Ethereum and Solana wallets are separate embedded accounts, and the SDK tracks one active account at a time. Activating a Solana wallet leaves `useEmbeddedEthereumWallet` with `activeWallet: null`, and the reverse holds too — call `setActive` on the hook for the chain you're about to use.
:::
