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
| # | Name | Type | Description |
|---|---|---|---|
| 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