> ## Documentation Index
> Fetch the complete documentation index at: https://docs.phantom.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Send SOL

> Build and send a SOL transfer transaction to any wallet address using the Phantom Connect SDK.

Send native SOL tokens to another wallet.

<Tabs>
  <Tab title="React">
    ```tsx theme={null}
    import { useSolana } from "@phantom/react-sdk";
    import {
      Connection,
      PublicKey,
      VersionedTransaction,
      TransactionMessage,
      SystemProgram,
      LAMPORTS_PER_SOL,
    } from "@solana/web3.js";

    function SendSOL() {
      const { solana } = useSolana();

      const send = async (to: string, amount: number) => {
        const connection = new Connection("https://api.mainnet-beta.solana.com");
        const { blockhash } = await connection.getLatestBlockhash();
        const from = new PublicKey(await solana.getPublicKey());

        const transaction = new VersionedTransaction(
          new TransactionMessage({
            payerKey: from,
            recentBlockhash: blockhash,
            instructions: [
              SystemProgram.transfer({
                fromPubkey: from,
                toPubkey: new PublicKey(to),
                lamports: amount * LAMPORTS_PER_SOL,
              }),
            ],
          }).compileToV0Message()
        );

        const { signature } = await solana.signAndSendTransaction(transaction);
        console.log("Transaction:", signature);
        return signature;
      };

      return (
        <button onClick={() => send("RECIPIENT_ADDRESS", 0.1)}>
          Send 0.1 SOL
        </button>
      );
    }
    ```
  </Tab>

  <Tab title="Browser SDK">
    ```typescript theme={null}
    import { BrowserSDK, AddressType } from "@phantom/browser-sdk";
    import {
      Connection,
      PublicKey,
      VersionedTransaction,
      TransactionMessage,
      SystemProgram,
      LAMPORTS_PER_SOL,
    } from "@solana/web3.js";

    const sdk = new BrowserSDK({
      providers: ["google", "apple", "injected"],
      appId: "your-app-id",
      addressTypes: [AddressType.solana],
    });

    async function sendSOL(to: string, amount: number) {
      const connection = new Connection("https://api.mainnet-beta.solana.com");
      const { blockhash } = await connection.getLatestBlockhash();
      const from = new PublicKey(await sdk.solana.getPublicKey());

      const transaction = new VersionedTransaction(
        new TransactionMessage({
          payerKey: from,
          recentBlockhash: blockhash,
          instructions: [
            SystemProgram.transfer({
              fromPubkey: from,
              toPubkey: new PublicKey(to),
              lamports: amount * LAMPORTS_PER_SOL,
            }),
          ],
        }).compileToV0Message()
      );

      const { signature } = await sdk.solana.signAndSendTransaction(transaction);
      return signature;
    }
    ```
  </Tab>

  <Tab title="React Native">
    ```tsx theme={null}
    import { useSolana } from "@phantom/react-native-sdk";
    import {
      Connection,
      PublicKey,
      VersionedTransaction,
      TransactionMessage,
      SystemProgram,
      LAMPORTS_PER_SOL,
    } from "@solana/web3.js";
    import { View, Button, Alert, StyleSheet } from "react-native";

    function SendSOL() {
      const { solana } = useSolana();

      const send = async (to: string, amount: number) => {
        try {
          const connection = new Connection("https://api.mainnet-beta.solana.com");
          const { blockhash } = await connection.getLatestBlockhash();
          const from = new PublicKey(await solana.getPublicKey());

          const transaction = new VersionedTransaction(
            new TransactionMessage({
              payerKey: from,
              recentBlockhash: blockhash,
              instructions: [
                SystemProgram.transfer({
                  fromPubkey: from,
                  toPubkey: new PublicKey(to),
                  lamports: amount * LAMPORTS_PER_SOL,
                }),
              ],
            }).compileToV0Message()
          );

          const { signature } = await solana.signAndSendTransaction(transaction);
          Alert.alert("Success", `Transaction sent: ${signature}`);
          return signature;
        } catch (error) {
          Alert.alert("Error", error instanceof Error ? error.message : "Transaction failed");
          throw error;
        }
      };

      return (
        <View style={styles.container}>
          <Button
            title="Send 0.1 SOL"
            onPress={() => send("RECIPIENT_ADDRESS", 0.1)}
          />
        </View>
      );
    }

    const styles = StyleSheet.create({
      container: {
        padding: 20,
      },
    });
    ```
  </Tab>
</Tabs>
