Queried by: developerswalletsanalytics
The Big Picture
Freezes are balance locks that may overlap with other locks. Unlike reserves which set aside specific amounts, freezes mark portions of free balance as non-transferable. Used for staking, governance, and other temporary locks.
Use Cases
- Debug why balance appears locked
- Track frozen amounts by reason
- Build freeze analytics dashboards
From Chain Metadata
Freeze locks on account balances.
Purpose & Usage
Purpose
Track funds frozen for various reasons like staking or governance.
Common Query Patterns
- Query by account address
- List all freezes for an account
Query Keys
| # | Name | Type | Description |
|---|---|---|---|
| 1 | accountId account raw: key1 | AccountId [u8; 32] | key1 (AccountId) (hex -> SS58) |
Stored Value
value (BoundedVec)
Default Value
0x00 (raw SCALE bytes)
Absent keys read as this value — querying a key that has never been written returns this default, not an error or empty result.
Code Examples
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);
// Query Freezes storage
const key1 = "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";
const result = await api.query.Balances.Freezes.getValue(key1);
console.log("Freezes:", result);Runtime Info
- Pallet
- Balances
- Storage Kind
- Map
- First Version
- v149
- Current Version
- v472