force_set_balance

Call v149 → current #8

Sets an account balance to a specific value (root only).

View calls on chain

Click items to navigate. Pan and zoom to explore.

Used by: validators

The Big Picture

A root-only escape hatch to directly set an account balance. Used in emergencies when normal transfer mechanisms cannot fix a problem.

Use Cases

  • Emergency balance corrections
  • Genesis state setup
  • Recovery from bugs

From Chain Metadata

See [`Pallet::force_set_balance`].

Input Parameters

#NameTypeDescription
0
who
MultiAddress AccountIdLookupOf<T>who: Account address as a lookup source (typically resolves to AccountId)
1
new_free
Compact<u64> Cpt T::Balancenew_free: Balance in chain native currency (RAO for TAO; ÷10⁹) (SCALE compact -> integer)

Permissions

Origin
Unknown
Required Role

Permission data inferred from metadata. May be incomplete.

Requirements

  • Caller is root account
  • Target account specified

Effects

Events Emitted

Storage Modified

Postconditions

  • Target account free balance set to new_free
  • BalanceSet event emitted

Side Effects

  • May create account if it did not exist
  • May affect TotalIssuance
  • Bypasses normal transfer checks

Code Examples

// ----------------------------------------------------------------------
// HEADS UP: 1 arg below has a complex type with no usable default.
// Look for `undefined as any` and replace it with real value
// before running — the snippet compiles, but will fail at runtime as-is.
// ----------------------------------------------------------------------
import { createClient, Binary } from "polkadot-api";
import { getWsProvider } from "polkadot-api/ws";
import { sub } from "@polkadot-api/descriptors"; // generated by: npx papi add sub -w wss://entrypoint-finney.opentensor.ai:443

const client = createClient(getWsProvider("wss://entrypoint-finney.opentensor.ai:443"));
const api = client.getTypedApi(sub);

// Build force_set_balance call (typed, named args)
const who = undefined as any /* MultiAddress — replace with real value */;
const new_free = 0n;

const tx = api.tx.Balances.force_set_balance({
  who,
  new_free,
});

Runtime Info

Pallet Index
5
Call Index
8
First Version
v149
Current Version
v411