```{eval-rst} .. tutorials-send-funds: ``` # Send funds Once you have a wallet and some funds ([tutorial](../tutorials/create-and-fund-a-wallet.md)), another common task is sending Dash to an address. (Sending Dash to a contact or a DPNS identity requires the Dashpay app, which has not been registered yet.) # Code > 📘 Wallet Sync > > Since the SDK does not cache wallet information, lengthy re-syncs (5+ minutes) may be required for some Core chain wallet operations. See [Wallet Operations](./setup-sdk-client.md#wallet-operations) for options. ```javascript const setupDashClient = require('../setupDashClient'); const client = setupDashClient(); const sendFunds = async () => { const account = await client.getWalletAccount(); const transaction = account.createTransaction({ recipient: 'yP8A3cbdxRtLRduy5mXDsBnJtMzHWs6ZXr', // Testnet2 faucet satoshis: 100000000, // 1 Dash }); return account.broadcastTransaction(transaction); }; sendFunds() .then((d) => console.log('Transaction broadcast!\nTransaction ID:', d)) .catch((e) => console.error('Something went wrong:\n', e)) .finally(() => client.disconnect()); // Handle wallet async errors client.on('error', (error, context) => { console.error(`Client error: ${error.name}`); console.error(context); }); ``` # What's Happening After initializing the Client, we build a new transaction with `account.createTransaction`. It requires a recipient and an amount in satoshis (often called "duffs" in Dash). 100 million satoshis equals one Dash. We pass the transaction to `account.broadcastTransaction` and wait for it to return. Then we output the result, which is a transaction ID. After that we disconnect from the Client so node can exit.