Skip to Content
API ReferenceAvail node API referenceTransfer all funds from one account to another

Transfer all funds from one account to another

On-chain name of extrinsic: balances_transferAll

Parameters

parametertypeoptionaldescription
deststringfalseaccount that will receive funds
keepAlivebooleanfalseif set to false it will reap the account as well
waitForWaitForfalsewait for block inclusion or finalization
accountKeyringPairfalseaccount that will send and sign the transaction
optionsSignerOptionstrueused to overwrite existing signer options

Return value

On failure, a reason of failure is returned. On Success, TransferEvent event, KilledAccount (optionally) event, transaction hash and block hash is returned.

Minimal Example

  1. You will need to set up the dev environment required to run this example. For instructions, check out our docs here.

  2. If you’re sending an extrinsic (i.e conducting a transaction) you will need to replace the demo seed phrase with your own seed phrase. The rest of the code should work as is.

  1. Inside your-file-name.ts, add the following code:
avail-js
import * as dotenv from 'dotenv'; import { Account, SDK } from 'avail-js-sdk'; dotenv.config(); export async function transferAll() { // Initialize SDK with Turing endpoint const sdk = await SDK.New('wss://turing-rpc.avail.so/ws'); // Create account from seed in .env file const seed = process.env.SEED; if (!seed) { throw new Error("SEED environment variable is not set"); } // Create account from seed const account = Account.new(seed); console.log("Sender Address: ", account.address); // Destination address to send all available AVAIL to const destinationAddress = "5DDY2yzh8uCysYFAiRSTeQVwtZSKNF49CkQkyPH852xvrYKk"; console.log("Recipient Address: ", destinationAddress); // Setting this value to false will reap your account const keepAlive = true; // Create transfer all transaction const tx = sdk.tx.balances.transferAll(destinationAddress, keepAlive); console.log("Submitting transfer all transaction..."); // Execute and wait for inclusion const res = await tx.executeWaitForInclusion(account, {}); // Check if transaction was successful const isOk = res.isSuccessful(); if (isOk === undefined) { throw new Error("Cannot check if transaction was successful"); } else if (!isOk) { throw new Error("Transaction failed"); } console.log("Transfer all completed successfully"); console.log(`Transaction Hash: ${res.txHash}`); console.log(`Block Hash: ${res.blockHash}`); console.log(`Block Number: ${res.blockNumber}`); process.exit(0); } // Execute the function transferAll();
  1. Run the code using:
terminal
ts-node your-file-name.ts
Last updated on