Skip to main content
In this example, we are going to send native TON.
import { useDynamicContext } from '@dynamic-labs/sdk-react-core';
import { isTonWallet } from '@dynamic-labs/ton';

const SendTonButton = () => {
  const { primaryWallet } = useDynamicContext();

  const onSendTon = async () => {
    if (!primaryWallet || !isTonWallet(primaryWallet)) {
      throw new Error('TON wallet not found');
    }

    // Send TON using sendBalance
    const transactionHash = await primaryWallet.sendBalance({
      amount: '0.1', // Amount in TON
      toAddress: 'UQDrjaLahLkMB-hMCmkzOyBuHJ186Qg_CZQhrOhIPBr0oDkB',
    });

    console.log('Transaction hash:', transactionHash);
  };

  return <button onClick={onSendTon}>Send TON</button>;
};