Proxies

Storage Map v149 → v411 Changed in v411

The set of account proxies. Maps accounts to their proxy delegates and deposit amounts.

Explore chain
Queried by: stakersvalidatorsdeveloperswalletsanalytics

The Big Picture

Every proxy relationship is stored here. When you add_proxy, an entry is created. When you remove_proxy, it's deleted. Query this to see all proxies for any account.

Why This Matters

Want to know who can act on behalf of an account? This storage tells you every proxy delegate, their type, and any delay requirements.

Example Scenario

Query Proxies(your_account) returns ([{delegate: 5Abc..., proxy_type: Staking, delay: 0}], 1000000000). You have one staking proxy with no delay, and 1 TAO deposit locked.

Use Cases

  • Display proxies in wallet UI
  • Verify proxy relationships before execution
  • Build proxy relationship graphs
  • Audit account security setup

From Chain Metadata

The set of account proxies. Maps the account which has delegated to the accounts which are being delegated to, together with the amount held on deposit.

Purpose & Usage

Purpose

Track all proxy relationships for an account - who can act on your behalf.

Common Query Patterns

  • Query by account to see all proxies
  • Check if an account has a specific proxy registered

Query Keys

#NameTypeDescription
1
delegator account
raw: key1
[u8; 32] [32] Account that has delegated proxy authority (AccountId32 as 32-byte array).

Stored Value

  • .0
    proxy_definitions — Bounded list of ProxyDefinition entries: each is (delegate AccountId, proxy_type, delay). The delegate accounts the delegator has authorized and on what call subset.
  • .1
    deposit — Native-currency deposit (u64 in RAO units on subtensor) held against this proxy configuration. Returned to the delegator when proxies are removed.

Relationships

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

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

On-Chain Activity

Write Frequency
●●○○○○ Minimal <10K est. writes

<10K estimated writes

#53 most written storage item

Write Source User Extrinsics

Modified via user-submitted extrinsics

As of block 7,429,232

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
v202 block 3,848,823 Internal re-bind
v203–v204 · runtime versions skipped on chain (never deployed)
v205 block 4,209,446 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
v220–v232 · runtime versions skipped on chain (never deployed)
v233 block 4,920,350 Internal re-bind
v235–v237 · runtime versions skipped on chain (never deployed)
v238 block 4,936,550 Internal re-bind
v253–v256 · runtime versions skipped on chain (never deployed)
v257 block 5,228,683 Internal re-bind
v259–v260 · runtime versions skipped on chain (never deployed)
v261 block 5,328,895 Internal re-bind
v266–v272 · runtime versions skipped on chain (never deployed)
v273 block 5,659,032 Internal re-bind
v275–v275 · runtime versions skipped on chain (never deployed)
v276 block 5,781,672 Internal re-bind
v278–v289 · runtime versions skipped on chain (never deployed)
v290 block 5,947,548 Internal re-bind
v293–v296 · runtime versions skipped on chain (never deployed)
v297 block 6,067,943 Internal re-bind
v316–v319 · runtime versions skipped on chain (never deployed)
v320 block 6,523,566 Internal re-bind
v324–v325 · runtime versions skipped on chain (never deployed)
v326 block 6,608,228 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
v363–v364 · runtime versions skipped on chain (never deployed)
v365 block 7,135,419 Internal re-bind
v378–v384 · runtime versions skipped on chain (never deployed)
v385 block 7,782,670 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
v403–v410 · runtime versions skipped on chain (never deployed)
v411 block 8,283,784 Internal re-bind Current

Runtime Info

Pallet
Proxy
Storage Kind
Map
First Version
v149
Current Version
v411