# network_pow_registration_allowed (/docs/hyperparameters/network-pow-registration-allowed)

`network_pow_registration_allowed` is the per-subnet flag that historically
let owners choose whether miners could register by proof-of-work (grinding
nonces against [`difficulty`](/docs/hyperparameters/difficulty)) or only by
burning TAO. Miners reading the metagraph still see the flag, but on the
current runtime it is a deprecated remnant: PoW registration has been
retired chain-wide.

## How it works [#how-it-works]

Storage is `NetworkPowRegistrationAllowed` in
`pallets/subtensor/src/lib.rs`, exposed through the metagraph RPC as
`pow_registration_allowed`. Two pieces of code make its deprecation
concrete:

* The migration `migrate_clear_deprecated_registration_maps`
  (`pallets/subtensor/src/migrations/`) cleared every stored entry, so all
  subnets read the storage default.
* The AdminUtils setter `sudo_set_network_pow_registration_allowed`
  (`pallets/admin-utils/src/lib.rs`, call index 20) no longer writes
  anything — it unconditionally returns the `POWRegistrationDisabled`
  error.

Independently, the PoW `register` extrinsic
(`pallets/subtensor/src/macros/dispatches.rs`) ignores its work arguments
and routes to the burned-registration path, so the flag has nothing left to
gate. Both ends of the wire are cut:

<HyperparamPowToggleDeadEnd />

## Reading and setting [#reading-and-setting]

```
btcli sudo get --netuid N --name network_pow_registration_allowed
```

Nominally owner-settable as a boolean:

```
btcli sudo set --netuid N --name network_pow_registration_allowed --value false
```

but on the current runtime the underlying extrinsic always fails with
`POWRegistrationDisabled`, so the value cannot actually be changed.

## Related [#related]

[`registration_allowed`](/docs/hyperparameters/registration-allowed) ·
[`difficulty`](/docs/hyperparameters/difficulty) ·
[`min_difficulty`](/docs/hyperparameters/min-difficulty) ·
[`max_difficulty`](/docs/hyperparameters/max-difficulty) ·
[`min_burn`](/docs/hyperparameters/min-burn) ·
[`max_burn`](/docs/hyperparameters/max-burn)
