Skip to content

Conversation

@basfroman
Copy link
Collaborator

Validator Claim Type Delegation

This PR implements validator claim type delegation, allowing validators to set their claim behavior (Swap/Keep) per subnet. Stakers with Delegated claim type will inherit the validator's claim type when claiming root emissions.

New Methods

  • subtensor.get_validator_claim_type(hotkey_ss58, netuid) - Get validator's claim type for a subnet
  • subtensor.set_validator_claim_type(wallet, hotkey_ss58, netuid, new_claim_type) - Set validator's claim type
  • set_validator_claim_type_extrinsic - Low-level extrinsic calls (sync/async)

NOTE: Validator can't set Delegated claim type

Think of this logic like this:

  • The validator is the chef who chooses the menu (Swap/Keep) for their restaurant (subnet)
  • The staker with Delegated is the guest who says "I'll have whatever the chef recommends"
  • The staker with Swap/Keep is the guest who orders a specific dish regardless of chef's recommendation
  • If the chef says "as the guest decides" and the guest says "as the chef decides", the decision is undecided. (This is why the validator can't set Delegated.)

Example

  • Validator Alice sets Keep on subnet 2
  • Staker Charlie has Delegated claim type (default)
  • When Charlie claims root emissions, they inherit Alice's Keep behavior → alpha stays on subnet 2, not swapped to TAO

Testing

  • All tests pass successfully on a locally compiled node.

Subtensor base PR: opentensor/subtensor#2224

@basfroman basfroman self-assigned this Dec 9, 2025
@basfroman basfroman added feature new feature added do not merge labels Dec 9, 2025
@basfroman basfroman mentioned this pull request Dec 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge feature new feature added

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants