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

> Prompt the user to review, sign, and send a gasless transaction with their wallet

# Send transaction

<Frame>
  <img width="300" noZoom src="https://mintcdn.com/walletkit-docs/7aZXvKfTnGcrV8aq/images/connect_send_transaction.png?fit=max&auto=format&n=7aZXvKfTnGcrV8aq&q=85&s=b964e5459a4dfd739bbb02b70a7acb0b" data-path="images/connect_send_transaction.png" />
</Frame>

WalletKit prompts the user with a modal that shows the transaction details along
with any expected changes in assets. The user can then review and sign the transaction using their 6-digit pin.

<CodeGroup>
  ```typescript React theme={null}
  import { useWalletKitLink } from "@walletkit/react-link";
  import { parseEther } from "viem";

  export function App() {
    const walletKit = useWalletKitLink();
    const [hash, setHash] = useState("");

    const sendTransaction = async () => {
      const hash = await walletKit.signAndSendTransactions([
        {
          to: "0xc6FfEB1298Eb33Da430d14e5Eb789256ec344625",
          value: parseEther("0.01"),
        },
      ]);
      setHash(hash);
    };

    return (
      <div>
        <button onClick={() => sendTransaction()}>Send Transaction</button>
        {hash ? <div>Transaction: {hash}</div> : null}
      </div>
    );
  }
  ```

  ```typescript wagmi theme={null}
  import { useSendTransaction } from "wagmi";
  import { parseEther } from "viem";

  function App() {
    const { data, isLoading, isSuccess, sendTransaction } = useSendTransaction({
      to: "0xc6FfEB1298Eb33Da430d14e5Eb789256ec344625",
      value: parseEther("0.01"),
    });

    return (
      <div>
        <button onClick={() => sendTransaction()}>Send Transaction</button>
        {isLoading && <div>Check Wallet</div>}
        {isSuccess && <div>Transaction: {JSON.stringify(data)}</div>}
      </div>
    );
  }
  ```
</CodeGroup>
