Holds

Storage Map v149 → v411

Held balance entries with reason identifiers.

Explore chain
Queried by: developerswalletsanalytics

The Big Picture

Holds are the modern replacement for reserves in Substrate. Each hold has an identifier explaining why funds are held. Provides better visibility into balance reservations than the older reserve system.

Use Cases

  • Understand why balance is reserved
  • Track holds by reason code
  • Debug balance availability issues

From Chain Metadata

Holds on account balances.

Purpose & Usage

Purpose

Track reserved balances with explicit reason codes for each hold.

Common Query Patterns

  • Query by account address
  • List all holds for an account

Query Keys

#NameTypeDescription
1
accountId account
raw: key1
[u8; 32] [32] key1 ([u8; 32])

Stored Value

value (BoundedVec)

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 Holds storage
const key1 = "0x0000000000000000000000000000000000000000000000000000000000000000";

const result = await api.query.Balances.Holds.getValue(key1);
console.log("Holds:", result);

Version History

v149 block 3,014,339 Added
v151 block 3,157,274 Internal re-bind
v154 block 3,308,611 Internal re-bind
v166–v194 · runtime versions skipped on chain (never deployed)
v195 block 3,791,350 Internal re-bind
v207–v209 · runtime versions skipped on chain (never deployed)
v210 block 4,345,556 Internal re-bind
v213–v215 · runtime versions skipped on chain (never deployed)
v216 block 4,510,996 Internal re-bind
v235–v237 · runtime versions skipped on chain (never deployed)
v238 block 4,936,550 Internal re-bind
v266–v272 · runtime versions skipped on chain (never deployed)
v273 block 5,659,032 Internal re-bind
v278–v289 · runtime versions skipped on chain (never deployed)
v290 block 5,947,548 Internal re-bind
v307–v314 · runtime versions skipped on chain (never deployed)
v315 block 6,414,634 Internal re-bind
v316–v319 · runtime versions skipped on chain (never deployed)
v320 block 6,523,566 Internal re-bind
v327–v333 · runtime versions skipped on chain (never deployed)
v334 block 6,811,690 Internal re-bind
v353–v360 · runtime versions skipped on chain (never deployed)
v361 block 7,063,679 Internal re-bind
v386–v390 · runtime versions skipped on chain (never deployed)
v391 block 7,782,857 Internal re-bind
v394–v400 · runtime versions skipped on chain (never deployed)
v401 block 8,036,576 Internal re-bind Current

Runtime Info

Pallet
Balances
Storage Kind
Map
First Version
v149
Current Version
v411